2 Commits

Author SHA1 Message Date
wxd e233bdd729 身份证提示 4 months ago
wxd 89eb10d9dc 订单 4 months ago
  1. 2
      src/Shentun.WebPeis.Application/Persons/PersonAppService.cs
  2. 158
      src/Shentun.WebPeis.Domain/Models/PayOrder.cs
  3. 43
      src/Shentun.WebPeis.EntityFrameworkCore/Configures/PayOrderConfigure.cs
  4. 8357
      src/Shentun.WebPeis.EntityFrameworkCore/Migrations/20250306031249_insert_pay_order.Designer.cs
  5. 60
      src/Shentun.WebPeis.EntityFrameworkCore/Migrations/20250306031249_insert_pay_order.cs
  6. 172
      src/Shentun.WebPeis.EntityFrameworkCore/Migrations/WebPeisDbContextModelSnapshot.cs

2
src/Shentun.WebPeis.Application/Persons/PersonAppService.cs

@ -233,7 +233,7 @@ namespace Shentun.WebPeis.Persons
}
if (!string.IsNullOrWhiteSpace(person.WechatOpenId))
{
throw new UserFriendlyException("该微信号注册");
throw new UserFriendlyException("该身份证跟手机号已被其他微信号注册");
}
person.WechatOpenId = input.WechatOpenId;
await _repository.UpdateAsync(person);

158
src/Shentun.WebPeis.Domain/Models/PayOrder.cs

@ -0,0 +1,158 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.Domain.Entities;
using System.ComponentModel.DataAnnotations;
namespace Shentun.WebPeis.Models
{
/// <summary>
/// 支付订单表
/// </summary>
public partial class PayOrder : AuditedEntity, IHasConcurrencyStamp
{
/// <summary>
/// 主键
/// </summary>
public Guid PayOrderId { get; set; }
/// <summary>
/// 支付订单号(日期时间+随机数,通过雪花算法生成)
/// </summary>
[StringLength(50)]
public string PayOrderNo { get; set; }
/// <summary>
/// 状态 0-未完成,1-已完成,2-已完成并已经形成收据
/// </summary>
public char CompleteFlag { get; set; }
/// <summary>
/// 收费状态 0-收费,1-退费
/// </summary>
public char ChargeFlag { get; set; }
/// <summary>
/// 退款状态 0-未退,1-部分退,2-全退
/// </summary>
public char RefundFlag { get; set; }
/// <summary>
/// 用户id
/// </summary>
[StringLength(50)]
public string PatientId { get; set; }
/// <summary>
/// 金额 ,收费是正数,退费是负数
/// </summary>
public decimal Charges { get; set; }
/// <summary>
/// 源自字典表的设置,固定编码,比如:01-现金,02-微信,03,支付宝,04-银行卡等
/// </summary>
[StringLength(2)]
public string PayModeId { get; set; }
/// <summary>
/// 收费订单ID,退费时存储对应的收费订单ID
/// </summary>
public Guid? ChargePayOrderId { get; set; }
/// <summary>
/// 支付接口ID,比如01-微信官方接口,02-支付宝官方接口,03-某某公司聚合支付接口
/// </summary>
public string PayInterfaceId { get; set; }
/// <summary>
/// 支付源标志,0-体检
/// </summary>
public char PayOrderSourceFlag { get; set; }
/// <summary>
/// APP类型,0-体检电脑版,2-手机APP,3-微信小程序,4-支付宝小程序。
/// </summary>
public int ClientAppType { get; set; }
/// <summary>
/// 0-主扫,1-被扫
/// </summary>
public int ScanPayType { get; set; }
/// <summary>
/// 第三方支付订单号
/// </summary>
[StringLength(50)]
public string InterfacePayOrderNo { get; set; }
/// <summary>
/// 最终支付订单号,比如第三方支付调用微信,这里指微信支付订单号
/// </summary>
[StringLength(50)]
public string TargetPayOrderNo { get; set; }
/// <summary>
/// 设备号
/// </summary>
[StringLength(50)]
public string DeviceNo { get; set; }
/// <summary>
/// 第三方支付凭证号,根据第三方接口自定义使用方式
/// </summary>
[StringLength(50)]
public string InterfaceSerialNo { get; set; }
/// <summary>
/// 第三方支付支付日期
/// </summary>
public DateTime? InterfacePayDate { get; set; }
/// <summary>
/// 第三方支付参考号,根据第三方接口自定义使用方式
/// </summary>
[StringLength(50)]
public string InterfaceRefnumber { get; set; }
/// <summary>
/// 第三方支付方式中文名,比如现金、微信,支付宝、建行卡、招商银行卡等
/// </summary>
[StringLength(20)]
public string InterfacePayModeName { get; set; }
public string InterfaceSerialModeName { get; set; }
/// <summary>
/// 锁住,默认值N,锁住的只能人工窗口生成收费和退费信息,不能自动生成收费和退费信息,主要用于人工窗口处理异常情况
/// </summary>
public char IsLocked { get; set; }
/// <summary>
/// 生成收据错误次数
/// </summary>
public int ErrorCount { get; set; }
public string ConcurrencyStamp { get; set; }
public override object?[] GetKeys()
{
return [PayOrderId];
}
}
}

43
src/Shentun.WebPeis.EntityFrameworkCore/Configures/PayOrderConfigure.cs

@ -0,0 +1,43 @@
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore;
using Shentun.WebPeis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shentun.WebPeis.Configures
{
internal class PayOrderConfigure : IEntityTypeConfiguration<PayOrder>
{
public void Configure(EntityTypeBuilder<PayOrder> entity)
{
entity.ToTable("pay_order");
entity.Property(e => e.PayOrderNo).IsRequired().HasComment("支付订单号(日期时间+随机数,通过雪花算法生成)");
entity.Property(e => e.CompleteFlag).IsRequired().HasComment("0-未完成,1-已完成,2-已完成并已经形成收据").HasDefaultValueSql("'0'");
entity.Property(e => e.ChargeFlag).IsRequired().HasComment("0-收费,1-退费").HasDefaultValueSql("'0'");
entity.Property(e => e.RefundFlag).IsRequired().HasComment("退款状态 0-未退,1-部分退,2-全退");
entity.Property(e => e.PatientId).IsRequired().HasComment("用户id");
entity.Property(e => e.Charges).IsRequired().HasComment("金额 ,收费是正数,退费是负数").HasPrecision(8, 2);
entity.Property(e => e.PayModeId).IsRequired().HasComment("源自字典表的设置,固定编码,比如:01-现金,02-微信,03,支付宝,04-银行卡等");
entity.Property(e => e.ChargePayOrderId).HasComment("收费订单ID,退费时存储对应的收费订单ID");
entity.Property(e => e.PayInterfaceId).IsRequired().HasComment("支付接口ID,比如01-微信官方接口,02-支付宝官方接口,03-某某公司聚合支付接口");
entity.Property(e => e.PayOrderSourceFlag).IsRequired().HasComment("支付源标志,0-体检");
entity.Property(e => e.ClientAppType).IsRequired().HasComment("APP类型,0-体检电脑版,2-手机APP,3-微信小程序,4-支付宝小程序。");
entity.Property(e => e.ScanPayType).IsRequired().HasComment(" 0-主扫,1-被扫").HasDefaultValueSql("'0'");
entity.Property(e => e.InterfacePayOrderNo).HasComment("第三方支付订单号");
entity.Property(e => e.TargetPayOrderNo).HasComment("最终支付订单号,比如第三方支付调用微信,这里指微信支付订单号");
entity.Property(e => e.DeviceNo).HasComment("设备号");
entity.Property(e => e.InterfaceSerialNo).HasComment("第三方支付凭证号,根据第三方接口自定义使用方式");
entity.Property(e => e.InterfacePayDate).HasComment("第三方支付支付日期");
entity.Property(e => e.InterfaceRefnumber).HasComment("第三方支付参考号,根据第三方接口自定义使用方式");
entity.Property(e => e.InterfacePayModeName).IsRequired().HasComment("第三方支付方式中文名,比如现金、微信,支付宝、建行卡、招商银行卡等");
entity.Property(e => e.IsLocked).HasComment("锁住,默认值N,锁住的只能人工窗口生成收费和退费信息,不能自动生成收费和退费信息,主要用于人工窗口处理异常情况");
entity.Property(e => e.ErrorCount).IsRequired().HasComment("生成收据错误次数").HasDefaultValue(0);
}
}
}

8357
src/Shentun.WebPeis.EntityFrameworkCore/Migrations/20250306031249_insert_pay_order.Designer.cs
File diff suppressed because it is too large
View File

60
src/Shentun.WebPeis.EntityFrameworkCore/Migrations/20250306031249_insert_pay_order.cs

@ -0,0 +1,60 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.WebPeis.Migrations
{
/// <inheritdoc />
public partial class insert_pay_order : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "pay_order",
columns: table => new
{
pay_order_id = table.Column<Guid>(type: "uuid", nullable: false),
pay_order_no = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "支付订单号(日期时间+随机数,通过雪花算法生成)"),
complete_flag = table.Column<char>(type: "character(1)", nullable: false, defaultValueSql: "'0'", comment: "0-未完成,1-已完成,2-已完成并已经形成收据"),
charge_flag = table.Column<char>(type: "character(1)", nullable: false, defaultValueSql: "'0'", comment: "0-收费,1-退费"),
refund_flag = table.Column<char>(type: "character(1)", nullable: false, comment: "退款状态 0-未退,1-部分退,2-全退"),
patient_id = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "用户id"),
charges = table.Column<decimal>(type: "numeric(8,2)", precision: 8, scale: 2, nullable: false, comment: "金额 ,收费是正数,退费是负数"),
pay_mode_id = table.Column<string>(type: "character varying(2)", maxLength: 2, nullable: false, comment: "源自字典表的设置,固定编码,比如:01-现金,02-微信,03,支付宝,04-银行卡等"),
charge_pay_order_id = table.Column<Guid>(type: "uuid", nullable: true, comment: "收费订单ID,退费时存储对应的收费订单ID"),
pay_interface_id = table.Column<string>(type: "text", nullable: false, comment: "支付接口ID,比如01-微信官方接口,02-支付宝官方接口,03-某某公司聚合支付接口"),
pay_order_source_flag = table.Column<char>(type: "character(1)", nullable: false, comment: "支付源标志,0-体检"),
client_app_type = table.Column<int>(type: "integer", nullable: false, comment: "APP类型,0-体检电脑版,2-手机APP,3-微信小程序,4-支付宝小程序。"),
scan_pay_type = table.Column<int>(type: "integer", nullable: false, defaultValueSql: "'0'", comment: " 0-主扫,1-被扫"),
interface_pay_order_no = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "第三方支付订单号"),
target_pay_order_no = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "最终支付订单号,比如第三方支付调用微信,这里指微信支付订单号"),
device_no = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "设备号"),
interface_serial_no = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "第三方支付凭证号,根据第三方接口自定义使用方式"),
interface_pay_date = table.Column<DateTime>(type: "timestamp with time zone", nullable: true, comment: "第三方支付支付日期"),
interface_refnumber = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false, comment: "第三方支付参考号,根据第三方接口自定义使用方式"),
interface_pay_mode_name = table.Column<string>(type: "character varying(20)", maxLength: 20, nullable: false, comment: "第三方支付方式中文名,比如现金、微信,支付宝、建行卡、招商银行卡等"),
interface_serial_mode_name = table.Column<string>(type: "text", nullable: false),
is_locked = table.Column<char>(type: "character(1)", nullable: false, comment: "锁住,默认值N,锁住的只能人工窗口生成收费和退费信息,不能自动生成收费和退费信息,主要用于人工窗口处理异常情况"),
error_count = table.Column<int>(type: "integer", nullable: false, defaultValue: 0, comment: "生成收据错误次数"),
concurrency_stamp = table.Column<string>(type: "text", nullable: false),
creation_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
creator_id = table.Column<Guid>(type: "uuid", nullable: true),
last_modification_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
last_modifier_id = table.Column<Guid>(type: "uuid", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("pk_pay_order", x => x.pay_order_id);
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "pay_order");
}
}
}

172
src/Shentun.WebPeis.EntityFrameworkCore/Migrations/WebPeisDbContextModelSnapshot.cs

@ -3028,6 +3028,178 @@ namespace Shentun.WebPeis.Migrations
});
});
modelBuilder.Entity("Shentun.WebPeis.Models.PayOrder", b =>
{
b.Property<Guid>("PayOrderId")
.ValueGeneratedOnAdd()
.HasColumnType("uuid")
.HasColumnName("pay_order_id");
b.Property<char>("ChargeFlag")
.ValueGeneratedOnAdd()
.HasColumnType("character(1)")
.HasColumnName("charge_flag")
.HasDefaultValueSql("'0'")
.HasComment("0-收费,1-退费");
b.Property<Guid?>("ChargePayOrderId")
.HasColumnType("uuid")
.HasColumnName("charge_pay_order_id")
.HasComment("收费订单ID,退费时存储对应的收费订单ID");
b.Property<decimal>("Charges")
.HasPrecision(8, 2)
.HasColumnType("numeric(8,2)")
.HasColumnName("charges")
.HasComment("金额 ,收费是正数,退费是负数");
b.Property<int>("ClientAppType")
.HasColumnType("integer")
.HasColumnName("client_app_type")
.HasComment("APP类型,0-体检电脑版,2-手机APP,3-微信小程序,4-支付宝小程序。");
b.Property<char>("CompleteFlag")
.ValueGeneratedOnAdd()
.HasColumnType("character(1)")
.HasColumnName("complete_flag")
.HasDefaultValueSql("'0'")
.HasComment("0-未完成,1-已完成,2-已完成并已经形成收据");
b.Property<string>("ConcurrencyStamp")
.IsRequired()
.HasColumnType("text")
.HasColumnName("concurrency_stamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("timestamp with time zone")
.HasColumnName("creation_time");
b.Property<Guid?>("CreatorId")
.HasColumnType("uuid")
.HasColumnName("creator_id");
b.Property<string>("DeviceNo")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("device_no")
.HasComment("设备号");
b.Property<int>("ErrorCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("error_count")
.HasComment("生成收据错误次数");
b.Property<DateTime?>("InterfacePayDate")
.HasColumnType("timestamp with time zone")
.HasColumnName("interface_pay_date")
.HasComment("第三方支付支付日期");
b.Property<string>("InterfacePayModeName")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("character varying(20)")
.HasColumnName("interface_pay_mode_name")
.HasComment("第三方支付方式中文名,比如现金、微信,支付宝、建行卡、招商银行卡等");
b.Property<string>("InterfacePayOrderNo")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("interface_pay_order_no")
.HasComment("第三方支付订单号");
b.Property<string>("InterfaceRefnumber")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("interface_refnumber")
.HasComment("第三方支付参考号,根据第三方接口自定义使用方式");
b.Property<string>("InterfaceSerialModeName")
.IsRequired()
.HasColumnType("text")
.HasColumnName("interface_serial_mode_name");
b.Property<string>("InterfaceSerialNo")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("interface_serial_no")
.HasComment("第三方支付凭证号,根据第三方接口自定义使用方式");
b.Property<char>("IsLocked")
.HasColumnType("character(1)")
.HasColumnName("is_locked")
.HasComment("锁住,默认值N,锁住的只能人工窗口生成收费和退费信息,不能自动生成收费和退费信息,主要用于人工窗口处理异常情况");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("timestamp with time zone")
.HasColumnName("last_modification_time");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uuid")
.HasColumnName("last_modifier_id");
b.Property<string>("PatientId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("patient_id")
.HasComment("用户id");
b.Property<string>("PayInterfaceId")
.IsRequired()
.HasColumnType("text")
.HasColumnName("pay_interface_id")
.HasComment("支付接口ID,比如01-微信官方接口,02-支付宝官方接口,03-某某公司聚合支付接口");
b.Property<string>("PayModeId")
.IsRequired()
.HasMaxLength(2)
.HasColumnType("character varying(2)")
.HasColumnName("pay_mode_id")
.HasComment("源自字典表的设置,固定编码,比如:01-现金,02-微信,03,支付宝,04-银行卡等");
b.Property<string>("PayOrderNo")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("pay_order_no")
.HasComment("支付订单号(日期时间+随机数,通过雪花算法生成)");
b.Property<char>("PayOrderSourceFlag")
.HasColumnType("character(1)")
.HasColumnName("pay_order_source_flag")
.HasComment("支付源标志,0-体检");
b.Property<char>("RefundFlag")
.HasColumnType("character(1)")
.HasColumnName("refund_flag")
.HasComment("退款状态 0-未退,1-部分退,2-全退");
b.Property<int>("ScanPayType")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("scan_pay_type")
.HasDefaultValueSql("'0'")
.HasComment(" 0-主扫,1-被扫");
b.Property<string>("TargetPayOrderNo")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)")
.HasColumnName("target_pay_order_no")
.HasComment("最终支付订单号,比如第三方支付调用微信,这里指微信支付订单号");
b.HasKey("PayOrderId")
.HasName("pk_pay_order");
b.ToTable("pay_order", (string)null);
});
modelBuilder.Entity("Shentun.WebPeis.Models.Person", b =>
{
b.Property<Guid>("PersonId")

Loading…
Cancel
Save