Ver Fonte

新增机构资料管理接口,修改bug

xie.kaifeng há 11 meses atrás
pai
commit
0048cc3d37

+ 27 - 5
mtp3-century/src/main/java/com/muchinfo/mtp3century/controller/OrganController.java

@@ -132,8 +132,11 @@ public class OrganController {
     @ApiOperation("会员机构管理-->机构管理-->机构资料管理-->登陆账号-->重置登入密码")
     @RequestMapping(method = RequestMethod.GET, value = "/updateStatus")
     @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
-    private AjaxResult updateStatus(SystemUserVo vo, HttpServletRequest request) {
-        return iSystemmanagerService.dealUserStatus(vo, request);
+    private AjaxResult updateStatus(Long userid, Integer type, HttpServletRequest request) {
+        SystemUserVo systemUserVo = new SystemUserVo();
+        systemUserVo.setAutoid(userid);
+        systemUserVo.setType(type);
+        return iSystemmanagerService.dealUserStatus(systemUserVo, request);
     }
 
     @ApiOperation("会员机构管理-->机构管理-->机构资料管理-->登入账号-->全部启用/全部停用")
@@ -214,6 +217,20 @@ public class OrganController {
         return iOrganService.roleadd(vo, request);
     }
 
+    @ApiOperation("会员机构管理-->机构管理-->机构资料管理-->注销")
+    @RequestMapping(method = RequestMethod.GET, value = "/logout")
+    @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
+    private AjaxResult logout(Long userid, HttpServletRequest request) {
+        return iOrganService.logout(userid, request);
+    }
+
+    @ApiOperation("会员机构管理-->机构管理-->机构资料管理-->恢复")
+    @RequestMapping(method = RequestMethod.GET, value = "/recover")
+    @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
+    private AjaxResult recover(Long userid, HttpServletRequest request) {
+        return iTaaccountService.recover(userid, request);
+    }
+
     @ApiOperation("会员机构管理-->机构管理-->商品限制设置-->获取列表")
     @RequestMapping(method = RequestMethod.GET, value = "/querymembergoodslimit")
     @ApiResponse(code = 200, message = "成功", response = PageResult.class)
@@ -273,8 +290,14 @@ public class OrganController {
     @ApiOperation("会员机构管理-->机构管理-->机构资料管理-->修改")
     @RequestMapping(method = RequestMethod.POST, value = "/editorgan")
     @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
-    private AjaxResult editsonorgan(@RequestBody OrganAddSonOrganParam param, HttpServletRequest request) {
-        return iOrganService.editorgan(param, request);
+    private AjaxResult editsonorgan(@RequestBody String param, HttpServletRequest request) {
+        try {
+            OrganAddSonOrganParam current = JsonUtils.toBean(CenturyDecryptUtil.decryptForJson(param, request), OrganAddSonOrganParam.class);
+            return iOrganService.editorgan(current, request);
+        } catch (Exception e) {
+            log.error("机构资料管理修改失败,失败原因:" + e);
+            return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM002.getCode(), request.getHeader("Accept-Language"));
+        }
     }
 
     @ApiOperation("会员机构管理-->机构管理-->账户个性化设置--> 获取树结构")
@@ -325,5 +348,4 @@ public class OrganController {
     public AjaxResult tradeConfigAdd(@RequestBody SupportTradeConfigAddParam param, HttpServletRequest request) {
         return iOrganService.tradeConfigAdd(param, request);
     }
-
 }

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

@@ -73,4 +73,6 @@ public interface IOrganService {
     AjaxResult<OrganInitAccountAddResult> loadSelectOption(PersonalizationDelParam param, HttpServletRequest request);
 
     AjaxResult tradeConfigAdd(SupportTradeConfigAddParam param, HttpServletRequest request);
+
+    AjaxResult logout(Long userid, HttpServletRequest request);
 }

+ 3 - 4
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/BankAccountSignServiceImpl.java

@@ -109,7 +109,7 @@ public class BankAccountSignServiceImpl implements IBankAccountSignService {
         PutOrInAmountQueryResultDetail resultDetail = iBankAccountoutinapplyMapper.queryById(accountcode, cusbankid, tradedate, exchticket);
         if (StringUtils.isNotBlank(resultDetail.getExtendinfo())) {
             BankSignExtendInfo info = JSON.parseObject(resultDetail.getExtendinfo(), BankSignExtendInfo.class);
-            if (info.getCertificate_photo_url() != null && info.getCertificate_photo_url().trim().equals("")) {
+            if (info.getCertificate_photo_url() != null && info.getCertificate_photo_url().trim().isEmpty()) {
                 info.setCertificate_photo_url(null);
             }
             resultDetail.setBankSignExtendInfo(info);
@@ -189,7 +189,7 @@ public class BankAccountSignServiceImpl implements IBankAccountSignService {
 
             BankMI1.t2bBankSignReq.Builder builder = BankMI1.t2bBankSignReq.newBuilder();
             Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
-            hd.setAccountID(Long.valueOf(sign.getAccountcode()));
+            hd.setAccountID(Long.parseLong(sign.getAccountcode()));
             hd.setFunCode(FunCodeConstants.FunCode_Trade_t2bBankSignReq);
             builder.setHeader(hd);
             builder.setTradeDate(DateTimeUtils.format(new Date(), DateTimeUtils.DATE_CHAR_PATTERN));
@@ -275,7 +275,7 @@ public class BankAccountSignServiceImpl implements IBankAccountSignService {
                     .eq("cusbankid", sign.getCusbankid()));
             Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
             hd.setUUID(uuid.toString());
-            hd.setAccountID(Long.valueOf(sign.getAccountcode()));
+            hd.setAccountID(Long.parseLong(sign.getAccountcode()));
             hd.setFunCode(FunCodeConstants.FunCode_Trade_t2bBankCancelSignReq);
             builder.setHeader(hd);
             builder.setTradeDate(DateTimeUtils.format(new Date(), DateTimeUtils.DATE_CHAR_PATTERN));
@@ -334,7 +334,6 @@ public class BankAccountSignServiceImpl implements IBankAccountSignService {
                     return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM005.getCode(), request.getHeader("Accept-Language"));
                 }
             } catch (InterruptedException e) {
-                e.printStackTrace();
                 log.error("处理银行签约信息失败,失败信息:" + e);
             } finally {
                 SerialNumberUtils.lockMap.remove(uuid);

+ 34 - 38
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/CommonServiceImpl.java

@@ -30,9 +30,7 @@ import org.springframework.amqp.core.Message;
 import org.springframework.amqp.core.MessageProperties;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.data.redis.connection.RedisConnection;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
 import org.springframework.stereotype.Service;
 import com.muchinfo.mtp3common.utils.SerialNumberUtils;
 import com.muchinfo.mtp3common.vo.Calculator;
@@ -45,10 +43,10 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
-import java.io.FileOutputStream;
-import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -162,7 +160,7 @@ public class CommonServiceImpl implements ICommonService {
                     if (!request.getParameterMap().containsKey(IS_TARGET_FILENAME)) {
                         fileName = this.generateFileName(fileName);
                     }
-                    FileCopyUtils.copy(item.getBytes(), new FileOutputStream(getImagePath + fileName));
+                    FileCopyUtils.copy(item.getBytes(), Files.newOutputStream(Paths.get(getImagePath + fileName)));
                     meta.setSubmitName(entry.getKey());
                     meta.setOriginalName(item.getOriginalFilename());
                     meta.setFilePageName(filePageName);
@@ -231,7 +229,7 @@ public class CommonServiceImpl implements ICommonService {
             tradeModeSplit = param.getTrademodels().split(",");
         }
 
-        List<GoodsSelectResult> goodsSelectResults = iGoodsMapper.queryGoodsSelect(split,tradeModeSplit, param);
+        List<GoodsSelectResult> goodsSelectResults = iGoodsMapper.queryGoodsSelect(split, tradeModeSplit, param);
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), goodsSelectResults);
     }
 
@@ -286,38 +284,36 @@ public class CommonServiceImpl implements ICommonService {
             if (valuebts != null) {
                 QuoteMI1.RealtimeQuote goodQuot = QuoteMI1.RealtimeQuote.parseFrom(valuebts);
                 BigDecimal pow = BigDecimal.TEN.pow(goodQuot.getDecimalPlace());
-                if (goodQuot != null) {
-                    //根据“系统“市场状态取价格
-                    Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid", 0L));
-                    if (mr.getRunstatus() == 24 || mr.getRunstatus() == 26 || mr.getRunstatus() == 27) {
-                        //状态为24,26,27
-                        //最新价顺序:实时结算价->最新成交价->昨日结算
-                        if (goodQuot.getReckonPrice() > 0) {
-                            newPrice = new BigDecimal(goodQuot.getReckonPrice());
-                        } else if (goodQuot.getLast() > 0) {
-                            newPrice = new BigDecimal(goodQuot.getLast());
-                        } else if (goodQuot.getPreReckonPrice() > 0) {
-                            newPrice = new BigDecimal(goodQuot.getPreReckonPrice());
-                        }
-                    } else {
-                        //最新价顺序:最新成交价->昨日结算
-                        if (goodQuot.getLast() > 0) {
-                            newPrice = new BigDecimal(goodQuot.getLast());
-                        } else if (goodQuot.getPreReckonPrice() > 0) {
-                            newPrice = new BigDecimal(goodQuot.getPreReckonPrice());
-                        }
+                //根据“系统“市场状态取价格
+                Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid", 0L));
+                if (mr.getRunstatus() == 24 || mr.getRunstatus() == 26 || mr.getRunstatus() == 27) {
+                    //状态为24,26,27
+                    //最新价顺序:实时结算价->最新成交价->昨日结算
+                    if (goodQuot.getReckonPrice() > 0) {
+                        newPrice = new BigDecimal(goodQuot.getReckonPrice());
+                    } else if (goodQuot.getLast() > 0) {
+                        newPrice = new BigDecimal(goodQuot.getLast());
+                    } else if (goodQuot.getPreReckonPrice() > 0) {
+                        newPrice = new BigDecimal(goodQuot.getPreReckonPrice());
                     }
-                    //最新价均获取不到,则该商品持仓不计算浮动盈亏
-                    newPrice = newPrice.divide(pow);
-                    if (newPrice.compareTo(new BigDecimal(0)) > 0) {
-                        Integer bsFlat = buyorsell == 0 ? 1 : -1;
-                        // 浮动盈亏统一公式 (最新价*持仓数量*合约单位 - 持仓金额) *方向(买[1]:卖[-1])
-                        floatPL = newPrice.multiply(agreeUnit).multiply(BigDecimal.valueOf(holdQty)).subtract(holderamount).multiply(new BigDecimal(bsFlat)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                } else {
+                    //最新价顺序:最新成交价->昨日结算
+                    if (goodQuot.getLast() > 0) {
+                        newPrice = new BigDecimal(goodQuot.getLast());
+                    } else if (goodQuot.getPreReckonPrice() > 0) {
+                        newPrice = new BigDecimal(goodQuot.getPreReckonPrice());
                     }
                 }
+                //最新价均获取不到,则该商品持仓不计算浮动盈亏
+                newPrice = newPrice.divide(pow);
+                if (newPrice.compareTo(new BigDecimal(0)) > 0) {
+                    int bsFlat = buyorsell == 0 ? 1 : -1;
+                    // 浮动盈亏统一公式 (最新价*持仓数量*合约单位 - 持仓金额) *方向(买[1]:卖[-1])
+                    floatPL = newPrice.multiply(agreeUnit).multiply(BigDecimal.valueOf(holdQty)).subtract(holderamount).multiply(new BigDecimal(bsFlat)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                }
             }
         } catch (Exception e) {
-            e.printStackTrace();
+            logger.error("计算浮动盈亏失败,失败原因:" + e.getMessage());
         }
         return floatPL;
     }
@@ -472,7 +468,7 @@ public class CommonServiceImpl implements ICommonService {
                     result.put("money", new BigDecimal(money).setScale(2, RoundingMode.HALF_UP));
                 }
             } catch (InterruptedException e) {
-                e.printStackTrace();
+                logger.error("获取可用金额失败,失败原因:" + e.getMessage());
             } finally {
                 SerialNumberUtils.lockMap.remove(uuid);
             }
@@ -554,7 +550,7 @@ public class CommonServiceImpl implements ICommonService {
 
                     iSendMsgService.sendLoginMsg(logins, type, 0);
                 } catch (Exception ex) {
-                    ex.printStackTrace();
+                    logger.error("发送消息" + type + "失败,失败原因:" + ex.getMessage());
                 }
             }
         });
@@ -742,7 +738,7 @@ public class CommonServiceImpl implements ICommonService {
         for (int i = 0; i < decimalplace; i++) {
             strUnit += "0";
         }
-        Double decimal = Double.valueOf(strUnit);
+        double decimal = Double.parseDouble(strUnit);
         try {
             QuoteMI1.RealtimeQuote quoteProto = QuoteMI1.RealtimeQuote.parseFrom(value);
             if (quoteProto != null) {
@@ -785,9 +781,9 @@ public class CommonServiceImpl implements ICommonService {
 
     @Override
     public AjaxResult queryMobileByUserId(Long userid, HttpServletRequest request) {
-        Userinfo userinfo = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid",userid));
+        Userinfo userinfo = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", userid));
         String mobile = null;
-        if(StringUtils.isNotBlank(userinfo.getMobile())){
+        if (StringUtils.isNotBlank(userinfo.getMobile())) {
             mobile = EncryptionUtils.decryptForAES(userinfo.getMobile());
         }
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), mobile);

+ 0 - 1
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/DealLoginServiceImpl.java

@@ -166,7 +166,6 @@ public class DealLoginServiceImpl implements IDealLoginService {
                         return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM006.getCode(), request.getHeader("Accept-Language"));
                     }
                 } catch (InterruptedException e) {
-                    e.printStackTrace();
                     logger.error("处理账户状态失败,失败信息:" + e);
                 } finally {
                     SerialNumberUtils.lockMap.remove(uuid);

+ 3 - 3
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/MarketRunManageServiceImpl.java

@@ -135,7 +135,7 @@ public class MarketRunManageServiceImpl implements IMarketRunManageService {
                     return AjaxResult.success(Constants.Success_Code_Design, MessageType.MARKET_RUN_MESSAGE_001.getCode(), request.getHeader("Accept-Language"));
                 }
             } catch (InterruptedException e) {
-                e.printStackTrace();
+                log.error("强制下线/强制所有用户下线,失败原因:" + e.getMessage());
             } finally {
                 SerialNumberUtils.lockMap.remove(uuid);
             }
@@ -455,13 +455,13 @@ public class MarketRunManageServiceImpl implements IMarketRunManageService {
 
                 double totalfrozen = accRiskInfo.getTOTALFREEZEMARGIN() + accRiskInfo.getTOTALFREEZEFEE()
                         + accRiskInfo.getTOTALOUTAMOUNTFREEZE() + accRiskInfo.getTOTALOTHERMONEYFREEZE();
-                mvo.setTotalfrozen(new BigDecimal(totalfrozen).setScale(2, BigDecimal.ROUND_HALF_UP));
+                mvo.setTotalfrozen(new BigDecimal(totalfrozen).setScale(2, RoundingMode.HALF_UP));
 
                 BigDecimal freezemargin = vo.getFreezemargin();
                 mvo.setFreezemargin(freezemargin);
 
                 //占用
-                mvo.setUsedmargin(new BigDecimal(accRiskInfo.getSumMargin()));
+                mvo.setUsedmargin(BigDecimal.valueOf(accRiskInfo.getSumMargin()));
                 resultList.add(mvo);
             }
         }

+ 3 - 3
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/OrderQueryServiceImpl.java

@@ -73,7 +73,7 @@ public class OrderQueryServiceImpl implements IOrderQueryService {
             // 查询Redis数据,获取定金率等数据, flag=0, 忽略DepositRate(定金率\风险率)条件
             if (CollectionUtils.isNotEmpty(redisData)) {
                 for (HolderDetailExRedisVo vo : redisData) {
-                    if (vo != null && vo.getTradeid() != null && vo.getTradeid().toString().equals(a.getTradeid())) {
+                    if (vo != null && vo.getTradeid() != null && vo.getTradeid().equals(a.getTradeid())) {
                         a.setDepositratedisplay(new BigDecimal(vo.getDepositratedisplay()));
                     }
                 }
@@ -97,7 +97,7 @@ public class OrderQueryServiceImpl implements IOrderQueryService {
         // 查询Redis数据,获取定金率等数据, flag=0, 忽略DepositRate(定金率\风险率)条件
         if (CollectionUtils.isNotEmpty(redisData)) {
             for (HolderDetailExRedisVo vo : redisData) {
-                if (vo != null && vo.getTradeid() != null && vo.getTradeid().toString().equals(result.get(0).getTradeid())) {
+                if (vo != null && vo.getTradeid() != null && vo.getTradeid().equals(result.get(0).getTradeid())) {
                     result.get(0).setDepositratedisplay(new BigDecimal(vo.getDepositratedisplay()));
                 }
             }
@@ -149,7 +149,7 @@ public class OrderQueryServiceImpl implements IOrderQueryService {
                 // 查询Redis数据,获取定金率等数据, flag=0, 忽略DepositRate(定金率\风险率)条件
                 if (CollectionUtils.isNotEmpty(redisData)) {
                     for (HolderDetailExRedisVo vo : redisData) {
-                        if (vo != null && vo.getTradeid() != null && vo.getTradeid().toString().equals(a.getTradeid())) {
+                        if (vo != null && vo.getTradeid() != null && vo.getTradeid().equals(a.getTradeid())) {
                             a.setDepositratedisplay(new BigDecimal(vo.getDepositratedisplay()));
                         }
                     }

+ 297 - 183
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/OrganServiceImpl.java

@@ -1,6 +1,7 @@
 package com.muchinfo.mtp3century.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -136,6 +137,10 @@ public class OrganServiceImpl implements IOrganService {
     private IAccounttradeconfigMapper iAccounttradeconfigMapper;
     @Resource
     private IUsergroupdetailMapper iUsergroupdetailMapper;
+    @Resource
+    private ITradepositionMapper iTradepositionMapper;
+    @Resource
+    private IUserauthinfoMapper iUserauthinfoMapper;
 
     @Override
     public PageResult<UserAccountRspResult> queryByPage(UserAccountReqParam userInfoReqParam, HttpServletRequest request) {
@@ -170,9 +175,6 @@ public class OrganServiceImpl implements IOrganService {
         result.setBorkername(iUseraccountMapper.selectOrganName(userAccountVo.getBroker()));
 
         Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", areaId));
-        if (StringUtils.isNotBlank(ui.getBankaccount())) {
-            ui.setBankaccount(EncryptionUtils.decryptForAES(ui.getBankaccount()));
-        }
         if (ui.getBankid() != null) {
             BankBankinfo bi = iBankBankinfoMapper.selectOne(new QueryWrapper<BankBankinfo>().eq("bankid", ui.getBankid()));
             if (bi != null) {
@@ -180,24 +182,10 @@ public class OrganServiceImpl implements IOrganService {
             }
         }
 
-        if (StringUtils.isNotBlank(ui.getCardnum())) {
-            ui.setCardnum(EncryptionUtils.decryptForAES(ui.getCardnum()));
-        }
-        if (StringUtils.isNotBlank(ui.getMobile())) {
-            ui.setMobile(EncryptionUtils.decryptForAES(ui.getMobile()));
-        }
-
-        if (StringUtils.isNotBlank(ui.getTelphone())) {
-            ui.setTelphone(EncryptionUtils.decryptForAES(ui.getTelphone()));
-        }
-
         if (userAccountVo.getCreditquota() != null) {
             ui.setCreditquota(userAccountVo.getCreditquota());
         }
 
-        if (StringUtils.isNotBlank(ui.getWechat())) {
-            ui.setWechat(EncryptionUtils.decryptForAES(ui.getWechat()));
-        }
         if (StringUtils.isNotBlank(ui.getOtherurl())) {
             result.setOtherurl(Arrays.asList(ui.getOtherurl().split(",")));
         }
@@ -481,8 +469,7 @@ public class OrganServiceImpl implements IOrganService {
                         return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM006.getCode(), request.getHeader("Accept-Language"));
                     }
                 } catch (InterruptedException e) {
-                    e.printStackTrace();
-
+                    log.error("rabbitmq收取返回信息" + FunCodeConstants.FunCode_LoginStatusOperReq + "失败,失败原因" + e.getMessage());
                 } finally {
                     SerialNumberUtils.lockMap.remove(uuid);
                 }
@@ -1039,18 +1026,18 @@ public class OrganServiceImpl implements IOrganService {
 
     @Override
     public AjaxResult addlimit(MemberGoodsAddParam vo, HttpServletRequest request) {
-        Membergoodslimitconfig config  = iMembergoodslimitconfigMapper.selectOne(new QueryWrapper<Membergoodslimitconfig>()
+        Membergoodslimitconfig config = iMembergoodslimitconfigMapper.selectOne(new QueryWrapper<Membergoodslimitconfig>()
                 .eq("userid", vo.getUserid())
                 .eq("roletype", vo.getRoletype())
                 .eq("goodsid", vo.getGoodsid()));
-        if (config == null){
+        if (config == null) {
             // 新增
             config = new Membergoodslimitconfig();
             config.setUserid(vo.getUserid());
             config.setGoodsid(vo.getGoodsid());
             config.setRoletype(vo.getRoletype());
             iMembergoodslimitconfigMapper.insert(config);
-        }else{
+        } else {
             config.setUpdatetime(new Date());
             config.setIsnodisplay(vo.getIsnodisplay());
             config.setIscannotbuy(vo.getIscannotbuy());
@@ -1070,7 +1057,7 @@ public class OrganServiceImpl implements IOrganService {
     @Override
     public PageResult<AccountRiskConfigResult> accountriskconfig(AccountRiskConfigParam param, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
-        if(systemmanager.getReletype().intValue() == SysConstants.SYS_TYPE_CLIENT){
+        if (systemmanager.getReletype().intValue() == SysConstants.SYS_TYPE_CLIENT) {
             param.setMemberuserid(systemmanager.getAreauserid());
         }
         param.setMember(1);
@@ -1089,15 +1076,15 @@ public class OrganServiceImpl implements IOrganService {
 
     @Override
     public AjaxResult<Accountriskconfig> accountriskconfigview(Long accountid, HttpServletRequest request) {
-        Accountriskconfig config = iAccountriskconfigMapper.selectOne(new QueryWrapper<Accountriskconfig>().eq("accountid",accountid));
-        Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",config.getUserid()));
-        if(ua.getUsertype()==2){
-            Taaccount ta = iTaaccountMapper.selectOne(new QueryWrapper<Taaccount>().eq("accountid",config.getAccountid()));
-            config.setIsmarketacc( ta.getIsmarketaccount());
+        Accountriskconfig config = iAccountriskconfigMapper.selectOne(new QueryWrapper<Accountriskconfig>().eq("accountid", accountid));
+        Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", config.getUserid()));
+        if (ua.getUsertype() == 2) {
+            Taaccount ta = iTaaccountMapper.selectOne(new QueryWrapper<Taaccount>().eq("accountid", config.getAccountid()));
+            config.setIsmarketacc(ta.getIsmarketaccount());
         }
         config.setUsertype(ua.getUsertype());
         config.setAccountname(ua.getAccountname());
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),config);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), config);
     }
 
     @Override
@@ -1115,11 +1102,11 @@ public class OrganServiceImpl implements IOrganService {
 
     @Override
     public AjaxResult editaccountriskconfig(AccountRiskConfigAddParam vo, HttpServletRequest request) {
-        Accountriskconfig config = iAccountriskconfigMapper.selectOne(new QueryWrapper<Accountriskconfig>().eq("accountid",vo.getAccountid()));
+        Accountriskconfig config = iAccountriskconfigMapper.selectOne(new QueryWrapper<Accountriskconfig>().eq("accountid", vo.getAccountid()));
         config.setAccountid(vo.getAccountid());
         config.setUserid(vo.getUserid());
         config.setCustomertype(vo.getCustomertype());
-        iAccountriskconfigMapper.update(config,new QueryWrapper<Accountriskconfig>().eq("accountid",vo.getAccountid()));
+        iAccountriskconfigMapper.update(config, new QueryWrapper<Accountriskconfig>().eq("accountid", vo.getAccountid()));
 
         iSendMsgService.sendAccountConfigChangeNtf(1, 2, vo.getUserid(), vo.getAccountid(),
                 null, null, null);
@@ -1128,8 +1115,8 @@ public class OrganServiceImpl implements IOrganService {
 
     @Override
     public AjaxResult delaccountriskconfig(Long accountid, HttpServletRequest request) {
-        Accountriskconfig config = iAccountriskconfigMapper.selectOne(new QueryWrapper<Accountriskconfig>().eq("accountid",accountid));
-        iAccountriskconfigMapper.delete(new QueryWrapper<Accountriskconfig>().eq("accountid",accountid));
+        Accountriskconfig config = iAccountriskconfigMapper.selectOne(new QueryWrapper<Accountriskconfig>().eq("accountid", accountid));
+        iAccountriskconfigMapper.delete(new QueryWrapper<Accountriskconfig>().eq("accountid", accountid));
         iSendMsgService.sendAccountConfigChangeNtf(1, 3, config.getUserid(), config.getAccountid(),
                 null, null, null);
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
@@ -1139,7 +1126,7 @@ public class OrganServiceImpl implements IOrganService {
     public AjaxResult editorgan(OrganAddSonOrganParam param, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
 
-        Useraccount organ = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",param.getUserid()));
+        Useraccount organ = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", param.getUserid()));
 
         //当为特许经销商时,因为新增特许经销商的时候,默认加了一个名称一样的报价商,现在修改特许经销商名称时,报价商名称也一起修改
         if (param.getUsertype() == 2) {
@@ -1166,25 +1153,21 @@ public class OrganServiceImpl implements IOrganService {
         if (param.getRefereeuserid() != null) {
             organ.setRefereeuserid(param.getRefereeuserid());
         }
-        iUseraccountMapper.update(organ,new QueryWrapper<Useraccount>().eq("userid",organ.getUserid()));
-
-        Systemparam sysparm = iSystemparamMapper.selectOne(new QueryWrapper<Systemparam>().eq("paraCode", Constants.SYSPARAM_CARD_NO));
-
-        Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid",param.getUserid()));
-        if (!ui.getCardnum().equals(param.getCardnum())) {
-            Map<String, Object> map = new HashMap<>();
-            String card = param.getCardnum();
-            if (card != null && !card.isEmpty()) {
-                card = EncryptionUtils.encryptByAES(param.getCardnum());
-                List<Userinfo> uiList = iUserinfoMapper.selectList(new QueryWrapper<Userinfo>()
-                        .eq("cardnum", card)
-                        .eq("userid", param.getUserid())
-                        .eq("userstatus",1)
-                );
-                if (CollectionUtils.isNotEmpty(uiList)) {
-                    if (sysparm == null || "1".equals(sysparm.getParamvalue())) {
-                        return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
-                    }
+        iUseraccountMapper.update(organ, new QueryWrapper<Useraccount>().eq("userid", organ.getUserid()));
+
+        Systemparam sysparm = iSystemparamMapper.selectOne(new QueryWrapper<Systemparam>().eq("paramcode", Constants.SYSPARAM_CARD_NO));
+
+        Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", param.getUserid()));
+        String card = EncryptionUtils.encryptByAES(param.getCardnum());
+        if (!ui.getCardnum().equals(card)) {
+            List<Userinfo> uiList = iUserinfoMapper.selectList(new QueryWrapper<Userinfo>()
+                    .eq("cardnum", card)
+                    .eq("userid", param.getUserid())
+                    .eq("userstatus", 1)
+            );
+            if (CollectionUtils.isNotEmpty(uiList)) {
+                if (sysparm == null || "1".equals(sysparm.getParamvalue())) {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
                 }
             }
         }
@@ -1226,10 +1209,10 @@ public class OrganServiceImpl implements IOrganService {
         ui.setAttachment2(param.getAttachment2());
 
         ui = (Userinfo) SensitiveEncryptUtil.sensitiveEncrypt(ui, null);
-        iUserinfoMapper.update(ui,new QueryWrapper<Userinfo>().eq("userid",ui.getUserid()));
+        iUserinfoMapper.update(ui, new QueryWrapper<Userinfo>().eq("userid", ui.getUserid()));
 
         if (organ.getUsertype() != 4) {
-            Systemmanager admin = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("autoid",param.getAutoid()));
+            Systemmanager admin = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("autoid", param.getAutoid()));
             if (admin != null && !admin.getUsername().equals(param.getUsername())) {
                 admin.setUsername(param.getUsername());
                 iSystemmanagerMapper.updateById(admin);
@@ -1243,17 +1226,17 @@ public class OrganServiceImpl implements IOrganService {
     public AjaxResult<AccountTradeConfigTreeVo> createTree(HttpServletRequest request) {
         List<Accounttradeconfig> list = iAccounttradeconfigMapper.getListForTree(0L);
 
-        if(list == null || list.isEmpty()){
-            return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),list);
+        if (list == null || list.isEmpty()) {
+            return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), list);
         }
 
         //先按类型
         Map<Integer, List<Accounttradeconfig>> type = new HashMap<>();
-        for(Accounttradeconfig fig:list){
+        for (Accounttradeconfig fig : list) {
             Integer key = fig.getTradetype();
-            if(type.containsKey(key)){
+            if (type.containsKey(key)) {
                 type.get(key).add(fig);
-            }else{
+            } else {
                 List<Accounttradeconfig> temp = new ArrayList<>();
                 temp.add(fig);
                 type.put(key, temp);
@@ -1261,14 +1244,14 @@ public class OrganServiceImpl implements IOrganService {
         }
         //用户userid
         Map<Integer, Map<Long, List<Accounttradeconfig>>> users = new HashMap<>();
-        for(Map.Entry<Integer, List<Accounttradeconfig>> entry:type.entrySet()){
+        for (Map.Entry<Integer, List<Accounttradeconfig>> entry : type.entrySet()) {
             Map<Long, List<Accounttradeconfig>> market = new HashMap<>();
             List<Accounttradeconfig> temp = entry.getValue();
-            for(Accounttradeconfig fig:temp){
+            for (Accounttradeconfig fig : temp) {
                 Long key = fig.getUserid();
-                if(market.containsKey(key)){
+                if (market.containsKey(key)) {
                     market.get(key).add(fig);
-                }else{
+                } else {
                     List<Accounttradeconfig> _temp = new ArrayList<>();
                     _temp.add(fig);
                     market.put(key, _temp);
@@ -1278,18 +1261,18 @@ public class OrganServiceImpl implements IOrganService {
         }
         //资金账户
         Map<Integer, Map<Long, Map<Long, List<Accounttradeconfig>>>> user = new HashMap<>();
-        for(Map.Entry<Integer, Map<Long, List<Accounttradeconfig>>> entry:users.entrySet()){
+        for (Map.Entry<Integer, Map<Long, List<Accounttradeconfig>>> entry : users.entrySet()) {
             Map<Long, Map<Long, List<Accounttradeconfig>>> u = new HashMap<>();
 
             Map<Long, List<Accounttradeconfig>> temp = entry.getValue();//userid
-            for(Map.Entry<Long, List<Accounttradeconfig>> entry_:temp.entrySet()){
+            for (Map.Entry<Long, List<Accounttradeconfig>> entry_ : temp.entrySet()) {
                 Map<Long, List<Accounttradeconfig>> market = new HashMap<>();
                 List<Accounttradeconfig> ul = entry_.getValue();//用户下所有的资金
-                for(Accounttradeconfig fig:ul){
+                for (Accounttradeconfig fig : ul) {
                     Long key = fig.getAccountid();
-                    if(market.containsKey(key)){
+                    if (market.containsKey(key)) {
                         market.get(key).add(fig);
-                    }else{
+                    } else {
                         List<Accounttradeconfig> _temp = new ArrayList<Accounttradeconfig>();
                         _temp.add(fig);
                         market.put(key, _temp);
@@ -1303,26 +1286,26 @@ public class OrganServiceImpl implements IOrganService {
         Set<String> set = new HashSet<>();
         List<AccountTradeConfigTreeVo> result = new ArrayList<>();
 
-        for(Map.Entry<Integer, Map<Long, Map<Long, List<Accounttradeconfig>>>> entry_:user.entrySet()){
-            for(Map.Entry<Long, Map<Long, List<Accounttradeconfig>>> entry:entry_.getValue().entrySet()){
+        for (Map.Entry<Integer, Map<Long, Map<Long, List<Accounttradeconfig>>>> entry_ : user.entrySet()) {
+            for (Map.Entry<Long, Map<Long, List<Accounttradeconfig>>> entry : entry_.getValue().entrySet()) {
                 Accounttradeconfig base = null;
-                for(Map.Entry<Long, List<Accounttradeconfig>> _entry:entry.getValue().entrySet()){
+                for (Map.Entry<Long, List<Accounttradeconfig>> _entry : entry.getValue().entrySet()) {
                     List<Accounttradeconfig> temp = _entry.getValue();
-                    for(int i=0;i<temp.size();i++ ){
+                    for (int i = 0; i < temp.size(); i++) {
                         Accounttradeconfig fig = temp.get(i);
-                        if(fig.getTradetype()==null){
+                        if (fig.getTradetype() == null) {
                             fig.setTradetype(1);
                         }
-                        if(i==0){
+                        if (i == 0) {
                             base = fig;
                         }
-                        String setKey = fig.getTradetype()+""+fig.getUserid()+""+fig.getAccountid()+""+fig.getGoodsid();
-                        if(!set.contains(setKey)){
+                        String setKey = fig.getTradetype() + "" + fig.getUserid() + "" + fig.getAccountid() + "" + fig.getGoodsid();
+                        if (!set.contains(setKey)) {
                             set.add(setKey);
                             //商品级
                             AccountTradeConfigTreeVo vo2 = new AccountTradeConfigTreeVo();
-                            vo2.setId(fig.getTradetype()+fig.getGoodsid().toString());
-                            vo2.setPid(fig.getTradetype()+fig.getUserid()+""+fig.getAccountid());
+                            vo2.setId(fig.getTradetype() + fig.getGoodsid().toString());
+                            vo2.setPid(fig.getTradetype() + fig.getUserid() + "" + fig.getAccountid());
                             vo2.setLevel(3);
                             vo2.setName(fig.getGoodsname());//商品名称
                             vo2.setUserid(fig.getUserid());
@@ -1335,8 +1318,8 @@ public class OrganServiceImpl implements IOrganService {
                     }
                     //资金账户级
                     AccountTradeConfigTreeVo vo1 = new AccountTradeConfigTreeVo();
-                    vo1.setId(base.getTradetype()+base.getUserid()+""+base.getAccountid());
-                    vo1.setPid(base.getTradetype()+"u"+base.getUserid().toString());
+                    vo1.setId(base.getTradetype() + base.getUserid() + "" + base.getAccountid());
+                    vo1.setPid(base.getTradetype() + "u" + base.getUserid().toString());
                     vo1.setLevel(2);
                     vo1.setName(base.getAccountid().toString());//市场名称
                     vo1.setUserid(base.getUserid());
@@ -1346,21 +1329,21 @@ public class OrganServiceImpl implements IOrganService {
                 }
                 //用户级
                 AccountTradeConfigTreeVo vo = new AccountTradeConfigTreeVo();
-                vo.setId(base.getTradetype()+"u"+base.getUserid().toString());
-                if(base.getTradetype()==null || base.getTradetype()==0 || base.getTradetype()==1){
+                vo.setId(base.getTradetype() + "u" + base.getUserid().toString());
+                if (base.getTradetype() == null || base.getTradetype() == 0 || base.getTradetype() == 1) {
                     vo.setPid("-1");
-                }else{
+                } else {
                     vo.setPid("-2");
                 }
                 vo.setLevel(1);
-                vo.setName(StringUtils.isBlank(base.getAccountname())?"默认配置":base.getAccountname());//分组名称
+                vo.setName(StringUtils.isBlank(base.getAccountname()) ? "默认配置" : base.getAccountname());//分组名称
                 vo.setUserid(base.getUserid());
                 vo.setTradetype(base.getTradetype());
                 result.add(vo);
             }
         }
 
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),result);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), result);
     }
 
     @Override
@@ -1369,8 +1352,8 @@ public class OrganServiceImpl implements IOrganService {
         param.setMemberuserid(0L);
         param.setRuletype(1);
         Map<String, Object> result = new HashMap<>();
-        Usergroupdetail ug = iUsergroupdetailMapper.selectOne(new QueryWrapper<Usergroupdetail>().eq("userid",param.getUserid()));
-        if(ug!=null){
+        Usergroupdetail ug = iUsergroupdetailMapper.selectOne(new QueryWrapper<Usergroupdetail>().eq("userid", param.getUserid()));
+        if (ug != null) {
             param.setUsergroupid2(ug.getUsergroupid());
         }
 
@@ -1379,12 +1362,12 @@ public class OrganServiceImpl implements IOrganService {
         BigDecimal Cude = null;
         //成交量小数位
         BigDecimal qtyde = null;
-        if(o!=null && "1".equals(o.toString())){
-            Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid",param.getGoodsid()));
+        if (o != null && "1".equals(o.toString())) {
+            Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid", param.getGoodsid()));
             Enumdicitem item = iEnumdicitemMapper.selectOne(new QueryWrapper<Enumdicitem>()
                     .eq("enumdiccode", "currency")
                     .eq("enumitemname", goods.getCurrencyid()));
-            if(item!=null && StringUtils.isNotBlank(item.getParam1())){
+            if (item != null && StringUtils.isNotBlank(item.getParam1())) {
                 Cude = BigDecimal.valueOf(Math.pow(10, Integer.parseInt(item.getParam1())));
             }
             qtyde = BigDecimal.valueOf(Math.pow(10, goods.getQtydecimalplace()));
@@ -1406,78 +1389,78 @@ public class OrganServiceImpl implements IOrganService {
         detail.setAccountid(param.getAccountid());
         detail.setTradetype(param.getTradetype());
         Map<String, Accounttradeconfig> map = new HashMap<>();
-        if(list!=null && !list.isEmpty()){
-            for(Accounttradeconfig config:list){
-                if(config.getRuletype() == 1){
+        if (list != null && !list.isEmpty()) {
+            for (Accounttradeconfig config : list) {
+                if (config.getRuletype() == 1) {
                     detail.setParamid(config.getParamid());
-                }else if(config.getRuletype() == 2){
-                    map.put("rule"+config.getParamid(), config);
-                }else{
-                    map.put("fee"+config.getParamid(),config);
+                } else if (config.getRuletype() == 2) {
+                    map.put("rule" + config.getParamid(), config);
+                } else {
+                    map.put("fee" + config.getParamid(), config);
                 }
             }
         }
-        if(ruleList !=null && !ruleList.isEmpty()){
-            for(int i=0;i<ruleList.size();i++){
-                Accounttradeconfig config = map.get("rule"+ruleList.get(i).getRuleid());
-                if(config!=null){
+        if (ruleList != null && !ruleList.isEmpty()) {
+            for (int i = 0; i < ruleList.size(); i++) {
+                Accounttradeconfig config = map.get("rule" + ruleList.get(i).getRuleid());
+                if (config != null) {
                     //小数位放大
-                    if (qtyde!=null && ruleList.get(i).getRuleid() >= 101 && ruleList.get(i).getRuleid()<=104) {
-                        if(config.getParamvalue()!=null &&
-                                config.getParamvalue().compareTo(BigDecimal.ZERO)!=0){
+                    if (qtyde != null && ruleList.get(i).getRuleid() >= 101 && ruleList.get(i).getRuleid() <= 104) {
+                        if (config.getParamvalue() != null &&
+                                config.getParamvalue().compareTo(BigDecimal.ZERO) != 0) {
                             ruleList.get(i).setCvalue(config.getParamvalue().divide(qtyde));
                         }
-                        if(ruleList.get(i).getParamvalue()!=null &&
-                                ruleList.get(i).getParamvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (ruleList.get(i).getParamvalue() != null &&
+                                ruleList.get(i).getParamvalue().compareTo(BigDecimal.ZERO) != 0) {
                             ruleList.get(i).setParamvalue(ruleList.get(i).getParamvalue().divide(BigDecimal.valueOf(Math.pow(10, ruleList.get(i).getQtydecimalplace()))));
                         }
-                        if(ruleList.get(i).getGvalue()!=null &&
-                                ruleList.get(i).getGvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (ruleList.get(i).getGvalue() != null &&
+                                ruleList.get(i).getGvalue().compareTo(BigDecimal.ZERO) != 0) {
                             ruleList.get(i).setGvalue(ruleList.get(i).getGvalue().divide(qtyde));
                         }
-                        if(ruleList.get(i).getDvalue()!=null &&
-                                ruleList.get(i).getDvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (ruleList.get(i).getDvalue() != null &&
+                                ruleList.get(i).getDvalue().compareTo(BigDecimal.ZERO) != 0) {
                             ruleList.get(i).setDvalue(ruleList.get(i).getDvalue().divide(qtyde));
                         }
-                    }else{
+                    } else {
                         ruleList.get(i).setCvalue(config.getParamvalue());
                     }
                 }
             }
         }
-        if(feeList !=null && !feeList.isEmpty()){
-            for(int i=0;i<feeList.size();i++){
-                Accounttradeconfig config = map.get("fee"+feeList.get(i).getTradefeeid());
-                if(config!=null){
+        if (feeList != null && !feeList.isEmpty()) {
+            for (int i = 0; i < feeList.size(); i++) {
+                Accounttradeconfig config = map.get("fee" + feeList.get(i).getTradefeeid());
+                if (config != null) {
                     feeList.get(i).setCrithm(config.getFeealgorithm());
-                    if(Cude!=null && config.getFeealgorithm()==2){
-                        if(config.getParamvalue()!=null
-                                && config.getParamvalue().compareTo(BigDecimal.ZERO)!=0){
+                    if (Cude != null && config.getFeealgorithm() == 2) {
+                        if (config.getParamvalue() != null
+                                && config.getParamvalue().compareTo(BigDecimal.ZERO) != 0) {
                             feeList.get(i).setCvalue(config.getParamvalue().divide(Cude));
                         }
-                        if(feeList.get(i).getExchangevalue()!=null
-                                && feeList.get(i).getExchangevalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (feeList.get(i).getExchangevalue() != null
+                                && feeList.get(i).getExchangevalue().compareTo(BigDecimal.ZERO) != 0) {
                             feeList.get(i).setExchangevalue(feeList.get(i).getExchangevalue().divide(Cude));
                         }
-                        if(feeList.get(i).getDvalue()!=null
-                                && feeList.get(i).getDvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (feeList.get(i).getDvalue() != null
+                                && feeList.get(i).getDvalue().compareTo(BigDecimal.ZERO) != 0) {
                             feeList.get(i).setDvalue(feeList.get(i).getDvalue().divide(Cude));
                         }
-                        if(feeList.get(i).getGvalue()!=null
-                                && feeList.get(i).getGvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (feeList.get(i).getGvalue() != null
+                                && feeList.get(i).getGvalue().compareTo(BigDecimal.ZERO) != 0) {
                             feeList.get(i).setGvalue(feeList.get(i).getGvalue().divide(Cude));
                         }
 
-                        if(feeList.get(i).getMembermaxvalue()!=null
-                                && feeList.get(i).getMembermaxvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (feeList.get(i).getMembermaxvalue() != null
+                                && feeList.get(i).getMembermaxvalue().compareTo(BigDecimal.ZERO) != 0) {
                             feeList.get(i).setMembermaxvalue(feeList.get(i).getMembermaxvalue().divide(Cude));
                         }
-                        if(feeList.get(i).getMemberminvalue()!=null
-                                && feeList.get(i).getMemberminvalue().compareTo(BigDecimal.ZERO)!=0){
+                        if (feeList.get(i).getMemberminvalue() != null
+                                && feeList.get(i).getMemberminvalue().compareTo(BigDecimal.ZERO) != 0) {
                             feeList.get(i).setMemberminvalue(feeList.get(i).getMemberminvalue().divide(Cude));
                         }
 
-                    }else{
+                    } else {
                         feeList.get(i).setCvalue(config.getParamvalue());
                     }
                 }
@@ -1486,7 +1469,7 @@ public class OrganServiceImpl implements IOrganService {
         detail.setDruleList(ruleList);
         detail.setDfeeList(feeList);
 
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),result);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), result);
     }
 
     @Override
@@ -1499,12 +1482,12 @@ public class OrganServiceImpl implements IOrganService {
         BigDecimal Cude = null;
         //成交量小数位
         BigDecimal qtyde = null;
-        if(o!=null && "1".equals(o.toString())){
-            Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid",param.getGoodsid()));
+        if (o != null && "1".equals(o.toString())) {
+            Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid", param.getGoodsid()));
             Enumdicitem item = iEnumdicitemMapper.selectOne(new QueryWrapper<Enumdicitem>()
                     .eq("enumdiccode", "currency")
                     .eq("enumitemname", goods.getCurrencyid()));
-            if(item!=null && StringUtils.isNotBlank(item.getParam1())){
+            if (item != null && StringUtils.isNotBlank(item.getParam1())) {
                 Cude = BigDecimal.valueOf(Math.pow(10, Integer.parseInt(item.getParam1())));
             }
             qtyde = BigDecimal.valueOf(Math.pow(10, goods.getQtydecimalplace()));
@@ -1519,7 +1502,7 @@ public class OrganServiceImpl implements IOrganService {
                 .eq("tradetype", param.getTradetype())
         );
 
-        if(param.getParamid() != null){
+        if (param.getParamid() != null) {
             Accounttradeconfig config = new Accounttradeconfig();
             config.setUserid(param.getUserid());
             config.setMemberuserid(0L);
@@ -1536,14 +1519,14 @@ public class OrganServiceImpl implements IOrganService {
         }
 
         List<Accounttradeconfig> ruleList = param.getRuleList();
-        if(ruleList!=null && !ruleList.isEmpty()){
-            for(Accounttradeconfig fig:ruleList){
-                if(fig.getParamid()==null ||fig.getParamid()==0
-                        ||fig.getParamvalue() == null){
+        if (ruleList != null && !ruleList.isEmpty()) {
+            for (Accounttradeconfig fig : ruleList) {
+                if (fig.getParamid() == null || fig.getParamid() == 0
+                        || fig.getParamvalue() == null) {
                     continue;
                 }
                 //小数位放大
-                if (qtyde!=null && fig.getParamid() >= 101 && fig.getParamid()<=104) {
+                if (qtyde != null && fig.getParamid() >= 101 && fig.getParamid() <= 104) {
                     fig.setParamvalue(fig.getParamvalue().multiply(qtyde));
                 }
                 fig.setFeealgorithm(2);
@@ -1561,18 +1544,18 @@ public class OrganServiceImpl implements IOrganService {
         }
 
         List<Accounttradeconfig> feeList = param.getFeeList();
-        if(feeList!=null && !feeList.isEmpty()){
-            for(Accounttradeconfig fig:feeList){
-                if(fig.getParamid()==null ||fig.getParamid()==0
-                        || fig.getFeealgorithm()==null ||fig.getParamvalue() == null){
+        if (feeList != null && !feeList.isEmpty()) {
+            for (Accounttradeconfig fig : feeList) {
+                if (fig.getParamid() == null || fig.getParamid() == 0
+                        || fig.getFeealgorithm() == null || fig.getParamvalue() == null) {
                     continue;
                 }
-                if(fig.getFeealgorithm()==1){
-                    if(fig.getParamvalue().compareTo(new BigDecimal(10000))>0){
+                if (fig.getFeealgorithm() == 1) {
+                    if (fig.getParamvalue().compareTo(new BigDecimal(10000)) > 0) {
                         throw new GlobalException(Constants.Error_Code_Design, MessageType.INVESTOR_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
                     }
                     fig.setParamvalue(fig.getParamvalue().divide(new BigDecimal(10000)));
-                }else if(Cude!=null){
+                } else if (Cude != null) {
                     fig.setParamvalue(fig.getParamvalue().multiply(Cude));
                 }
                 fig.setUserid(param.getUserid());
@@ -1601,9 +1584,9 @@ public class OrganServiceImpl implements IOrganService {
                 .eq("memberuserid", 0L)
                 .eq("userid", param.getUserid())
                 .eq("tradetype", param.getTradetype())
-                .eq(param.getGoodsid()!=null,"goodsid", param.getGoodsid())
-                .eq(param.getMarketid()!=null,"marketid", param.getMarketid())
-                .eq(param.getAccountid()!=null,"accountid", param.getAccountid())
+                .eq(param.getGoodsid() != null, "goodsid", param.getGoodsid())
+                .eq(param.getMarketid() != null, "marketid", param.getMarketid())
+                .eq(param.getAccountid() != null, "accountid", param.getAccountid())
         );
 
         iSendMsgService.sendAccountConfigChangeNtf(4, 3, param.getUserid(), param.getAccountid(), param.getGoodsid(),
@@ -1631,7 +1614,7 @@ public class OrganServiceImpl implements IOrganService {
             List<Long> longs = iTaaccountMapper.getNoTradeConfigAccounts(param);
             result.setAccountids(longs);
         }
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"),result);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), result);
     }
 
     @Override
@@ -1644,18 +1627,18 @@ public class OrganServiceImpl implements IOrganService {
         BigDecimal Cude = null;
         //成交量小数位
         BigDecimal qtyde = null;
-        if(o!=null && "1".equals(o.toString())){
-            Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid",vo.getGoodsid()));
+        if (o != null && "1".equals(o.toString())) {
+            Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid", vo.getGoodsid()));
             Enumdicitem item = iEnumdicitemMapper.selectOne(new QueryWrapper<Enumdicitem>()
                     .eq("enumdiccode", "currency")
                     .eq("enumitemname", goods.getCurrencyid()));
-            if(item!=null && StringUtils.isNotBlank(item.getParam1())){
+            if (item != null && StringUtils.isNotBlank(item.getParam1())) {
                 Cude = BigDecimal.valueOf(Math.pow(10, Integer.parseInt(item.getParam1())));
             }
             qtyde = BigDecimal.valueOf(Math.pow(10, goods.getQtydecimalplace()));
         }
 
-        if(vo.getParamid() != null){
+        if (vo.getParamid() != null) {
             Accounttradeconfig config = new Accounttradeconfig();
             config.setUserid(vo.getUserid());
             config.setMemberuserid(0L);
@@ -1672,14 +1655,14 @@ public class OrganServiceImpl implements IOrganService {
         }
 
         List<Accounttradeconfig> ruleList = vo.getRuleList();
-        if(ruleList!=null && !ruleList.isEmpty()){
-            for(Accounttradeconfig fig:ruleList){
-                if(fig.getParamid()==null ||fig.getParamid()==0
-                        ||fig.getParamvalue() == null){
+        if (ruleList != null && !ruleList.isEmpty()) {
+            for (Accounttradeconfig fig : ruleList) {
+                if (fig.getParamid() == null || fig.getParamid() == 0
+                        || fig.getParamvalue() == null) {
                     continue;
                 }
                 //小数位放大
-                if (qtyde!=null && fig.getParamid() >= 101 && fig.getParamid()<=104) {
+                if (qtyde != null && fig.getParamid() >= 101 && fig.getParamid() <= 104) {
                     fig.setParamvalue(fig.getParamvalue().multiply(qtyde));
                 }
 
@@ -1698,18 +1681,18 @@ public class OrganServiceImpl implements IOrganService {
         }
 
         List<Accounttradeconfig> feeList = vo.getFeeList();
-        if(feeList!=null && !feeList.isEmpty()){
-            for(Accounttradeconfig fig:feeList){
-                if(fig.getParamid()==null ||fig.getParamid()==0
-                        || fig.getFeealgorithm()==null ||fig.getParamvalue() == null){
+        if (feeList != null && !feeList.isEmpty()) {
+            for (Accounttradeconfig fig : feeList) {
+                if (fig.getParamid() == null || fig.getParamid() == 0
+                        || fig.getFeealgorithm() == null || fig.getParamvalue() == null) {
                     continue;
                 }
-                if(fig.getFeealgorithm()==1){
-                    if(fig.getParamvalue().compareTo(new BigDecimal(10000))>0){
+                if (fig.getFeealgorithm() == 1) {
+                    if (fig.getParamvalue().compareTo(new BigDecimal(10000)) > 0) {
                         throw new GlobalException(Constants.Error_Code_Design, MessageType.INVESTOR_ERROR_CODE_011.getCode(), request.getHeader("Accept-Language"));
                     }
                     fig.setParamvalue(fig.getParamvalue().divide(new BigDecimal(10000)));
-                }else if(Cude!=null){
+                } else if (Cude != null) {
                     fig.setParamvalue(fig.getParamvalue().multiply(Cude));
                 }
                 fig.setUserid(vo.getUserid());
@@ -1730,6 +1713,137 @@ public class OrganServiceImpl implements IOrganService {
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
     }
 
+    @Override
+    public AjaxResult logout(Long areaid, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        Useraccount org = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", areaid));
+        if (org.getUsertype() != 5) {
+            List<Arearole> list2 = iArearoleMapper.selectList(new QueryWrapper<Arearole>().eq("userid", areaid));
+            if (CollectionUtils.isNotEmpty(list2)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_001.getCode(), request.getHeader("Accept-Language"));
+            }
+            List<Useraccount> list = iUseraccountMapper.selectList(new QueryWrapper<Useraccount>()
+                    .eq("parentuserid", areaid)
+                    .eq("accountstatus", 4)
+                    .in("usertype", 3, 4)
+            );
+            if (CollectionUtils.isNotEmpty(list)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_002.getCode(), request.getHeader("Accept-Language"));
+            }
+            if (org.getUsertype() == 4) {
+                list = iUseraccountMapper.selectList(new QueryWrapper<Useraccount>()
+                        .eq("usertype", 5)
+                        .eq("broker", areaid)
+                        .eq("accountstatus", 4));
+                if (CollectionUtils.isNotEmpty(list)) {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_003.getCode(), request.getHeader("Accept-Language"));
+                }
+            } else {
+                list = iUseraccountMapper.selectList(new QueryWrapper<Useraccount>()
+                        .eq("parentuserid", areaid)
+                        .eq("accountstatus", 4)
+                        .eq("usertype", 5));
+                if (CollectionUtils.isNotEmpty(list)) {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_003.getCode(), request.getHeader("Accept-Language"));
+                }
+            }
+
+        } else {
+            List<Taaccount> taList = iTaaccountMapper.selectList(new QueryWrapper<Taaccount>()
+                    .eq("userid", areaid)
+                    .gt("currentbalance", 0)
+            );
+            if (CollectionUtils.isNotEmpty(taList)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_004.getCode(), request.getHeader("Accept-Language"));
+            }
+            List<Tradeposition> tpList = iTradepositionMapper.queryAmount(areaid);
+            if (CollectionUtils.isNotEmpty(tpList)) {
+                return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_005.getCode(), request.getHeader("Accept-Language"));
+            }
+
+        }
+
+        log.info("收到用户注销请求:" + areaid.toString());
+
+        org.setAccountstatus(6);
+        org.setModifierid(systemmanager.getAutoid());
+        org.setModifytime(new Date());
+        org.setCanceltime(new Date());
+        iUseraccountMapper.update(org, new QueryWrapper<Useraccount>().eq("userid", org.getUserid()));
+
+        Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", areaid));
+        ui.setUserstatus(2);
+        iUserinfoMapper.update(ui, new QueryWrapper<Userinfo>().eq("userid", areaid));
+
+        //注销 所有账户
+        List<Systemmanager> admin = iSystemmanagerMapper.selectList(new QueryWrapper<Systemmanager>().eq("areauserid", areaid));
+        if (CollectionUtils.isNotEmpty(admin)) {
+            admin.forEach(p -> {
+                p.setManagerstatus(2);//停用
+                iSystemmanagerMapper.updateById(p);
+            });
+        }
+
+        //删除登录关联关系
+        iUserauthinfoMapper.delete(new QueryWrapper<Userauthinfo>().eq("userid", areaid));
+
+        //写入日志
+        if (org.getUsertype() == 2)
+            systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ, "注销或删除机构id=" + org.getUserid(), systemmanager, null, null, null);
+        else if (org.getUsertype() == 3 || org.getUsertype() == 4) {
+            String name = "";
+            if (org.getUsertype() == 3)
+                name = "子机构";
+            if (org.getUsertype() == 4)
+                name = "经纪人";
+            if (systemmanager.getReletype() == 1)
+                systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ, "注销或删除" + name + "id=" + org.getUserid(), systemmanager, null, null, null);
+            else
+                systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ_ZJG, "注销或删除" + name + "id=" + org.getUserid(), systemmanager, null, null, null);
+        } else if (org.getUsertype() == 5)
+            systemmanagerService.writeOperateLog(SysConstants.PART_INVESTOR_MANAGE, "注销或删除投资者id=" + org.getUserid(), systemmanager, null, null, null);
+
+        log.info("用户注销更新完成:" + areaid.toString());
+        List<Loginaccount> las = iLoginaccountMapper.selectList(new QueryWrapper<Loginaccount>()
+                .eq("userid", org.getUserid())
+                .eq("loginstatus", 1));
+
+        if (CollectionUtils.isNotEmpty(las)) {
+            // 创建一个 UpdateWrapper 实例
+            UpdateWrapper<Loginaccount> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("userid", org.getUserid());
+            iLoginaccountMapper.update(new Loginaccount().setLoginstatus(3), updateWrapper);
+
+            NotifyMI1.LoginAccChangeNtf.Builder builder = NotifyMI1.LoginAccChangeNtf.newBuilder();
+            Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
+            PublicMI1.NotifyHead.Builder nhd = PublicMI1.NotifyHead.newBuilder();
+            nhd.setNtfMode(0);
+            hd.setFunCode(FunCodeConstants.FunCode_Trade_LoginAccChangeNtf);
+            hd.setClientTime(System.currentTimeMillis());
+            builder.setNtfHeader(nhd);
+            builder.setHeader(hd);
+            las.forEach(p -> {
+                NotifyMI1.LoginAccChange.Builder lab = NotifyMI1.LoginAccChange.newBuilder();
+                lab.setChangeType(SysEnums.AccountOperateTypeEnum.DEL.getType());
+                lab.setLoginId(p.getLoginid());
+                builder.addLoginAccChange(lab);
+            });
+            byte[] body = ProtoHelper.getNTAS(builder.build().toByteArray(),
+                    FunCodeConstants.FunCode_Trade_LoginAccChangeNtf);
+            rabbitTemplate.send(SysConstants.RabbitNtfKey,
+                    new Message(body, new MessageProperties()));
+
+            log.info("用户注销发送登录账户变更通知:" + areaid.toString());
+        }
+
+        // 发送用户注销消息给中心\银行接口
+        List<Taaccount> tas = iTaaccountMapper.selectList(new QueryWrapper<Taaccount>()
+                .eq("userid", org.getUserid())
+                .eq("ismain", 1));
+        iSendMsgService.sendM2BUnregistCustomerInfo(tas);
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
+    }
+
     private void editARoleModifyMember(OrganRoleModifyParam vo, Systemmanager opeartion) {
         Date date = new Date();
 
@@ -1763,34 +1877,34 @@ public class OrganServiceImpl implements IOrganService {
             }
 
             if (roleid == SysEnums.OrganRole.broker.getCode().intValue()) {
-                Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",vo.getUserid()));
+                Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", vo.getUserid()));
                 if (vo.getParentuserid() == null) {
                     ua.setParentuserid(1L);
                 } else {
                     ua.setParentuserid(vo.getParentuserid());
                 }
-                iUseraccountMapper.update(ua,new QueryWrapper<Useraccount>().eq("userid",ua.getUserid()));
+                iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
             }
 
             if (roleid == SysEnums.OrganRole.selfsupport.getCode().intValue()) {
                 //更新资金账户市场权限
-                iTaaccountMapper.deleteUserMarket(vo.getUserid(),marketids);
+                iTaaccountMapper.deleteUserMarket(vo.getUserid(), marketids);
 
                 // 处理自营账号信息
-                handleSelfMemberAccount(roleid, vo, opeartion, dtype );
+                handleSelfMemberAccount(roleid, vo, opeartion, dtype);
             }
         } else if (roleid == SysEnums.OrganRole.marketer.getCode().intValue()) {
 
             if (CollectionUtils.isNotEmpty(vo.getAccountids())) {
-                Taaccount ta = iTaaccountMapper.selectOne(new QueryWrapper<Taaccount>().eq("userid",vo.getUserid()));
+                Taaccount ta = iTaaccountMapper.selectOne(new QueryWrapper<Taaccount>().eq("userid", vo.getUserid()));
                 ta.setIsmarketaccount(0);
-                iTaaccountMapper.update(ta,new QueryWrapper<Taaccount>().eq("userid",ta.getUserid()));
+                iTaaccountMapper.update(ta, new QueryWrapper<Taaccount>().eq("userid", ta.getUserid()));
 
                 iUserreckonaccountMapper.delete(new QueryWrapper<Userreckonaccount>().eq("userid", vo.getUserid()).eq("defaultaccounttype", 2));
                 for (int i = 0; i < vo.getAccountids().size(); i++) {
-                    Taaccount current = iTaaccountMapper.selectOne(new QueryWrapper<Taaccount>().eq("userid",vo.getAccountids().get(i)));
+                    Taaccount current = iTaaccountMapper.selectOne(new QueryWrapper<Taaccount>().eq("userid", vo.getAccountids().get(i)));
                     current.setIsmarketaccount(1);
-                    iTaaccountMapper.update(ta,new QueryWrapper<Taaccount>().eq("userid",current.getAccountid()));
+                    iTaaccountMapper.update(ta, new QueryWrapper<Taaccount>().eq("userid", current.getAccountid()));
 
                     Userreckonaccount iura = new Userreckonaccount();
                     iura.setUserid(vo.getUserid());
@@ -1856,12 +1970,12 @@ public class OrganServiceImpl implements IOrganService {
             }
 
             //送检账户
-            Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",vo.getUserid()));
+            Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", vo.getUserid()));
             ua.setSjaccountno(vo.getSjaccountno());
-            iUseraccountMapper.update(ua,new QueryWrapper<Useraccount>().eq("userid",ua.getUserid()));
+            iUseraccountMapper.update(ua, new QueryWrapper<Useraccount>().eq("userid", ua.getUserid()));
 
             //更新资金账户市场权限
-            iTaaccountMapper.deleteUserMarket(vo.getUserid(),marketids);
+            iTaaccountMapper.deleteUserMarket(vo.getUserid(), marketids);
 
             Map<String, Object> properties = new HashMap<String, Object>();
             if (CollectionUtils.isNotEmpty(marketids)) {
@@ -1899,7 +2013,7 @@ public class OrganServiceImpl implements IOrganService {
         or.setTradeaccountid(vo.getAccountid());
         or.setModifierid(opeartion.getAutoid());
         or.setModifytime(new Date());
-        iArearoleMapper.update(or,new QueryWrapper<Arearole>().eq("userid", vo.getUserid()).eq("roletype", vo.getRoleid()));
+        iArearoleMapper.update(or, new QueryWrapper<Arearole>().eq("userid", vo.getUserid()).eq("roletype", vo.getRoleid()));
 
         if (vo.getRoleid().compareTo(SysEnums.OrganRole.operate.getCode()) == 0) {
             iMarketMapper.updateExchareaidNull(vo.getUserid());
@@ -1908,13 +2022,13 @@ public class OrganServiceImpl implements IOrganService {
                 Map<String, Object> update = new HashMap<>();
                 update.put("marketids", marketids);
                 update.put("exchareaid", vo.getUserid());
-                iMarketMapper.updateExchareaid(marketids,vo.getUserid());
+                iMarketMapper.updateExchareaid(marketids, vo.getUserid());
 
-                Systemparam p = iSystemparamMapper.selectOne(new QueryWrapper<Systemparam>().eq("PARAMCODE",Constants.SYSPARAM_ID_MARKET));
+                Systemparam p = iSystemparamMapper.selectOne(new QueryWrapper<Systemparam>().eq("PARAMCODE", Constants.SYSPARAM_ID_MARKET));
                 if (p != null) {
                     p.setParamvalue(String.valueOf(System.currentTimeMillis()));
                     p.setUpdatetime(new Date());
-                    iSystemparamMapper.update(p,new QueryWrapper<Systemparam>().eq("PARAMCODE",Constants.SYSPARAM_ID_MARKET));
+                    iSystemparamMapper.update(p, new QueryWrapper<Systemparam>().eq("PARAMCODE", Constants.SYSPARAM_ID_MARKET));
                 }
             }
         }
@@ -2372,7 +2486,7 @@ public class OrganServiceImpl implements IOrganService {
         or.setOutuserid(vo.getOutuserid());
         iArearoleMapper.insert(or);
 
-        if (loginid!= null) {
+        if (loginid != null) {
             List<Long> loginids = new ArrayList<>();
             loginids.add(loginid);
             Set<Long> set_msg = new HashSet<>(loginids);

+ 13 - 13
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/OrganSonServiceService.java

@@ -366,12 +366,12 @@ public class OrganSonServiceService implements IOrganSonService {
                 .and(a -> a.eq("cardnum", ui.getCardnum()).or().eq(StringUtils.isNotBlank(ui.getMobile()), "mobile", ui.getMobile()))
         );
         if (CollectionUtils.isNotEmpty(uiList)) {
-            for (int i = 0; i < uiList.size(); i++) {
-                if (uiList.get(i).getCardnum().equals(ui.getCardnum())) {
+            for (Userinfo userinfo : uiList) {
+                if (userinfo.getCardnum().equals(ui.getCardnum())) {
                     return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_006.getCode(), request.getHeader("Accept-Language"));
                 }
                 //5 投资者
-                if (org.getUsertype() == 5 && uiList.get(i).getMobile().equals(ui.getMobile())) {
+                if (org.getUsertype() == 5 && userinfo.getMobile().equals(ui.getMobile())) {
                     return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_007.getCode(), request.getHeader("Accept-Language"));
                 }
             }
@@ -431,7 +431,7 @@ public class OrganSonServiceService implements IOrganSonService {
     @Transactional(rollbackFor = Exception.class)
     public AjaxResult addsonorgan(OrganAddSonOrganParam param, HttpServletRequest request) {
         //校验唯一性
-        List<Useraccount> c2 = iUseraccountMapper.selectList(new QueryWrapper<Useraccount>().eq("userid", createUserid(param.getParentuserid(), param.getUserid(), 4)));
+        List<Useraccount> c2 = iUseraccountMapper.selectList(new QueryWrapper<Useraccount>().eq("userid", createUserid(param.getParentuserid(), param.getUserid())));
         if (CollectionUtils.isNotEmpty(c2)) {
             return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_010.getCode(), request.getHeader("Accept-Language"));
         }
@@ -722,7 +722,7 @@ public class OrganSonServiceService implements IOrganSonService {
     public void addSonOrgan(OrganAddSonOrganParam param, Systemmanager systemmanager) {
         String lPwd = iCommonService.getSystemParam(Constants.REDIS_HEADER_SYSPARAM, SysConstants.SYSPARAM_CODE_DEFAULT_PWD);
         Useraccount organ = new Useraccount();
-        String userid = createUserid(param.getParentuserid(), param.getUserid(), 4);
+        String userid = createUserid(param.getParentuserid(), param.getUserid());
         organ.setUserid(Long.valueOf(userid));
         //资金账户  多币种----
         List<Enumdicitem> li = iEnumdicitemMapper.selectList(new QueryWrapper<Enumdicitem>()
@@ -912,29 +912,29 @@ public class OrganSonServiceService implements IOrganSonService {
             }
             //移动端开户地址
             WskhOpenaccountconfig config1 = iWskhOpenaccountconfigMapper.selectOne(new QueryWrapper<WskhOpenaccountconfig>()
-                    .eq("configtype", 59));
+                    .eq("configtype", 60));
             if (null != config1 && null != config1.getConfigvalue()) {
-                result.setMobileUrl(config.getConfigvalue());
+                result.setMobileUrl(config1.getConfigvalue());
             }
             //微信开户地址
             WskhOpenaccountconfig config2 = iWskhOpenaccountconfigMapper.selectOne(new QueryWrapper<WskhOpenaccountconfig>()
-                    .eq("configtype", 59));
+                    .eq("configtype", 65));
             if (null != config2 && null != config2.getConfigvalue()) {
-                result.setWeixinUrl(config.getConfigvalue());
+                result.setWeixinUrl(config2.getConfigvalue());
             }
             //三方开户地址
             WskhOpenaccountconfig config3 = iWskhOpenaccountconfigMapper.selectOne(new QueryWrapper<WskhOpenaccountconfig>()
-                    .eq("configtype", 59));
+                    .eq("configtype", 66));
             if (null != config3 && null != config3.getConfigvalue()) {
-                result.setSanfangUrl(config.getConfigvalue());
+                result.setSanfangUrl(config3.getConfigvalue());
             }
         }
         return detailResult;
     }
 
-    private String createUserid(Long pid, Long userid, Integer len) {
+    private String createUserid(Long pid, Long userid) {
         String memid = pid.toString().substring(0, 4);
-        return memid + CommonUtil.addZero(userid.toString(), len);
+        return memid + CommonUtil.addZero(userid.toString(), 4);
     }
 
     private String generateReferNum() {

+ 0 - 3
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/PresaleServiceImpl.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.muchinfo.mtp.proto.Common;
-import com.muchinfo.mtp.proto.SystemMI1;
 import com.muchinfo.mtp.proto.TkernelMI1;
 import com.muchinfo.mtp.proto.TkernelMI2;
 import com.muchinfo.mtp3century.service.ICommonService;
@@ -33,9 +32,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 
 @Service

+ 20 - 48
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/TaaccountServiceImpl.java

@@ -497,7 +497,6 @@ public class TaaccountServiceImpl extends ServiceImpl<ITaaccountMapper, Taaccoun
                         SysEnums.UserOperateTypeEnum.UPDATE.getType(),
                         SysEnums.NotifyModeEnum.UNICAST.getType());
         } catch (Exception e) {
-            e.printStackTrace();
             log.error("资金账户-->修改 发送用户信息修改失败,code=" + FunCodeConstants.FunCode_Trade_UserChangeNtf + ",请检查!,失败原因:" + e);
         }
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
@@ -570,29 +569,14 @@ public class TaaccountServiceImpl extends ServiceImpl<ITaaccountMapper, Taaccoun
         Map<String, Object> result = logoutInvestor(areaid, systemmanager, ta);
 
         if (result.get("userid") != null && result.get("accountid") != null) {
+
             iSendMsgService.sendUserChangeMsg(
                     Long.parseLong(result.get("accountid").toString()),
                     Long.parseLong(result.get("userid").toString()),
                     SysEnums.UserOperateTypeEnum.DEL.getType(),
                     SysEnums.AccountOperateTypeEnum.DEL.getType(),
                     SysEnums.NotifyModeEnum.UNICAST.getType());
-            // todo allocated != null
-           /* if (allocated != null && allocated == 1) {
-                NotifyMI1.TaAccountTemplateConfigChangeNtf.Builder builder =
-                        NotifyMI1.TaAccountTemplateConfigChangeNtf.newBuilder();
-                builder.setAccountID(Long.parseLong(result.get("accountid").toString()));
-                builder.setOperateType(1);
-                Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
-                PublicMI1.NotifyHead.Builder nhd = PublicMI1.NotifyHead.newBuilder();
-                nhd.setNtfMode(2);
-                hd.setFunCode(FunCodeConstants.FunCode_Trade_TaAccountTemplateConfigChangeNtf);
-                hd.setClientTime(System.currentTimeMillis());
-                builder.setNtfHeader(nhd);
-                builder.setHeader(hd);
-
-                sendMsgService.sendMsg(builder.build().toByteArray(), SysConstants.RabbitNtfKey,
-                        FunCodeConstants.FunCode_Trade_TaAccountTemplateConfigChangeNtf);
-            }*/
+
             List<Long> longList = new ArrayList<>();
             List<Loginaccount> list = iLoginaccountMapper.selectList(new QueryWrapper<Loginaccount>().eq("userid", Long.parseLong(result.get("userid").toString())));
             for (Loginaccount tmp : list) {
@@ -655,10 +639,11 @@ public class TaaccountServiceImpl extends ServiceImpl<ITaaccountMapper, Taaccoun
         Useraccount org = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", areaid)); //areaid就是userid
         Userinfo ui = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", areaid));
         List<Userinfo> uiList = iUserinfoMapper.selectList(new QueryWrapper<Userinfo>()
-                .eq("cardnum", ui.getCardnum())
-                .or()
-                .eq("mobile", ui.getMobile())
-                .and(a -> a.eq("userstatus", 1).ne("userid", ui.getUserid()))
+                .eq("userstatus", 1)
+                .ne("userid", ui.getUserid())
+                .and(a -> a.eq("cardnum", ui.getCardnum())
+                        .or()
+                        .eq("mobile", ui.getMobile()))
         );
         if (CollectionUtils.isNotEmpty(uiList)) {
             for (int i = 0; i < uiList.size(); i++) {
@@ -687,31 +672,9 @@ public class TaaccountServiceImpl extends ServiceImpl<ITaaccountMapper, Taaccoun
         }
 
         AjaxResult ajaxResult = checkOrgan(org, request);
-        if (ajaxResult.getCode() == 500) {
+        if (ajaxResult != null) {
             return ajaxResult;
         }
-        //todo allocated != null
-       /* if (org.getUsertype() == 5 && allocated != null && allocated == 1) {
-            result.clear();
-            result.put("relateduserid", areaid);
-            Taaccount ta = taaccountService.getByProerties(result);
-
-            TaAccountConfig config = commonDao.get(TaAccountConfig.class, ta.getParentaccountid());
-            if (config.getMaxsubaccouts() != 0 && config.getMaxsubaccouts().compareTo(config.getCursubaccounts()) <= 0) {
-                result.clear();
-                result.put("code", 500);
-                result.put("msg", "投资者账户可用数量不足,无法恢复");
-                return result;
-            }
-
-            config.setCursubaccounts(config.getCursubaccounts() + 1);
-            commonDao.update(config);
-
-            //恢复
-            ta.setTradestatus(1);
-            taaccountService.update(ta);
-
-        }*/
 
         org.setAccountstatus(4);
         org.setModifierid(systemmanager.getAutoid());
@@ -744,10 +707,19 @@ public class TaaccountServiceImpl extends ServiceImpl<ITaaccountMapper, Taaccoun
                 systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ, "恢复" + name + "id=" + org.getUserid(), systemmanager, null, null, null);
             else
                 systemmanagerService.writeOperateLog(SysConstants.PART_CODE_ORGZ_ZJG, "恢复" + name + "id=" + org.getUserid(), systemmanager, null, null, null);
-        } else if (org.getUsertype() == 5)
+        } else if (org.getUsertype() == 5) {
             systemmanagerService.writeOperateLog(SysConstants.PART_INVESTOR_MANAGE, "恢复投资者id=" + org.getUserid(), systemmanager, null, null, null);
+        }
 
-        return ajaxResult;
+        List<Taaccount> tas = iTaaccountMapper.selectList(new QueryWrapper<Taaccount>()
+                .eq("userid", org.getUserid())
+                .eq("ismain", 1));
+        Userinfo userinfo = iUserinfoMapper.selectOne(new QueryWrapper<Userinfo>().eq("userid", areaid));
+
+        for (Taaccount ta : tas) {
+            iSendMsgService.sendCustomerInfo(userinfo, ta.getAccountid(), "2", 3);
+        }
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
     }
 
     private AjaxResult checkOrgan(Useraccount ua, HttpServletRequest request) {
@@ -783,7 +755,7 @@ public class TaaccountServiceImpl extends ServiceImpl<ITaaccountMapper, Taaccoun
                 }
             }
         }
-        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
+        return null;
     }
 
     private Map<String, Object> logoutInvestor(Long areaid, Systemmanager systemmanager, Taaccount ta) {

+ 3 - 3
mtp3-century/src/main/resources/mapper/SystemmanagerMapper.xml

@@ -214,9 +214,9 @@
     </select>
 
     <update id="updateorgan2User">
-        update SystemManager o set o.managerstatus= #{status}
-        where o.areauserid in (select userid from UserAccount t where t.usertype !=5
-          and (t.memberuserid =#{userid} or t.userid= #{userid})
+        update SystemManager set managerstatus = #{status}
+        where areauserid in (select userid from UserAccount t where t.usertype !=5
+          and (t.memberuserid =#{userid} or t.userid= #{userid}))
     </update>
 
     <select id="queryselfsupport" resultType="com.muchinfo.mtp3pojos.vo.organ.UserAccountSelfsupportResult">

+ 7 - 3
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/organ/UserAccountOrgan2UserResult.java

@@ -6,21 +6,25 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.Date;
+
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 @ApiModel(value = "UserAccountOrgan2UserResult对象", description = "登入账号列表")
 public class UserAccountOrgan2UserResult {
 
+    private Long autoid;
+
     @ApiModelProperty(value = "所属机构代码")
     private Long areauserid;
 
     @ApiModelProperty(value = "登录账户")
-    private Long logincode;
+    private String logincode;
 
     @ApiModelProperty(value = "账户状态")
-    private Long managerstatus;
+    private Integer managerstatus;
 
     @ApiModelProperty(value = "更新时间")
-    private Long modifytime;
+    private Date modifytime;
 }