瀏覽代碼

【新管理端后端】经纪会员角色新增交易商开户初审,开户复审及实名审核权限

xie.kaifeng 4 月之前
父節點
當前提交
bc637b2a89

+ 8 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/controller/PresaleController.java

@@ -159,6 +159,14 @@ public class PresaleController {
         return iForwardOrderService.querypresaleresult(param, request);
     }
 
+    @RequestMapping(method = RequestMethod.GET, value = "/querypresaleposition")
+    @ApiOperation("预售管理--> 定金持仓 --> 获取列表")
+    @ApiResponse(code = 200, message = "成功", response = PageResult.class)
+    public PageResult<ForwardPresalePositionResult> querypresaleposition(ForwardPresalePositionParam param, HttpServletRequest request) {
+        return iForwardOrderService.querypresaleposition(param, request);
+    }
+
+
     @RequestMapping(method = RequestMethod.GET, value = "/queryForward")
     @ApiOperation("远期订单管理--> 订单申请 --> 获取列表")
     @ApiResponse(code = 200, message = "成功", response = PageResult.class)

+ 2 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/IForwardOrderService.java

@@ -34,4 +34,6 @@ public interface IForwardOrderService {
     AjaxResult forwardsecondsave(String applyid, Integer applystatus, String secondremark, HttpServletRequest request);
 
     AjaxResult cancelapply(String cancelid, HttpServletRequest request);
+
+    PageResult<ForwardPresalePositionResult> querypresaleposition(ForwardPresalePositionParam param, HttpServletRequest request);
 }

+ 43 - 20
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/ForwardOrderServiceImpl.java

@@ -55,6 +55,7 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
     private ICptradePositioncancelMapper iCptradePositioncancelMapper;
     @Resource
     private RabbitTemplate rabbitTemplate;
+
     @Override
     public PageResult<ForwardOrderApplyResult> queryForward(ForwardOrderApplyParam param, HttpServletRequest request) {
         PageResult<ForwardOrderApplyResult> pageResult = new PageResult<>();
@@ -121,7 +122,7 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
     }
 
     @Override
-    public AjaxResult<ForwardAddMarketAndGoods> forwardAddInit(Long marketid,Long goodid, HttpServletRequest request) {
+    public AjaxResult<ForwardAddMarketAndGoods> forwardAddInit(Long marketid, Long goodid, HttpServletRequest request) {
         ForwardAddMarketAndGoods result = new ForwardAddMarketAndGoods();
         List<Market> marketList = iMarketMapper.selectList(new QueryWrapper<Market>()
                 .eq("tradeProperty", 2)
@@ -149,17 +150,17 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
             }
             result.setGoods(goodsList);
 
-            if(CollectionUtils.isNotEmpty(goodsList)){
+            if (CollectionUtils.isNotEmpty(goodsList)) {
                 goodsList.forEach(p -> {
-                    p.setProviderusername(iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",p.getProvideruserid())).getAccountname());
+                    p.setProviderusername(iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", p.getProvideruserid())).getAccountname());
                 });
             }
         }
 
-        if(goodid != null){
+        if (goodid != null) {
             ForwardAddOtherInit otherInit = iCptradePositionapplyMapper.queryDRelation(goodid);
-            Deliveryrelation dr = iDeliveryrelationMapper.selectOne(new QueryWrapper<Deliveryrelation>().eq("goodsid",goodid));
-            Wrstandard  wr = iWrstandardMapper.selectOne(new QueryWrapper<Wrstandard>().eq("wrstandardid",dr.getWrstandardid()));
+            Deliveryrelation dr = iDeliveryrelationMapper.selectOne(new QueryWrapper<Deliveryrelation>().eq("goodsid", goodid));
+            Wrstandard wr = iWrstandardMapper.selectOne(new QueryWrapper<Wrstandard>().eq("wrstandardid", dr.getWrstandardid()));
             otherInit.setWrstandardid(wr.getWrstandardid());
             otherInit.setWrstandardcode(wr.getWrstandardcode());
             otherInit.setWrstandardname(wr.getWrstandardname());
@@ -183,7 +184,7 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
 
         Long applyid = SerialNumberUtils.getSerialNumber(SerialNumberUtils.prefix_capacity);
 
-        Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid",0L));
+        Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid", 0L));
 
         CptradePositionapply pa = new CptradePositionapply();
         BeanUtils.copyProperties(param, pa);
@@ -202,20 +203,20 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
     @Override
     public AjaxResult<ForwardCancelApplyInit> cancelApplyAddInit(Long accountid, HttpServletRequest request) {
         List<ForwardCancelApplyInit> init = iCptradePositionapplyMapper.cancelApplyAddInit(accountid);
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),init);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), init);
     }
 
     @Override
     public AjaxResult cancelApplyAdd(ForwardCancelAddParam param, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
-        Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid",0L));
+        Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid", 0L));
         CptradePositioncancel pa = new CptradePositioncancel();
         BeanUtils.copyProperties(param, pa);
         pa.setApplystatus(1);
         pa.setApplytime(new Date());
         pa.setCreatorid(systemmanager.getAutoid());
         pa.setCreatetime(new Date());
-        if(mr != null){
+        if (mr != null) {
             pa.setTradedate(mr.getTradedate());
         }
         iCptradePositioncancelMapper.insert(pa);
@@ -245,9 +246,9 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
 
     @Override
     public AjaxResult forwardcancel(String applyid, HttpServletRequest request) {
-        CptradePositionapply pa = iCptradePositionapplyMapper.selectOne(new QueryWrapper<CptradePositionapply>().eq("applyid",applyid));
+        CptradePositionapply pa = iCptradePositionapplyMapper.selectOne(new QueryWrapper<CptradePositionapply>().eq("applyid", applyid));
         pa.setApplystatus(8);
-        iCptradePositionapplyMapper.update(pa,new QueryWrapper<CptradePositionapply>().eq("applyid",applyid));
+        iCptradePositionapplyMapper.update(pa, new QueryWrapper<CptradePositionapply>().eq("applyid", applyid));
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
     }
 
@@ -255,13 +256,13 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
     public AjaxResult forwardfirstsave(String applyid, Integer applystatus, String firstremark, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
 
-        CptradePositionapply pa = iCptradePositionapplyMapper.selectOne(new QueryWrapper<CptradePositionapply>().eq("applyid",applyid));
+        CptradePositionapply pa = iCptradePositionapplyMapper.selectOne(new QueryWrapper<CptradePositionapply>().eq("applyid", applyid));
         pa.setApplystatus(applystatus);
         pa.setFirstauditid(systemmanager.getAutoid());
         pa.setFirstaudittime(new Date());
         pa.setFirstremark(firstremark);
 
-        iCptradePositionapplyMapper.update(pa,new QueryWrapper<CptradePositionapply>().eq("applyid",applyid));
+        iCptradePositionapplyMapper.update(pa, new QueryWrapper<CptradePositionapply>().eq("applyid", applyid));
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
     }
 
@@ -269,8 +270,8 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
     public AjaxResult forwardsecondsave(String applyid, Integer applystatus, String secondremark, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
 
-        CptradePositionapply pa = iCptradePositionapplyMapper.selectOne(new QueryWrapper<CptradePositionapply>().eq("applyid",applyid));
-        if(applystatus == 6){
+        CptradePositionapply pa = iCptradePositionapplyMapper.selectOne(new QueryWrapper<CptradePositionapply>().eq("applyid", applyid));
+        if (applystatus == 6) {
             pa.setApplystatus(applystatus);
         }
 
@@ -278,9 +279,9 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
         pa.setSecondaudittime(new Date());
         pa.setSecondremark(secondremark);
 
-        iCptradePositionapplyMapper.update(pa,new QueryWrapper<CptradePositionapply>().eq("applyid",applyid));
+        iCptradePositionapplyMapper.update(pa, new QueryWrapper<CptradePositionapply>().eq("applyid", applyid));
 
-        if(applystatus == 5){
+        if (applystatus == 5) {
             Long uuid = SerialNumberUtils.getNewSerialNumber(SerialNumberUtils.prefix_capacity);
             Calculator ca = new Calculator(uuid, FunCodeConstants.FunCode_Trade_CpPositionTransferInRetrialPassReq);
             SerialNumberUtils.lockMap.put(uuid, ca);
@@ -329,9 +330,31 @@ public class ForwardOrderServiceImpl implements IForwardOrderService {
 
     @Override
     public AjaxResult cancelapply(String cancelid, HttpServletRequest request) {
-        CptradePositioncancel pa = iCptradePositioncancelMapper.selectOne(new QueryWrapper<CptradePositioncancel>().eq("cancelid",cancelid));
+        CptradePositioncancel pa = iCptradePositioncancelMapper.selectOne(new QueryWrapper<CptradePositioncancel>().eq("cancelid", cancelid));
         pa.setApplystatus(8);
-        iCptradePositioncancelMapper.update(pa,new QueryWrapper<CptradePositioncancel>().eq("cancelid",cancelid));
+        iCptradePositioncancelMapper.update(pa, new QueryWrapper<CptradePositioncancel>().eq("cancelid", cancelid));
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
     }
+
+    @Override
+    public PageResult<ForwardPresalePositionResult> querypresaleposition(ForwardPresalePositionParam param, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        if (systemmanager.getReletype().intValue() != SysConstants.SYS_TYPE_MANAGE) {
+            param.setAreauserid(systemmanager.getAreauserid());
+        }
+        //只查询49定金转让的持仓,用于追加定金
+        param.setTrademodes("49");
+
+        PageResult<ForwardPresalePositionResult> pageResult = new PageResult<>();
+        IPage<ForwardPresalePositionResult> page = new Page<>(param.getPageNum(), param.getPageSize());
+        IPage<ForwardPresalePositionResult> resultIPage = iCptradePositionapplyMapper.querypresaleposition(page, param);
+        pageResult.setCode(Constants.Success_Code_Design);
+        pageResult.setMessage(AjaxResult.dealMsg(MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language")));
+        pageResult.setPages(resultIPage.getPages());
+        pageResult.setCurrent(resultIPage.getCurrent());
+        pageResult.setTotal(resultIPage.getTotal());
+        pageResult.setPageSize(resultIPage.getSize());
+        pageResult.setData(resultIPage.getRecords());
+        return pageResult;
+    }
 }

+ 233 - 213
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/UseraccountServiceImpl.java

@@ -429,260 +429,280 @@ public class UseraccountServiceImpl extends ServiceImpl<IUseraccountMapper, User
             return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_018.getCode(), request.getHeader("Accept-Language"));
         }
 
-        Integer usertype = 0;
+        Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", param.getUserid()));
+
+        Integer usertype = ua.getUsertype();
+        AjaxResult ajaxResult = null;
         if (Objects.equals(systemmanager.getReletype(), SysConstants.SYS_TYPE_MANAGE)) {
             //交易所审核
             if (dua.getModifystatus() != 3 && dua.getModifystatus() != 4) {
                 return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_018.getCode(), request.getHeader("Accept-Language"));
             }
-            Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", param.getUserid()));
-            boolean flag = 1 == ua.getHasauth();
-            usertype = ua.getUsertype();
-            if (param.getAuditflag() == 1) {
-                //交易所审核通过
-                DraftUserinfo dui = iDraftUserinfoMapper.selectOne(new QueryWrapper<DraftUserinfo>().eq("userid", param.getUserid()));
-                // 机构或子机构
-                if (dua.getUsertype().equals(2) || dua.getUsertype().equals(3)) {
-                    // 机构开户证件号码是否唯一
-                    String areacardflag = iCommonService.getSystemParam(Constants.REDIS_HEADER_SYSPARAM, Constants.SYSPARAM_CARD_NO);
-                    //验证证件号码是否存在
-                    if (areacardflag != null && areacardflag.equals("1") && !iCommonService.checkOranCardNumOrMobile(3, 1, dui.getUserid(), dui.getCardnum())) {
-                        return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
-                    }
-                }
-                String newMobile = dui.getMobile();
 
-                //验证手机号是否存在
-                if (!iCommonService.checkOranCardNumOrMobile(2, 2, dua.getUserid(), newMobile)) {
-                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_016.getCode(), request.getHeader("Accept-Language"));
-                }
+            // 平台审核直接走复审流程
+            // #7011 【管理端】经纪会员角色新增交易商开户初审,开户复审及实名审核权限。
+             ajaxResult = modifySecondAudit(param, dua, ua, systemmanager, request);
+        } else {
+            // #7011 【管理端】经纪会员角色新增交易商开户初审,开户复审及实名审核权限。
+            //经纪会员审核 3:变更待初审 4:变更待复审
+            if (dua.getModifystatus() == 3) {
+                // 经纪会员初审
+                ajaxResult = modifyFirstAudit(param, dua, ua, systemmanager, request);
+            } else if (dua.getModifystatus() == 4) {
+                // 经纪会员复审
+                ajaxResult = modifySecondAudit(param, dua, ua, systemmanager, request);
+            }
+        }
 
-                if (ua.getParentuserid().compareTo(dua.getParentuserid()) != 0) {
-                    Useraccount pua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", dua.getParentuserid()));
-                    dua.setSubarealevelpath(pua.getSubarealevelpath() + ua.getUserid() + ",");
-                }
+        if (ajaxResult != null) {
+            return ajaxResult;
+        }
 
-                Integer oldHasAuth = ua.getHasauth();
+        if (usertype == 3 || usertype == 4)
+            systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ_ZJG, "审核确认id={\"auditid\":" + param.getUserid() + "}", systemmanager, null, null, null);
+        else
+            systemmanagerService.writeOperateLog(SysConstants.PART_INVESTOR_MODIFY, "审核确认id={\"auditid\":" + param.getUserid() + "}", systemmanager, null, null, null);
 
-                BeanUtils.copyProperties(dua, ua);
-                ua.setModifystatus(1);
-                ua.setAudittime(new Date());
-                ua.setAudituserid(systemmanager.getAutoid());
-                ua.setModifytime(new Date());
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
+    }
 
-                // 从draft表NewContent取内容
-                DraftUseraccountNew newDua = JsonUtils.json2Object(dua.getNewcontent(), DraftUseraccountNew.class);
-                if (newDua == null || newDua.getHasauth() == null) {
-                    ua.setHasauth(1);
-                } else {
-                    ua.setHasauth(newDua.getHasauth());
+    private AjaxResult modifyFirstAudit(InvestorModifyAuditParam param, DraftUseraccountNew dua, Useraccount ua, Systemmanager systemmanager, HttpServletRequest request) {
+        if (param.getAuditflag() == 1) {
+            DraftUserinfo dui = iDraftUserinfoMapper.selectOne(new QueryWrapper<DraftUserinfo>().eq("userid", param.getUserid()));
+            // 机构或子机构
+            if (dua.getUsertype().equals(2) || dua.getUsertype().equals(3)) {
+                // 机构开户证件号码是否唯一
+                String areacardflag = iCommonService.getSystemParam(Constants.REDIS_HEADER_SYSPARAM, Constants.SYSPARAM_CARD_NO);
+                //验证证件号码是否存在
+                if (areacardflag != null && areacardflag.equals("1") && !iCommonService.checkOranCardNumOrMobile(3, 1, null, dui.getCardnum())) {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
                 }
+            }
 
-                iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
-                iDraftUseraccountNewMapper.deleteById(dua);
-
-                Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", param.getUserid()));
-                Integer needinvoice = ui.getNeedinvoice();
-                String oldMobile = ui.getMobile();
-
-                BeanUtils.copyProperties(dui, ui, new String[]{"userid", "halfbodyphotourl",
-                        "cardfrontphotourl", "cardbackphotourl", "mobile", "bankid", "bankaccount", "bankcardfrontphotourl"});
-                if (dui.getHalfbodyphotourl() != null && !dui.getHalfbodyphotourl().trim().isEmpty()) {
-                    ui.setHalfbodyphotourl(dui.getHalfbodyphotourl());
-                }
-                if (dui.getCardfrontphotourl() != null && !dui.getCardfrontphotourl().trim().isEmpty()) {
-                    ui.setCardfrontphotourl(dui.getCardfrontphotourl());
-                }
-                if (dui.getCardbackphotourl() != null && !dui.getCardbackphotourl().trim().isEmpty()) {
-                    ui.setCardbackphotourl(dui.getCardbackphotourl());
-                }
-                if (dui.getMobile() != null && StringUtils.isNotBlank(dui.getMobile())) {
-                    ui.setMobile(dui.getMobile());
-                }
+            //经纪会员审核通过
+            ua.setModifystatus(4);
+            iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
 
-                // wskh_openaccountconfig:45=1 时显示的银行卡字段特殊处理,在上面“copyProperties”时忽略
-                if (dui.getBankid() != null && StringUtils.isNotBlank(dui.getBankid())) {
-                    ui.setBankid(dui.getBankid());
-                }
-                if (dui.getBankaccount() != null && StringUtils.isNotBlank(dui.getBankaccount())) {
-                    ui.setBankaccount(dui.getBankaccount());
-                }
-                if (dui.getBankcardfrontphotourl() != null && StringUtils.isNotBlank(dui.getBankcardfrontphotourl())) {
-                    ui.setBankcardfrontphotourl(dui.getBankcardfrontphotourl());
-                }
-                ui.setOtherurl(ui.getOtherurl() == null ? "" : ui.getOtherurl());
-                ui.setNeedinvoice(needinvoice);
-                iUserinfoMapper.update(ui, new QueryWrapper<Userinfo>().eq("userid", ui.getUserid()));
-                iDraftUserinfoMapper.delete(new QueryWrapper<DraftUserinfo>().eq("userid", dui.getUserid()));
+            dua.setModifystatus(4);
+            iDraftUseraccountNewMapper.updateById(dua);
+        } else {
+            boolean isSend = false;
+            iDraftUseraccountNewMapper.deleteById(dua);
+            iDraftUserinfoMapper.delete(new QueryWrapper<DraftUserinfo>().eq("USERID", dua.getUserid()));
+
+            ua.setModifystatus(5);
+            ua.setAudittime(new Date());
+            ua.setAudituserid(systemmanager.getAutoid());
+            ua.setModifyremark(param.getMsg());
+            if (ua.getHasauth() != 1) {
+                ua.setHasauth(3);
+                isSend = true;
+            }
 
-                //发送用户变更通知
-                try {
-                    List<Taaccount> list = iTaaccountMapper.selectList(new QueryWrapper<Taaccount>()
-                            .eq("userid", ui.getUserid())
-                            .eq("ismain", 1)
-                    );
-                    if (list != null && !list.isEmpty()) {
-                        list.forEach(p -> {
-                            iSendMsgService.sendCustomerInfo(ui, p.getAccountid(), "2", 0);
-
-                            //发给账户服务的,用户变更通知
-                            iSendMsgService.sendUserChangeMsg(p.getAccountid(), ui.getUserid(),
-                                    SysEnums.UserOperateTypeEnum.UPDATE.getType(),
-                                    SysEnums.NotifyModeEnum.UNICAST.getType());
-                        });
-                    }
-                } catch (Exception e) {
-                    log.error("发送用户变更通知失败,失败原因:" + e);
-                }
+            iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
 
+            if (isSend) {
                 Object o = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "075");
-                if (!flag && o != null && o.toString().startsWith("1")) {
+                if (o != null && o.toString().startsWith("1")) {
+                    Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", ua.getUserid()));
                     try {
                         List<String> params = new ArrayList<>();
                         String p[] = o.toString().split(",");
                         params.add(ua.getAccountname().replaceAll("\\*", ""));
+                        params.add(param.getMsg().replaceAll("\\*", ""));
                         params.add(p[1]);
-                        iSendMsgService.sendSMSConnetion(30, EncryptionUtils.decryptForAES(ui.getMobile()), params);
+                        iSendMsgService.sendSMSConnetion(31, EncryptionUtils.decryptForAES(ui.getMobile()), params);
                     } catch (Exception e) {
-                        log.error("error  systemparam----------------------");
+                        log.error("error  systemparam----------------------%s" + Arrays.toString(e.getStackTrace()));
                     }
                 }
+            }
+        }
+        return null;
+    }
 
-                //todo THJ - 994=1时交易所实名认证审核通过时,如果用户为投资者,给推荐人添加积分 - 20221229  #4455
-                /*if (ua.getUsertype() == 5 && oldHasAuth != 1 && ua.getRefereeuserid() != null) {
-                    this.THJBuildRefUserScore(user.getAreauserid(), ua.getUserid());
-                }*/
+    private AjaxResult modifySecondAudit(InvestorModifyAuditParam param, DraftUseraccountNew dua, Useraccount ua, Systemmanager systemmanager, HttpServletRequest request) {
+        boolean flag = 1 == ua.getHasauth();
+        if (param.getAuditflag() == 1) {
+            //交易所审核通过
+            DraftUserinfo dui = iDraftUserinfoMapper.selectOne(new QueryWrapper<DraftUserinfo>().eq("userid", param.getUserid()));
+            // 机构或子机构
+            if (dua.getUsertype().equals(2) || dua.getUsertype().equals(3)) {
+                // 机构开户证件号码是否唯一
+                String areacardflag = iCommonService.getSystemParam(Constants.REDIS_HEADER_SYSPARAM, Constants.SYSPARAM_CARD_NO);
+                //验证证件号码是否存在
+                if (areacardflag != null && areacardflag.equals("1") && !iCommonService.checkOranCardNumOrMobile(3, 1, dui.getUserid(), dui.getCardnum())) {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
+                }
+            }
+            String newMobile = dui.getMobile();
 
-                // 交易商时,处理逻辑
-                if (dua.getUsertype().equals(5)) {
-                    // 有三方实名认证配置,且无记录 则生成相应的表记录; -- gzys 爱签 \ tjmd 腾讯电子签
-                    addUserESignInfo(ua.getUserid(), ua.getMemberuserid());
+            //验证手机号是否存在
+            if (!iCommonService.checkOranCardNumOrMobile(2, 2, dua.getUserid(), newMobile)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_016.getCode(), request.getHeader("Accept-Language"));
+            }
 
-                    // 若手机号有修改,更新“userauthinfo”表,否则无法开户
-                    if (newMobile != null && !oldMobile.equals(newMobile)) {
-                        // 获取原手机号三方登录表记录
-                        Userauthinfo userAuthInfo = iUserauthinfoMapper.selectOne(new QueryWrapper<Userauthinfo>()
-                                .eq("authid", oldMobile)
-                                .eq("authtype", 3));
+            if (ua.getParentuserid().compareTo(dua.getParentuserid()) != 0) {
+                Useraccount pua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", dua.getParentuserid()));
+                dua.setSubarealevelpath(pua.getSubarealevelpath() + ua.getUserid() + ",");
+            }
 
-                        if (userAuthInfo != null) {
-                            // 删除原记录
-                            iUserauthinfoMapper.delete(new QueryWrapper<Userauthinfo>()
-                                    .eq("authid", oldMobile)
-                                    .eq("authtype", 3));
-                            // 新增记录
-                            Userauthinfo newUserAuthinfo = new Userauthinfo();
-                            newUserAuthinfo.setAuthid(newMobile);
-                            newUserAuthinfo.setAuthtype(3);
-                            newUserAuthinfo.setLoginid(userAuthInfo.getLoginid());
-                            newUserAuthinfo.setUserid(userAuthInfo.getUserid());
-                            newUserAuthinfo.setIsvalid(1);
-                            iUserauthinfoMapper.insert(newUserAuthinfo);
-                        }
-                    }
-                }
+            Integer oldHasAuth = ua.getHasauth();
+
+            BeanUtils.copyProperties(dua, ua);
+            ua.setModifystatus(1);
+            ua.setAudittime(new Date());
+            ua.setAudituserid(systemmanager.getAutoid());
+            ua.setModifytime(new Date());
 
-                //31	审核拒绝的,尊敬的:XXXx,您提交的实名认证信息未通过,原因:xxxxx,请登录{尚志贸易通}重新提交认证信息,详情请咨询{4007-444-555}
-                //30	审核通过的,尊敬的:XXXx,您在{尚志贸易通}提交的实名认证信息已通过,详情请咨询{4007-444-555}
-                //sendMsgService.sendSMSConnetion(templateId, recPhone, params);
+            // 从draft表NewContent取内容
+            DraftUseraccountNew newDua = JsonUtils.json2Object(dua.getNewcontent(), DraftUseraccountNew.class);
+            if (newDua == null || newDua.getHasauth() == null) {
+                ua.setHasauth(1);
             } else {
-                boolean isSend = false;
-                iDraftUseraccountNewMapper.deleteById(dua);
-                iDraftUserinfoMapper.delete(new QueryWrapper<DraftUserinfo>().eq("USERID", dua.getUserid()));
-
-                ua.setModifystatus(6);
-                ua.setAudittime(new Date());
-                ua.setAudituserid(systemmanager.getAutoid());
-                ua.setModifyremark(param.getMsg());
-                if (ua.getHasauth() != 1) {
-                    ua.setHasauth(3);
-                    isSend = true;
-                }
-                iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
-                //发送
-                if (isSend) {
-                    Object o = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "075");
-                    if (o != null && o.toString().startsWith("1")) {
-                        Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", ua.getUserid()));
-                        try {
-                            List<String> params = new ArrayList<>();
-                            String[] p = o.toString().split(",");
-                            params.add(ua.getAccountname().replaceAll("\\*", ""));
-                            params.add(param.getMsg().replaceAll("\\*", ""));
-                            params.add(p[1]);
-                            iSendMsgService.sendSMSConnetion(31, EncryptionUtils.decryptForAES(ui.getMobile()), params);
-                        } catch (Exception e) {
-                            log.error("error  systemparam----------------------" + Arrays.toString(e.getStackTrace()));
-                        }
-                    }
-                }
+                ua.setHasauth(newDua.getHasauth());
             }
-        } else {
-            //经纪会员审核
-            if (dua.getModifystatus() != 3) {
-                return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_018.getCode(), request.getHeader("Accept-Language"));
+
+            iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
+            iDraftUseraccountNewMapper.deleteById(dua);
+
+            Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", param.getUserid()));
+            Integer needinvoice = ui.getNeedinvoice();
+            String oldMobile = ui.getMobile();
+
+            BeanUtils.copyProperties(dui, ui, new String[]{"userid", "halfbodyphotourl",
+                    "cardfrontphotourl", "cardbackphotourl", "mobile", "bankid", "bankaccount", "bankcardfrontphotourl"});
+            if (dui.getHalfbodyphotourl() != null && !dui.getHalfbodyphotourl().trim().isEmpty()) {
+                ui.setHalfbodyphotourl(dui.getHalfbodyphotourl());
             }
-            Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", param.getUserid()));
-            usertype = ua.getUsertype();
-            if (param.getAuditflag() == 1) {
-                DraftUserinfo dui = iDraftUserinfoMapper.selectOne(new QueryWrapper<DraftUserinfo>().eq("userid", param.getUserid()));
-                // 机构或子机构
-                if (dua.getUsertype().equals(2) || dua.getUsertype().equals(3)) {
-                    // 机构开户证件号码是否唯一
-                    String areacardflag = iCommonService.getSystemParam(Constants.REDIS_HEADER_SYSPARAM, Constants.SYSPARAM_CARD_NO);
-                    //验证证件号码是否存在
-                    if (areacardflag != null && areacardflag.equals("1") && !iCommonService.checkOranCardNumOrMobile(3, 1, null, dui.getCardnum())) {
-                        return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
-                    }
+            if (dui.getCardfrontphotourl() != null && !dui.getCardfrontphotourl().trim().isEmpty()) {
+                ui.setCardfrontphotourl(dui.getCardfrontphotourl());
+            }
+            if (dui.getCardbackphotourl() != null && !dui.getCardbackphotourl().trim().isEmpty()) {
+                ui.setCardbackphotourl(dui.getCardbackphotourl());
+            }
+            if (dui.getMobile() != null && StringUtils.isNotBlank(dui.getMobile())) {
+                ui.setMobile(dui.getMobile());
+            }
+
+            // wskh_openaccountconfig:45=1 时显示的银行卡字段特殊处理,在上面“copyProperties”时忽略
+            if (dui.getBankid() != null && StringUtils.isNotBlank(dui.getBankid())) {
+                ui.setBankid(dui.getBankid());
+            }
+            if (dui.getBankaccount() != null && StringUtils.isNotBlank(dui.getBankaccount())) {
+                ui.setBankaccount(dui.getBankaccount());
+            }
+            if (dui.getBankcardfrontphotourl() != null && StringUtils.isNotBlank(dui.getBankcardfrontphotourl())) {
+                ui.setBankcardfrontphotourl(dui.getBankcardfrontphotourl());
+            }
+            ui.setOtherurl(ui.getOtherurl() == null ? "" : ui.getOtherurl());
+            ui.setNeedinvoice(needinvoice);
+            iUserinfoMapper.update(ui, new QueryWrapper<Userinfo>().eq("userid", ui.getUserid()));
+            iDraftUserinfoMapper.delete(new QueryWrapper<DraftUserinfo>().eq("userid", dui.getUserid()));
+
+            //发送用户变更通知
+            try {
+                List<Taaccount> list = iTaaccountMapper.selectList(new QueryWrapper<Taaccount>()
+                        .eq("userid", ui.getUserid())
+                        .eq("ismain", 1)
+                );
+                if (list != null && !list.isEmpty()) {
+                    list.forEach(p -> {
+                        iSendMsgService.sendCustomerInfo(ui, p.getAccountid(), "2", 0);
+
+                        //发给账户服务的,用户变更通知
+                        iSendMsgService.sendUserChangeMsg(p.getAccountid(), ui.getUserid(),
+                                SysEnums.UserOperateTypeEnum.UPDATE.getType(),
+                                SysEnums.NotifyModeEnum.UNICAST.getType());
+                    });
                 }
+            } catch (Exception e) {
+                log.error("发送用户变更通知失败,失败原因:" + e);
+            }
 
-                //经纪会员审核通过
-                ua.setModifystatus(4);
-                iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
+            Object o = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "075");
+            if (!flag && o != null && o.toString().startsWith("1")) {
+                try {
+                    List<String> params = new ArrayList<>();
+                    String p[] = o.toString().split(",");
+                    params.add(ua.getAccountname().replaceAll("\\*", ""));
+                    params.add(p[1]);
+                    iSendMsgService.sendSMSConnetion(30, EncryptionUtils.decryptForAES(ui.getMobile()), params);
+                } catch (Exception e) {
+                    log.error("error  systemparam----------------------");
+                }
+            }
 
-                dua.setModifystatus(4);
-                iDraftUseraccountNewMapper.updateById(dua);
-            } else {
-                boolean isSend = false;
-                iDraftUseraccountNewMapper.deleteById(dua);
-                iDraftUserinfoMapper.delete(new QueryWrapper<DraftUserinfo>().eq("USERID", dua.getUserid()));
-
-                ua.setModifystatus(5);
-                ua.setAudittime(new Date());
-                ua.setAudituserid(systemmanager.getAutoid());
-                ua.setModifyremark(param.getMsg());
-                if (ua.getHasauth() != 1) {
-                    ua.setHasauth(3);
-                    isSend = true;
+            //todo THJ - 994=1时交易所实名认证审核通过时,如果用户为投资者,给推荐人添加积分 - 20221229  #4455
+                /*if (ua.getUsertype() == 5 && oldHasAuth != 1 && ua.getRefereeuserid() != null) {
+                    this.THJBuildRefUserScore(user.getAreauserid(), ua.getUserid());
+                }*/
+
+            // 交易商时,处理逻辑
+            if (dua.getUsertype().equals(5)) {
+                // 有三方实名认证配置,且无记录 则生成相应的表记录; -- gzys 爱签 \ tjmd 腾讯电子签
+                addUserESignInfo(ua.getUserid(), ua.getMemberuserid());
+
+                // 若手机号有修改,更新“userauthinfo”表,否则无法开户
+                if (newMobile != null && !oldMobile.equals(newMobile)) {
+                    // 获取原手机号三方登录表记录
+                    Userauthinfo userAuthInfo = iUserauthinfoMapper.selectOne(new QueryWrapper<Userauthinfo>()
+                            .eq("authid", oldMobile)
+                            .eq("authtype", 3));
+
+                    if (userAuthInfo != null) {
+                        // 删除原记录
+                        iUserauthinfoMapper.delete(new QueryWrapper<Userauthinfo>()
+                                .eq("authid", oldMobile)
+                                .eq("authtype", 3));
+                        // 新增记录
+                        Userauthinfo newUserAuthinfo = new Userauthinfo();
+                        newUserAuthinfo.setAuthid(newMobile);
+                        newUserAuthinfo.setAuthtype(3);
+                        newUserAuthinfo.setLoginid(userAuthInfo.getLoginid());
+                        newUserAuthinfo.setUserid(userAuthInfo.getUserid());
+                        newUserAuthinfo.setIsvalid(1);
+                        iUserauthinfoMapper.insert(newUserAuthinfo);
+                    }
                 }
+            }
 
-                iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
-
-                if (isSend) {
-                    Object o = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "075");
-                    if (o != null && o.toString().startsWith("1")) {
-                        Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", ua.getUserid()));
-                        try {
-                            List<String> params = new ArrayList<>();
-                            String p[] = o.toString().split(",");
-                            params.add(ua.getAccountname().replaceAll("\\*", ""));
-                            params.add(param.getMsg().replaceAll("\\*", ""));
-                            params.add(p[1]);
-                            iSendMsgService.sendSMSConnetion(31, EncryptionUtils.decryptForAES(ui.getMobile()), params);
-                        } catch (Exception e) {
-                            log.error("error  systemparam----------------------%s" + Arrays.toString(e.getStackTrace()));
-                        }
+            //31	审核拒绝的,尊敬的:XXXx,您提交的实名认证信息未通过,原因:xxxxx,请登录{尚志贸易通}重新提交认证信息,详情请咨询{4007-444-555}
+            //30	审核通过的,尊敬的:XXXx,您在{尚志贸易通}提交的实名认证信息已通过,详情请咨询{4007-444-555}
+            //sendMsgService.sendSMSConnetion(templateId, recPhone, params);
+        } else {
+            boolean isSend = false;
+            iDraftUseraccountNewMapper.deleteById(dua);
+            iDraftUserinfoMapper.delete(new QueryWrapper<DraftUserinfo>().eq("USERID", dua.getUserid()));
+
+            ua.setModifystatus(6);
+            ua.setAudittime(new Date());
+            ua.setAudituserid(systemmanager.getAutoid());
+            ua.setModifyremark(param.getMsg());
+            if (ua.getHasauth() != 1) {
+                ua.setHasauth(3);
+                isSend = true;
+            }
+            iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
+            //发送
+            if (isSend) {
+                Object o = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "075");
+                if (o != null && o.toString().startsWith("1")) {
+                    Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", ua.getUserid()));
+                    try {
+                        List<String> params = new ArrayList<>();
+                        String[] p = o.toString().split(",");
+                        params.add(ua.getAccountname().replaceAll("\\*", ""));
+                        params.add(param.getMsg().replaceAll("\\*", ""));
+                        params.add(p[1]);
+                        iSendMsgService.sendSMSConnetion(31, EncryptionUtils.decryptForAES(ui.getMobile()), params);
+                    } catch (Exception e) {
+                        log.error("error  systemparam----------------------" + Arrays.toString(e.getStackTrace()));
                     }
                 }
             }
         }
-
-        if (usertype == 3 || usertype == 4)
-            systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ_ZJG, "审核确认id={\"auditid\":" + param.getUserid() + "}", systemmanager, null, null, null);
-        else
-            systemmanagerService.writeOperateLog(SysConstants.PART_INVESTOR_MODIFY, "审核确认id={\"auditid\":" + param.getUserid() + "}", systemmanager, null, null, null);
-
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
+        return null;
     }
 
     @Override

+ 7 - 1
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/WskhUserinfoServiceImpl.java

@@ -605,10 +605,16 @@ public class WskhUserinfoServiceImpl extends ServiceImpl<IWskhUserinfoMapper, Ws
                 wui.setUserstate(4);
                 iWskhUserinfoMapper.updateById(wui);
             } else {
-                wui.setUserstate(3);
                 if (param.getMsg().length() > 80) {
                     return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_020.getCode(), request.getHeader("Accept-Language"));
                 }
+                if (wui.getUserstate() == 2) {
+                    // 3:初审拒绝
+                    wui.setUserstate(3);
+                }else if (wui.getUserstate() == 4){
+                    // 5:复审拒绝
+                    wui.setUserstate(5);
+                }
                 //不通过原因
                 wui.setRemark(param.getMsg());
                 sendFailreMsg(wui);

+ 31 - 0
mtp3-century/src/main/resources/mapper/CptradePositionapplyMapper.xml

@@ -269,4 +269,35 @@
         </if>
         order by t.createtime desc, g1.goodscode
     </select>
+    <select id="querypresaleposition"
+            resultType="com.muchinfo.mtp3pojos.vo.presale.ForwardPresalePositionResult">
+        select ua.userid || '/' || ua.accountname "accountname",
+        g.goodscode || '/' || g.goodsname "secondgoods",
+        tp.buycurpositionqty "buycurpositionqty", tp.buyfrozenqty "buyfrozenqty",
+        tpex.transferdepositratio * 100 "transferdepositratio", tpex.transferdeposit "transferdeposit",
+        tpex.depositremain "depositremain", tpex.paystatus "paystatus",
+        ua.userid "userid", tp.accountid "accountid", tp.goodsid "goodsid",
+        g.marketid "marketid", mt.trademode "trademode"
+        from TradePosition tp
+        inner join TradePositionEx tpex on tp.accountid = tpex.accountid and tp.goodsid = tpex.goodsid
+        left join taaccount ta on tp.accountid = ta.accountid
+        left join useraccount ua on ta.userid = ua.userid
+        left join goods g on tp.goodsid = g.goodsid
+        inner join market mt on g.marketid = mt.marketid
+        <where>
+            <if test="vo.trademodes != null and vo.trademodes != ''">
+                and mt.trademode in (${vo.trademodes})
+            </if>
+            <if test="vo.username != null and vo.username != ''">
+                and (ua.accountname like '%'||#{vo.username}||'%' or ua.userid like '%'||#{vo.username}||'%')
+            </if>
+            <if test="vo.goodsname != null and vo.goodsname != ''">
+                and (g.goodscode like '%'||#{vo.goodsname}||'%' or g.goodsname like '%'||#{vo.goodsname}||'%')
+            </if>
+            <if test="vo.paystatus != null and vo.paystatus != ''">
+                and tpex.paystatus = #{vo.paystatus}
+            </if>
+        </where>
+        order by ua.accountname, g.goodscode
+    </select>
 </mapper>

+ 1 - 1
mtp3-century/src/main/resources/mapper/UseraccountMapper.xml

@@ -551,7 +551,7 @@
             </if>
             <choose>
                 <when test="vo.memberuserid != null">
-                    and o.memberuserid = #{vo.memberuserid} and o.modifystatus = 3
+                    and o.memberuserid = #{vo.memberuserid} and o.modifystatus in (3,4)
                 </when>
                 <otherwise>
                     and o.modifystatus in (3,4)

+ 2 - 0
mtp3-interface/src/main/java/com/muchinfo/mtp3interface/mapper/ICptradePositionapplyMapper.java

@@ -35,4 +35,6 @@ public interface ICptradePositionapplyMapper extends BaseMapper<CptradePositiona
     List<ForwardCancelApplyInit> cancelApplyAddInit(@Param("accountid") Long accountid);
 
     IPage<ForwardPresaleResult> querypresaleresult(IPage<ForwardPresaleResult> page,@Param("vo") ForwardPresaleParam param);
+
+    IPage<ForwardPresalePositionResult> querypresaleposition(IPage<ForwardPresalePositionResult> page,@Param("vo")  ForwardPresalePositionParam param);
 }

+ 35 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/presale/ForwardPresalePositionParam.java

@@ -0,0 +1,35 @@
+package com.muchinfo.mtp3pojos.vo.presale;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "ForwardPresalePositionParam对象", description = "定金持仓")
+public class ForwardPresalePositionParam {
+
+    @ApiModelProperty(value = "持仓人")
+    private String username;
+
+    @ApiModelProperty(value = "转让商品")
+    private String goodsname;
+
+    @ApiModelProperty(value = "支付状态")
+    private String paystatus;
+
+    @ApiModelProperty(value = "页码")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "页大小")
+    private Integer pageSize;
+
+    private Long areauserid;
+
+    private String trademodes;
+}

+ 44 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/presale/ForwardPresalePositionResult.java

@@ -0,0 +1,44 @@
+package com.muchinfo.mtp3pojos.vo.presale;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "ForwardPresalePositionResult对象", description = "定金持仓返回响应")
+public class ForwardPresalePositionResult {
+
+    @ApiModelProperty(value = "持有人")
+    private String accountname;
+
+    @ApiModelProperty(value = "转让商品")
+    private String secondgoods;
+
+    @ApiModelProperty(value = "持仓数量")
+    private Integer buycurpositionqty;
+
+    @ApiModelProperty(value = "冻结数量")
+    private Integer buyfrozenqty;
+
+    @ApiModelProperty(value = "转让定金比例(%)")
+    private BigDecimal transferdepositratio;
+
+    @ApiModelProperty(value = "转让定金")
+    private BigDecimal transferdeposit;
+
+    @ApiModelProperty(value = "未付定金")
+    private BigDecimal depositremain;
+
+    @ApiModelProperty(value = "支付状态")
+    private Integer paystatus;
+
+    private Long accountid;
+}