Quellcode durchsuchen

Merge remote-tracking branch 'origin/test' into test

# Conflicts:
#	sql/Online.sql
hxl13994548489 vor 2 Jahren
Ursprung
Commit
e6b54fc2f4
22 geänderte Dateien mit 130 neuen und 71 gelöschten Zeilen
  1. 2 28
      sql/Online.sql
  2. 2 2
      src/main/java/com/ydtech/constants/enums/dict/organization/OrganizationSource.java
  3. 15 10
      src/main/java/com/ydtech/modules/admin/components/UnionPayRequestApiComponent.java
  4. 4 2
      src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java
  5. 5 3
      src/main/java/com/ydtech/modules/admin/controller/SysUserBankController.java
  6. 25 5
      src/main/java/com/ydtech/modules/admin/controller/SysUserController.java
  7. 3 1
      src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java
  8. 6 0
      src/main/java/com/ydtech/modules/admin/model/SysUser.java
  9. 1 2
      src/main/java/com/ydtech/modules/admin/model/dto/AgentUserDto.java
  10. 4 0
      src/main/java/com/ydtech/modules/admin/model/po/SysUserBankCard.java
  11. 2 0
      src/main/java/com/ydtech/modules/admin/model/vo/SysUserBankCardVO.java
  12. 4 0
      src/main/java/com/ydtech/modules/admin/model/vo/SysUserVO.java
  13. 1 1
      src/main/java/com/ydtech/modules/admin/service/SysUserBankCardService.java
  14. 2 0
      src/main/java/com/ydtech/modules/admin/service/SysUserService.java
  15. 7 7
      src/main/java/com/ydtech/modules/admin/service/impl/AppCustomerManagementImpl.java
  16. 3 3
      src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java
  17. 28 1
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserBankCardServiceImpl.java
  18. 4 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java
  19. 2 2
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  20. 3 2
      src/main/resources/application-pre.yml
  21. 2 2
      src/main/resources/application-prod.yml
  22. 5 0
      src/main/resources/mapper/modules/admin/SysUserMapper.xml

+ 2 - 28
sql/Online.sql

@@ -131,31 +131,5 @@ CREATE TABLE `sys_relation_person` (
                                        PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='合伙人/推荐人和机构负责人关系表';
 
-
--- 控制台角色关联菜单表
-DROP TABLE IF EXISTS `sys_role_menu_kzt`;
-CREATE TABLE `sys_role_menu_kzt`  (
-                                      `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
-                                      `role_id` bigint NULL DEFAULT NULL COMMENT '角色ID',
-                                      `menu_id` bigint NULL DEFAULT NULL COMMENT '菜单ID',
-                                      `sys_type` varchar(10) NULL DEFAULT NULL COMMENT '系统类型',
-                                      `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
-                                      `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-                                      `last_update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
-                                      `last_update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-                                      PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '控制台角色关联菜单' ROW_FORMAT = Dynamic;
-
--- 控制台用户关联角色表
-DROP TABLE IF EXISTS `sys_user_role_kzt`;
-CREATE TABLE `sys_user_role_kzt`  (
-                                      `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
-                                      `user_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户ID',
-                                      `role_id` bigint NULL DEFAULT NULL COMMENT '角色ID',
-                                      `sys_type` varchar(10) NULL DEFAULT NULL COMMENT '系统类型',
-                                      `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
-                                      `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
-                                      `last_update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
-                                      `last_update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
-                                      PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '控制台用户关联角色' ROW_FORMAT = Dynamic;
+--add by caiyaru 20240813
+ALTER TABLE `sys_user_bank_card` ADD COLUMN `bank_verify` tinyint  DEFAULT 0 COMMENT '0 未验证 1 已验证';

+ 2 - 2
src/main/java/com/ydtech/constants/enums/dict/organization/OrganizationSource.java

@@ -33,8 +33,8 @@ public enum OrganizationSource implements IBaseEnum {
     @Getter
     public enum Source {
 
-        S_1("2", "出单员"),
-        S_2("1", "个代");
+        S_1("1", "出单员"),
+        S_2("2", "个代");
 
         public static final String NAME = "S_";
         // 编号

+ 15 - 10
src/main/java/com/ydtech/modules/admin/components/UnionPayRequestApiComponent.java

@@ -62,11 +62,12 @@ public class UnionPayRequestApiComponent {
 
     /**
      * 运营商二要素验证接口
+     *
      * @param request
      */
     public UnionPayResponse twoFactorVerifyRequest(UnionPayRequest request) {
         String url = unionPayApiConfigurationProperties.getTwoFactorVerifyUrl();
-        JSONObject params=new JSONObject();
+        JSONObject params = new JSONObject();
         if (StringUtils.isBlank(request.getPhoneNo())) {
             throw new InvalidParameterException("手机号不允许为空!");
         }
@@ -181,23 +182,25 @@ public class UnionPayRequestApiComponent {
             httpHeaders.set("Accept", "application/json");
             httpHeaders.set("Authorization", getAccessToken());
             // 请求
-            LOGGER.error("银联接口url:"+url);
-            LOGGER.error("银联接口请求报文:"+params);
-            LOGGER.error("银联接口加密请求报文:"+data);
+            LOGGER.error("银联接口url:" + url);
+            LOGGER.error("银联接口请求报文:" + params);
+            LOGGER.error("银联接口加密请求报文:" + data);
             HttpEntity<String> httpEntity = new HttpEntity<>(data.toString(), httpHeaders);
             ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
             JSONObject resp = JSONObject.parseObject(response.getBody());
-            LOGGER.error("银联接口响应报文:"+resp);
+            LOGGER.error("银联接口响应报文:" + resp);
             if ("20000000".equals(resp.getString("errCode"))) {
                 String privateKey = unionPayApiConfigurationProperties.getPrivateKey();
                 String respData = SM2.sm2Decrypt(resp.getString("data"),
                         privateKey);
-                LOGGER.error("银联接口解密响应报文:"+respData);
+                LOGGER.error("银联接口解密响应报文:" + respData);
                 return JSONObject.parseObject(respData, UnionPayResponse.class);
             } else {
                 throw new SystemException("银联信息验证异常[" + resp.getString("errCode") + ":" +
                         resp.getString("errInfo") + "]");
             }
+        } catch (SystemException e) {
+            throw new SystemException(e.getMessage());
         } catch (Exception e) {
             LOGGER.error("银联接口调用异常", e);
             throw new RuntimeException("银联接口调用异常:", e);
@@ -275,18 +278,18 @@ public class UnionPayRequestApiComponent {
             httpHeaders.set("Content-Type", "application/json;charset=UTF-8");
             httpHeaders.set("Accept", "application/json");
             // 请求
-            LOGGER.error("银联获取token-url:"+accessTokenUrl);
-            LOGGER.error("银联获取token-入参:"+params);
+            LOGGER.error("银联获取token-url:" + accessTokenUrl);
+            LOGGER.error("银联获取token-入参:" + params);
             HttpEntity<JSONObject> httpEntity = new HttpEntity<>(params, httpHeaders);
             ResponseEntity<String> response = restTemplate.postForEntity(accessTokenUrl, httpEntity, String.class);
             JSONObject resp = JSONObject.parseObject(response.getBody());
-            LOGGER.error("银联获取token-返参:"+resp);
+            LOGGER.error("银联获取token-返参:" + resp);
             if ("0000".equals(resp.getString("errCode"))) {
                 String token = resp.getString("accessToken");
                 int expiresIn = resp.getIntValue("expiresIn"); //失效时间
                 Map<String, String> map = new HashMap<>();
                 String tokenValue = "OPEN-ACCESS-TOKEN AccessToken=" + token + ", AppId=" + appId;
-                map.put(UNION_PAY_ACCESS_TOKEN_KEY, tokenValue );
+                map.put(UNION_PAY_ACCESS_TOKEN_KEY, tokenValue);
                 redisTemplate.opsForHash().putAll(UNION_PAY_MAP, map);
                 redisTemplate.expire(UNION_PAY_MAP, expiresIn - 30, TimeUnit.SECONDS);
                 return tokenValue;
@@ -295,6 +298,8 @@ public class UnionPayRequestApiComponent {
                         resp.getString("errInfo") + "]");
             }
 
+        } catch (SystemException e) {
+            throw new SystemException(e.getMessage());
         } catch (Exception e) {
             LOGGER.error("获取银联Token异常", e);
             throw new SystemException("获取银联Token异常,请重试!");

+ 4 - 2
src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java

@@ -562,8 +562,10 @@ public class SysLoginController {
 
         ObjectMapper objectMapper = new ObjectMapper();
         String content = redisTemplate.opsForValue().get(uuid);
-        LoginTicket loginTicket = objectMapper.readValue(content, LoginTicket.class);
-
+        LoginTicket loginTicket = null;
+        if (StringUtils.isNotBlank(content)) {
+            loginTicket = objectMapper.readValue(content, LoginTicket.class);
+        }
         if (loginTicket == null) {
             resultMap.put("statusCode", QrCodeStatusEnum.INVALID);
             resultMap.put("status", QrCodeStatusEnum.INVALID.getStatusValue());

+ 5 - 3
src/main/java/com/ydtech/modules/admin/controller/SysUserBankController.java

@@ -1,7 +1,11 @@
 package com.ydtech.modules.admin.controller;
 
 
+import cn.dev33.satoken.stp.StpUtil;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.components.request.UnionPayRequest;
+import com.ydtech.modules.admin.components.response.UnionPayResponse;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.po.SysUserBankCard;
 import com.ydtech.modules.admin.model.po.SysUserBankCardHistory;
 import com.ydtech.modules.admin.model.vo.SysUserBankCardVO;
@@ -77,9 +81,7 @@ public class SysUserBankController extends BaseController {
     @PostMapping("/insertByBankNumber")
     @ApiOperation("新增卡号开户行")
     public HttpResult<Object> insertByBankNumber(@RequestBody SysUserBankCardVO sysUserBankCardVO) {
-        bankCardService.insertByBankNumber(sysUserBankCardVO);
-
-        return HttpResult.ok("新增成功");
+        return  bankCardService.insertByBankNumber(sysUserBankCardVO);
     }
     @PostMapping("/auditByBankNumber")
     @ApiOperation("审核卡号开户行")

+ 25 - 5
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -12,6 +12,9 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.components.UnionPayRequestApiComponent;
+import com.ydtech.modules.admin.components.request.UnionPayRequest;
+import com.ydtech.modules.admin.components.response.UnionPayResponse;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.constants.UserWorkStatus;
 import com.ydtech.modules.admin.model.*;
@@ -94,7 +97,7 @@ public class SysUserController extends BaseController {
 
     private final SysUserTrackService sysUserTrackService;
 
-
+    private final UnionPayRequestApiComponent unionPayRequestApiComponent;
     //    @PreAuthorize("hasAuthority('sys:user:delete')")
     @ApiOperation(value = "逻辑删除")
     @PostMapping(value = "/deleteFlag")
@@ -657,6 +660,22 @@ public class SysUserController extends BaseController {
         if (recommender == null) {
             return HttpResult.error("推荐人信息不存在");
         }
+        SysUser reUser = sysUserService.getByUserId(recommenderid);
+        //个代
+        UnionPayResponse response = new UnionPayResponse();
+        if ("2".equals(reUser.getManagementSource())) {
+            if (StringUtils.isNullOrEmpty(dto.getIdentity())) {
+                return HttpResult.error("机构来源为个代的证件号不能为空");
+            }
+            UnionPayRequest request = new UnionPayRequest();
+            request.setName(dto.getName());
+            request.setPhoneNo(dto.getMobile());
+            request.setCertNo(dto.getIdentity());
+            response = unionPayRequestApiComponent.threeFactorVerifyRequest(request);
+            if (response != null&&!"00".equals(response.getRespCode())) {
+                return HttpResult.error("认证信息不一致:"+response.getDetailRespMsg());
+            }
+        }
         //只有团队长和代理人才能邀请 by gws
         SysUserRole recommenderRole = sysUserRoleService.selectByUserId(recommenderid);
         if (!"20".equals(recommenderRole.getRoleId().toString()) && !"21".equals(recommenderRole.getRoleId().toString())) {
@@ -684,18 +703,19 @@ public class SysUserController extends BaseController {
         String password = PasswordUtils.encode(dto.getPassword(), salt);
         sysUser.setPassword(password);
         sysUser.setSalt(salt);
-        sysUser.setStatus(dto.getFlag().equals("1") ? 2 : 1);//1:正常   2:审批中
+        sysUser.setStatus("2".equals(dto.getFlag()) ? 2 : 1);//1:正常   2:审批中
         sysUser.setId(nextPK);
         sysUser.setCreateBy("admin");
-        if (dto.getFlag().equals("2")) {
+        if ("1".equals(dto.getFlag())) {
             sysUser.setOperatorCode(recommenderid);
         }
+        sysUser.setFactorVerify(response != null && "00".equals(response.getRespCode())? 1:0);
         sysUserService.save(sysUser);
 
         //角色配置
         SysUserRole userRole = new SysUserRole();
         userRole.setUserId(nextPK);
-        userRole.setRoleId(dto.getFlag().equals("1") ? 20L : 19L);
+        userRole.setRoleId(dto.getFlag().equals("2") ? 20L : 19L);
         sysUserRoleService.save(userRole);
 
         //添加增员服务消息
@@ -703,7 +723,7 @@ public class SysUserController extends BaseController {
         messageSecretaryService.addMessage(MessageTypeConstants.M_6, dto.getReferrerId(),
                 dto.getMobile() + "(" + dto.getName() + ")" + "进行注册,请立即审核.");
 
-        if (dto.getFlag().equals("1")) {
+        if ("2".equals(dto.getFlag())) {
             esmUserReferrerService.addReferrer(dto.getReferrerId(), nextPK);
         }
         return HttpResult.ok("保存成功", sysUser.getId());

+ 3 - 1
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -36,7 +36,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
             " where t1.id=#{userId}";
     ;
 
-    String internalUserSql = "select t.id,t.name,t.dept_id deptid,t2.name deptname,t3.id comid,t3.name comname,t.status " +
+    String internalUserSql = "select t.id,t.name,t.dept_id deptid,t2.name deptname,t3.id comid,t3.name comname,t.status   " +
             "from sys_user t left join sys_dept t2 on t.dept_id=t2.id " +
             "left join sys_dept t3 on t2.parent_id=t3.id " +
             "left join esm_user_internal a on t.id=a.id " +
@@ -398,6 +398,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     IPage<QxFrontlineAgentDto> getByIdsList(@Param("page") Page page, @Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
 
+
+    SysUser getByUserId(String userId);
 }
 
 

+ 6 - 0
src/main/java/com/ydtech/modules/admin/model/SysUser.java

@@ -121,6 +121,12 @@ public class SysUser extends BaseEntity {
     @TableField(value = "leader_name")
     private String leaderName;
 
+
+    @ApiModelProperty(value = "三要素验证")
+    @TableField(value = "factor_verify")
+    private Integer factorVerify;
+
+
     //------------------
 
 

+ 1 - 2
src/main/java/com/ydtech/modules/admin/model/dto/AgentUserDto.java

@@ -39,8 +39,7 @@ public class AgentUserDto {
     @ApiModelProperty(value = "推荐人名称",required = true)
     private String referrerName;
 
-    @ApiModelProperty(value = "个代、出单员标识:1个代、2出单员",required = true)
+    @ApiModelProperty(value = "个代、出单员标识:2个代、1出单员",required = true)
     private String flag;
 
-
 }

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysUserBankCard.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -90,4 +91,7 @@ public class SysUserBankCard implements Serializable {
 
     @TableField(value = "real_user_name")
     private String realUserName;
+
+    @TableField(value = "bank_verify")
+    private Integer bankVerify;
 }

+ 2 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBankCardVO.java

@@ -34,6 +34,8 @@ public class SysUserBankCardVO {
     @ApiModelProperty(value = "是否默认值")
     private Integer isDefault;
 
+    @ApiModelProperty(value = "银行卡预留手机号")
+    private String phoneNo;
 
     @JsonFormat(pattern = "yyyy-MM-dd")
     @TableField(value = "create_time",fill = FieldFill.INSERT_UPDATE)

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserVO.java

@@ -1,11 +1,15 @@
 package com.ydtech.modules.admin.model.vo;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 /**
  * @author qinfenglong
  * @version 1.0.0
  * @description SysUserVO
  * @since 2020/10/22 23:18
  */
+@Data
 public class SysUserVO {
     private String id;
     private String name;

+ 1 - 1
src/main/java/com/ydtech/modules/admin/service/SysUserBankCardService.java

@@ -35,7 +35,7 @@ public interface SysUserBankCardService extends IService<SysUserBankCard> {
 
     SysUserBankCard getByBankNumber(String bankNumber, String userId);
 
-    void insertByBankNumber(SysUserBankCardVO sysUserBankCardVO);
+    HttpResult<Object> insertByBankNumber(SysUserBankCardVO sysUserBankCardVO);
 
     void auditByBankNumber(SysUserBankCardVO sysUserBankCardVO);
 

+ 2 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -220,6 +220,8 @@ public interface SysUserService extends BaseIService<SysUser> {
      */
     void separationReinstatement(String userid);
 
+    SysUser getByUserId(String userid);
+
 }
 
 

+ 7 - 7
src/main/java/com/ydtech/modules/admin/service/impl/AppCustomerManagementImpl.java

@@ -39,18 +39,18 @@ public class AppCustomerManagementImpl implements AppCustomerManagementService {
 
     @Override
     public HttpResult<BasePageResult<SysUserTeamDto>> authenticationQuery(AppCustomerManagementQueryVo managementQueryVo) {
-        String deptId = new BaseController().getDeptId();
+        String deptId = BaseController.getDeptId();
         SysDept dept = sysDeptService.getById(deptId);
         Page<SysUser> page = new Page<>(managementQueryVo.getPageNum(), managementQueryVo.getPageSize());
-        String userId = new BaseController().getUserId();
+        String userId = BaseController.getUserId();
         if (OrganizationSource.OS_1.getCode().equals(dept.getManagementSource())) {
-
+            boolean notEmpty = StringUtils.isNotEmpty(managementQueryVo.getCriteria());
             Page<SysUser> sysUserPage = sysUserService.lambdaQuery()
                     .eq(SysUser::getOperatorCode, userId)
-                    .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getMobile, managementQueryVo.getCriteria()))
-                    .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getId, managementQueryVo.getCriteria()))
-                    .or(x-> x.eq(StringUtils.isEmpty(managementQueryVo.getCriteria()), SysUser::getName, managementQueryVo.getCriteria()))
-                    .eq(StringUtils.isEmpty(managementQueryVo.getAuthenticationStatus()), SysUser::getName, managementQueryVo.getAuthenticationStatus())
+                    .eq(StringUtils.isNotEmpty(managementQueryVo.getAuthenticationStatus()), SysUser::getStatus, managementQueryVo.getAuthenticationStatus())
+                    .and(notEmpty, x -> x.eq(SysUser::getMobile, managementQueryVo.getCriteria())
+                            .or().eq(SysUser::getId, managementQueryVo.getCriteria())
+                            .or().eq(SysUser::getName, managementQueryVo.getCriteria()))
                     .page(page);
 
             List<SysUserTeamDto> sysUserTeamDtos = sysUserPage.getRecords().stream().map(SysUserTeamDto::new).collect(Collectors.toList());

+ 3 - 3
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -361,7 +361,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -436,7 +436,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -518,7 +518,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()

+ 28 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysUserBankCardServiceImpl.java

@@ -1,16 +1,22 @@
 package com.ydtech.modules.admin.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.components.UnionPayRequestApiComponent;
+import com.ydtech.modules.admin.components.request.UnionPayRequest;
+import com.ydtech.modules.admin.components.response.UnionPayResponse;
 import com.ydtech.modules.admin.dao.SysUserBankCardMapper;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.po.SysUserBankCard;
 import com.ydtech.modules.admin.model.po.SysUserBankCardHistory;
 import com.ydtech.modules.admin.model.vo.SysUserBankCardVO;
 import com.ydtech.modules.admin.service.SysUserBankCardHistoryService;
 import com.ydtech.modules.admin.service.SysUserBankCardService;
+import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
@@ -37,6 +43,10 @@ public class SysUserBankCardServiceImpl extends ServiceImpl<SysUserBankCardMappe
 
     @Resource
     private SysUserBankCardHistoryService sysUserBankCardHistoryService;
+    @Resource
+    private UnionPayRequestApiComponent unionPayRequestApiComponent;
+    @Resource
+    private SysUserService sysUserService;
 
     @Override
     public BasePageResult<SysUserBankCard> queryByVo(SysUserBankCardVO sysUserBankCardVO) {
@@ -135,7 +145,21 @@ public class SysUserBankCardServiceImpl extends ServiceImpl<SysUserBankCardMappe
 
     @Override
     @Transactional
-    public void insertByBankNumber(SysUserBankCardVO sysUserBankCardVO) {
+    public  HttpResult<Object> insertByBankNumber(SysUserBankCardVO sysUserBankCardVO) {
+        //个贷验证银行卡
+        SysUser sysUser = sysUserService.getByUserId(StpUtil.getLoginId().toString());
+        UnionPayResponse response = new UnionPayResponse();
+        if ("2".equals(sysUser.getManagementSource())){
+            UnionPayRequest request = new UnionPayRequest();
+            request.setCardNo(sysUserBankCardVO.getBankNumber());
+            request.setPhoneNo(sysUserBankCardVO.getPhoneNo());
+            request.setName(sysUser.getName());
+            request.setCertNo(sysUser.getIdentity());
+            response = unionPayRequestApiComponent.bankCardVerifyRequest(request);
+            if (response != null && !"00".equals(response.getRespCode())) {
+                return HttpResult.error("未通过银行卡认证:"+response.getDetailRespMsg());
+            }
+        }
         SysUserBankCard findSysUserBankCard = sysUserBankCardService.getOne(new LambdaQueryWrapper<SysUserBankCard>()
                 .eq(SysUserBankCard::getBankNumber, sysUserBankCardVO.getBankNumber())
                 .eq(SysUserBankCard::getUserId, sysUserBankCardVO.getUserId()));
@@ -149,6 +173,7 @@ public class SysUserBankCardServiceImpl extends ServiceImpl<SysUserBankCardMappe
             findSysUserBankCard.setBankAddress(sysUserBankCardVO.getBankAddress());
             findSysUserBankCard.setBankAccount(sysUserBankCardVO.getBankAccount());
             findSysUserBankCard.setRealUserName(sysUserBankCardVO.getRealUserName());
+            findSysUserBankCard.setBankVerify(response != null && "00".equals(response.getRespCode())?1:0);
             sysUserBankCardService.updateById(findSysUserBankCard);
             SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
             sysUserBankCardHistory.setBankNumber(sysUserBankCardVO.getBankNumber());
@@ -167,6 +192,7 @@ public class SysUserBankCardServiceImpl extends ServiceImpl<SysUserBankCardMappe
             sysUserBankCard.setBankNumber(sysUserBankCardVO.getBankNumber().replaceAll("\\s+", ""));
             sysUserBankCard.setUserName(sysUserBankCardVO.getUserName());
             sysUserBankCard.setUserId(sysUserBankCardVO.getUserId());
+            sysUserBankCard.setBankVerify(response != null && "00".equals(response.getRespCode())?1:0);
             baseMapper.insert(sysUserBankCard);
             SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
             sysUserBankCardHistory.setBankNumber(sysUserBankCardVO.getBankNumber());
@@ -176,6 +202,7 @@ public class SysUserBankCardServiceImpl extends ServiceImpl<SysUserBankCardMappe
             sysUserBankCardHistory.setBankNumberUserId(sysUserBankCardVO.getUserId());
             sysUserBankCardHistoryService.save(sysUserBankCardHistory);
         }
+        return HttpResult.ok("新增成功");
     }
 
     @Override

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1550,4 +1550,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         sysUserTrackService.save(sysUserTrack);
     }
 
+    @Override
+    public SysUser getByUserId(String userid){
+        return baseMapper.getByUserId(userid);
+    }
 }

+ 2 - 2
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -995,10 +995,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 }
             }
         }
-        Long total = 0l;
+        Long total = 0L;
         Page<InsOrders> orderVoPage = new Page<>();
         //注释逻辑给前台返回数据
-        if ((agentUserIds != null && !agentUserIds.isEmpty()) || (agreeIds != null && !agreeIds.isEmpty())) {
+        if (agentUserIds != null && !agentUserIds.isEmpty() || !agreeIds.isEmpty()) {
             orderVoPage = baseMapper.queryPageOrderByLinkType(page, orderQueryVo, agentUserIds, agreeIds, deptIds, flag,type);
             total = baseMapper.queryPageOrderByLinkTypeCount(orderQueryVo, agentUserIds, agreeIds, deptIds, flag,type);
         }

+ 3 - 2
src/main/resources/application-pre.yml

@@ -23,14 +23,15 @@ baidu:
 #银联API参数配置
 unionPay:
   api:
-    appId: 10037e6f8e41423b01912b657e5c116c
-    appKey: 1110043747cb40f4911096480ea93f3e
+    appId: 8a81c1be8fc4b72501912b65f4bf093a
+    appKey: 43c2fc71b43740539c6c32370e12c7fd
     accessTokenUrl: https://api-mop.chinaums.com/v2/token/access
     twoFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/2factor/verify
     threeFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify
     bankCardVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/bankcard/verify
     publicKey: 0414bb7e9c3914bb65b85079b1dc6e1ca2a0ee04dd9bb55b2f8d31704a6dec0cca695739e128f9c931330e1c0f493be4d56244236434c9d344c4716ba64a4470ba
     privateKey: 24ebfde60aecb81214605050763926ec342c487859a8da57d5badcd3c1559336
+
 aly:
   cbit:
     url_pre: http://223.70.186.115:80/CBIT/API/insCBIT

+ 2 - 2
src/main/resources/application-prod.yml

@@ -23,8 +23,8 @@ baidu:
 #银联API参数配置
 unionPay:
   api:
-    appId: 10037e6f8e41423b01912b657e5c116c
-    appKey: 1110043747cb40f4911096480ea93f3e
+    appId: 8a81c1be8fc4b72501912b65f4bf093a
+    appKey: 43c2fc71b43740539c6c32370e12c7fd
     accessTokenUrl: https://api-mop.chinaums.com/v2/token/access
     twoFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/2factor/verify
     threeFactorVerifyUrl: https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify

+ 5 - 0
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -1374,5 +1374,10 @@
             </if>
         </where>
     </select>
+    <select id="getByUserId" resultType="com.ydtech.modules.admin.model.SysUser">
+        select t.id id,t.name name,t.mobile mobile,t2.management_source managementSource
+        from sys_user t left join sys_dept t2 on t.dept_id=t2.id
+        where t.id=#{id}
+    </select>
 
 </mapper>