Browse Source

商家审核资料新增银行收款三字段

info_user 加 bank_account_name/bank_name/bank_account_no,setuser 白名单放行;新增匿名接口 GET /infouser/user/bankList 返回台湾银行字典(taiwan_bank_list);sql.md 含 ALTER 与字典预置(29家)及 008 促销限制 INSERT,需手动执行

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
qmj 1 day ago
parent
commit
f6498d1289

+ 23 - 1
ruoyi-admin/src/main/java/com/ruoyi/app/user/InfoUserController.java

@@ -32,7 +32,10 @@ import com.ruoyi.app.service.ImAccountService;
 import com.ruoyi.system.mapper.InfoUserMapper;
 import com.ruoyi.system.mapper.PosOrderMapper;
 import com.ruoyi.system.mapper.PosStoreMapper;
+import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.system.service.IInfoUserService;
+import com.ruoyi.system.service.ISysDictDataService;
+
 import com.ruoyi.system.service.IPosOrderService;
 import com.ruoyi.system.service.IUserWalletService;
 import com.ruoyi.system.service.IVipUserService;
@@ -108,6 +111,8 @@ public class InfoUserController extends BaseController {
     private MerchantStoreAccessService merchantStoreAccessService;
     @Autowired
     private MerchantTokenSessionService merchantTokenSessionService;
+    @Autowired
+    private ISysDictDataService dictDataService;
     /** 三方登录首登临时凭证 Redis 前缀 */
     private static final String OAUTH_TEMP_PREFIX = "oauth:bind:";
 
@@ -763,6 +768,9 @@ public class InfoUserController extends BaseController {
         user.setBankAccount(infoUser.getBankAccount());
         user.setPassportPhoto(infoUser.getPassportPhoto());
         user.setBankPhoto(infoUser.getBankPhoto());
+        user.setBankAccountName(infoUser.getBankAccountName());
+        user.setBankName(infoUser.getBankName());
+        user.setBankAccountNo(infoUser.getBankAccountNo());
         user.setMerchantIntroduction(infoUser.getMerchantIntroduction());
         user.setBusinessLicense(infoUser.getBusinessLicense());
         user.setDirectorsScreenshot(infoUser.getDirectorsScreenshot());
@@ -788,9 +796,23 @@ public class InfoUserController extends BaseController {
     }
 
     /**
-     * 获取用户信息详细信息
+     * 获取台湾银行列表(商家审核资料「银行名称」下拉的数据源,商家App共用)
+     * 数据取自字典 taiwan_bank_list,运营可在平台后台字典管理中维护
      */
     @Anonymous
+    @GetMapping("/bankList")
+    public AjaxResult bankList() {
+        SysDictData query = new SysDictData();
+        query.setDictType("taiwan_bank_list");
+        query.setStatus("0");
+        return success(dictDataService.selectDictDataList(query));
+    }
+
+
+    /**
+     * 获取用户信息详细信息
+    */
+    @Anonymous
     @Auth
     @GetMapping("/getuserinfo")
     public AjaxResult getuserinfo(@RequestHeader String token) {

+ 12 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/InfoUser.java

@@ -192,6 +192,18 @@ public class InfoUser
     @Excel(name = "银行信息照片")
     private String bankPhoto;
 
+    /** 银行账户户名(商家审核资料:收款账户的户名,如负责人姓名或公司户名) */
+    @Excel(name = "银行账户户名")
+    private String bankAccountName;
+
+    /** 银行名称(商家审核资料:下拉选择,取字典 taiwan_bank_list 的银行中文名) */
+    @Excel(name = "银行名称")
+    private String bankName;
+
+    /** 银行账号(商家审核资料:收款银行账号) */
+    @Excel(name = "银行账号")
+    private String bankAccountNo;
+
     /** 商家说明 */
     @Excel(name = "商家说明")
     private String merchantIntroduction;

+ 12 - 0
ruoyi-system/src/main/resources/mapper/infouser/InfoUserMapper.xml

@@ -46,6 +46,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="bankAccount"    column="bank_account"    />
         <result property="passportPhoto"    column="passport_photo"    />
         <result property="bankPhoto"    column="bank_photo"    />
+        <result property="bankAccountName"    column="bank_account_name"    />
+        <result property="bankName"    column="bank_name"    />
+        <result property="bankAccountNo"    column="bank_account_no"    />
         <result property="merchantIntroduction"    column="merchant_introduction"    />
         <result property="businessLicense"    column="business_license"    />
         <result property="directorsScreenshot"    column="directors_screenshot"    />
@@ -137,6 +140,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="policeCertificate != null">police_certificate,</if>
             <if test="passportPhoto != null">passport_photo,</if>
             <if test="bankPhoto != null">bank_photo,</if>
+            <if test="bankAccountName != null">bank_account_name,</if>
+            <if test="bankName != null">bank_name,</if>
+            <if test="bankAccountNo != null">bank_account_no,</if>
             <if test="merchantIntroduction != null">merchant_introduction,</if>
             <if test="businessLicense != null">business_license,</if>
             <if test="directorsScreenshot != null">directors_screenshot,</if>
@@ -186,6 +192,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="policeCertificate != null">#{policeCertificate},</if>
             <if test="passportPhoto != null">#{passportPhoto},</if>
             <if test="bankPhoto != null">#{bankPhoto},</if>
+            <if test="bankAccountName != null">#{bankAccountName},</if>
+            <if test="bankName != null">#{bankName},</if>
+            <if test="bankAccountNo != null">#{bankAccountNo},</if>
             <if test="merchantIntroduction != null">#{merchantIntroduction},</if>
             <if test="businessLicense != null">#{businessLicense},</if>
             <if test="directorsScreenshot != null">#{directorsScreenshot},</if>
@@ -239,6 +248,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="policeCertificate != null">police_certificate = #{policeCertificate},</if>
             <if test="passportPhoto != null">passport_photo = #{passportPhoto},</if>
             <if test="bankPhoto != null">bank_photo = #{bankPhoto},</if>
+            <if test="bankAccountName != null">bank_account_name = #{bankAccountName},</if>
+            <if test="bankName != null">bank_name = #{bankName},</if>
+            <if test="bankAccountNo != null">bank_account_no = #{bankAccountNo},</if>
             <if test="merchantIntroduction != null">merchant_introduction = #{merchantIntroduction},</if>
             <if test="businessLicense != null">business_license = #{businessLicense},</if>
             <if test="directorsScreenshot != null">directors_screenshot = #{directorsScreenshot},</if>

+ 58 - 0
updatesql/sql.md

@@ -1370,3 +1370,61 @@ WHERE user_type = '2'
   AND del_flag = '0'
   AND delivery_type IS NULL;
 ```
+
+```sql
+-- 2026-09-02 优惠幅度限制平台开关(防止恶意竞争,specs/008-promotion-coupon Phase 5.10)
+-- enabled=false 时所有新增逻辑不生效、行为与现状完全一致;如需上线后先关闭观察,把 'true' 改为 'false' 再执行(或在后台 参数管理 里改)
+INSERT INTO sys_config (config_name, config_key, config_value, config_type, create_by, create_time, remark)
+VALUES ('优惠幅度限制开关', 'promotion.discount.limit.enabled', 'true', 'Y', 'admin', NOW(), '启用后:商家新增/修改促销和优惠券校验优惠上限;算价时订单总优惠不超过限定比例');
+
+-- 优惠上限比例,单位百分比(20 = 20%),调整后立即生效,无需重启
+INSERT INTO sys_config (config_name, config_key, config_value, config_type, create_by, create_time, remark)
+VALUES ('优惠幅度限制比例(%)', 'promotion.discount.limit.ratio', '20', 'Y', 'admin', NOW(), '满减/折扣/券单项优惠及订单总优惠的最大比例');
+```
+
+```sql
+-- ============================================================
+-- 2026-09-03 商家审核资料新增银行收款账户三字段(帳戶名稱/銀行名稱/銀行帳號)
+-- 用途:商家App提交资料时填写,平台后台「商家审核」页展示与审核;
+--      银行名称下拉数据源 = 字典 taiwan_bank_list,App 经 GET /infouser/user/bankList 读取
+-- ============================================================
+ALTER TABLE info_user
+  ADD COLUMN bank_account_name VARCHAR(64) DEFAULT NULL COMMENT '银行账户户名:商家审核资料的收款账户户名(App提交,平台审核)',
+  ADD COLUMN bank_name VARCHAR(64) DEFAULT NULL COMMENT '银行名称:商家审核资料「银行名称」下拉所选值,取字典taiwan_bank_list(台湾银行中文名),如國泰世華銀行',
+  ADD COLUMN bank_account_no VARCHAR(32) DEFAULT NULL COMMENT '银行账号:商家审核资料的收款银行账号(存账号文本,不做格式强校验,人工审核兜底)';
+
+-- 台湾银行列表字典(商家审核资料「银行名称」下拉数据源;后续增删银行在平台后台 系统管理-字典管理 操作,无需改代码)
+INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
+VALUES ('台湾银行列表', 'taiwan_bank_list', '0', 'admin', NOW(), '商家审核资料银行名称下拉;商家App经 /infouser/user/bankList 读取;label与value相同均为银行中文名');
+
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark)
+VALUES (1,'臺灣銀行','臺灣銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (2,'臺灣土地銀行','臺灣土地銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (3,'合作金庫銀行','合作金庫銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (4,'第一銀行','第一銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (5,'華南銀行','華南銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (6,'彰化銀行','彰化銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (7,'兆豐國際商業銀行','兆豐國際商業銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (8,'臺灣中小企業銀行','臺灣中小企業銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (9,'國泰世華銀行','國泰世華銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (10,'中國信託銀行','中國信託銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (11,'台北富邦銀行','台北富邦銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (12,'玉山銀行','玉山銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (13,'台新銀行','台新銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (14,'永豐銀行','永豐銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (15,'上海商業儲蓄銀行','上海商業儲蓄銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (16,'聯邦銀行','聯邦銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (17,'遠東國際商業銀行','遠東國際商業銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (18,'元大銀行','元大銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (19,'新光銀行','新光銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (20,'陽信銀行','陽信銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (21,'三信商業銀行','三信商業銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (22,'高雄銀行','高雄銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (23,'王道銀行','王道銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (24,'安泰銀行','安泰銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (25,'日盛銀行','日盛銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (26,'渣打國際商業銀行','渣打國際商業銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (27,'匯豐(台灣)商業銀行','匯豐(台灣)商業銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (28,'星展(台灣)銀行','星展(台灣)銀行','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL),
+ (29,'中華郵政(郵局)','中華郵政(郵局)','taiwan_bank_list',NULL,'default','N','0','admin',NOW(),NULL);
+```