From 03a4584d7d58fc073649a3ef821e1b2ebc0ed6cb Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期日, 30 七月 2023 05:04:49 +0800
Subject: [PATCH] 更新管理页面

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
index 0a7ac7e..4fcfb28 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
@@ -92,6 +92,9 @@
     @Autowired
     private ITSystemConfigService systemConfigService;
 
+    @Autowired
+    private ICompanyFundFlowService companyFundFlowService;
+
     @Value("${callbackPath}")
     private String callbackPath;
 
@@ -121,6 +124,8 @@
         TAgent tAgent = tAgentService.selectById(tAgentId);
         model.addAttribute("item",tAgent);
         LogObjectHolder.me().set(tAgent);
+        User user = userService.selectOne(new EntityWrapper<User>().eq("role_type", 3).eq("object_id", tAgentId));
+        model.addAttribute("user", user);
         return PREFIX + "tAgent_edit.html";
     }
 
@@ -592,8 +597,43 @@
     @RequestMapping(value = "/tAgent/update")
     @ResponseBody
     public Object update(TAgent tAgent) {
+        TAgent tAgent1 = tAgentService.selectOne(new EntityWrapper<TAgent>()
+                .eq("merchantName", tAgent.getMerchantName()));
+        if(null != tAgent1 && tAgent1.getId().compareTo(tAgent.getId()) != 0){
+            return new SuccessTip(500,"该代理商已存在!");
+        }
+
+        User user = userService.selectOne(new EntityWrapper<User>().eq("account", tAgent.getAccount()));
+        User user1 = userService.selectOne(new EntityWrapper<User>().eq("role_type", 3).eq("object_id", tAgent.getId()));
+        if (null != user && user.getId().compareTo(user1.getId()) != 0){
+            return new SuccessTip(500,"该账号已存在!");
+        }
+
         tAgent.setPrincipal(tAgent.getPrincipal().replace(" ",""));
+
+
+        String[] split = tAgent.getAreaId().split("/");
+        // 查询省市
+        // 黑龙江省/大兴安岭地区
+        // 702/852
+        TRegion province = tRegionService.selectById(split[0]);
+        tAgent.setProvinceName(province.getName());
+        tAgent.setProvinceCode(province.getCode());
+        TRegion city = tRegionService.selectById(split[1]);
+        if(Objects.isNull(city)){
+            city = tRegionService.selectOne(new EntityWrapper<TRegion>()
+                    .eq("name",split[1])
+                    .last("LIMIT 1"));
+        }
+        tAgent.setCityName(city.getName());
+        tAgent.setCityCode(city.getCode());
         tAgentService.updateById(tAgent);
+
+        user1.setAccount(tAgent.getAccount());
+        if(ToolUtil.isNotEmpty(tAgent.getPassword())){
+            user1.setPassword(ShiroKit.md5(tAgent.getPassword(), user.getSalt()));
+        }
+        userService.updateById(user1);
         return SUCCESS_TIP;
     }
 
@@ -824,6 +864,14 @@
             if(0 == settledAmount){
                 return ResultUtil.error("余额不足");
             }
+
+            Double balance = 0D;
+            if(roleType == 1){
+                balance = rechargeRecordService.queryCompanyBalance();
+            }else{
+                balance = rechargeRecordService.queryAgentBalance(tAgent.getId());
+            }
+
             SettlementRecord settlementRecord = new SettlementRecord();
             settlementRecord.setType(roleType == 1 ? 1 : 2);
             if(roleType == 3){
@@ -854,6 +902,17 @@
                     settlementRecord.setOrderNumber(merOrderId1);
                     settlementRecord.setArrivalTime(new Date());
                     settlementRecordService.updateById(settlementRecord);
+
+                    CompanyFundFlow companyFundFlow = new CompanyFundFlow();
+                    companyFundFlow.setType(2);
+                    companyFundFlow.setObjectType(roleType == 1 ? 1 : 2);
+                    if(roleType == 3){
+                        companyFundFlow.setObjectId(tAgent.getId());
+                    }
+                    companyFundFlow.setBalance(new BigDecimal(balance));
+                    companyFundFlow.setMoney(new BigDecimal(settlementRecord.getAmount()));
+                    companyFundFlow.setCreateTime(new Date());
+                    companyFundFlowService.insert(companyFundFlow);
                     return ResultUtil.success();
                 }
                 if(2 == status){
@@ -888,6 +947,26 @@
                     settlementRecord.setOrderNumber(merOrderId1);
                     settlementRecord.setArrivalTime(new Date());
                     settlementRecordService.updateById(settlementRecord);
+                    Integer type = settlementRecord.getType();
+                    Double balance = 0D;
+                    if(type == 1){
+                        balance = rechargeRecordService.queryCompanyBalance();
+                    }else{
+                        balance = rechargeRecordService.queryAgentBalance(settlementRecord.getObjectId());
+                    }
+                    BigDecimal bigDecimal = new BigDecimal(balance).add(new BigDecimal(settlementRecord.getAmount()));
+                    CompanyFundFlow companyFundFlow = new CompanyFundFlow();
+                    companyFundFlow.setType(2);
+                    companyFundFlow.setObjectType(type);
+                    if(type == 2){
+                        companyFundFlow.setObjectId(settlementRecord.getObjectId());
+                    }
+                    companyFundFlow.setBalance(bigDecimal);
+                    companyFundFlow.setMoney(new BigDecimal(settlementRecord.getAmount()));
+                    companyFundFlow.setCreateTime(new Date());
+                    companyFundFlowService.insert(companyFundFlow);
+
+
                     response.setStatus(200);
                     PrintWriter out = response.getWriter();
                     out.print("OK");
@@ -917,6 +996,7 @@
         try {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
             String out_trade_no = sdf.format(new Date()) + UUIDUtil.getNumberRandom(3);
+
             RechargeRecord rechargeRecord = new RechargeRecord();
             rechargeRecord.setCode(out_trade_no);
             rechargeRecord.setType(4);
@@ -974,12 +1054,22 @@
                                             num++;
                                         }
                                         if("1".equals(status1)){//成功
+                                            Double balance = rechargeRecordService.queryCompanyBalance();//平台余额
+
                                             String merOrderId = jsonObject1.getString("merOrderId");
                                             rechargeRecord1.setPayTime(new Date());
                                             rechargeRecord1.setPayStatus(2);
                                             rechargeRecord1.setOrderNumber(merOrderId);
                                             rechargeRecord1.setSurplusDividedAmount(rechargeRecord1.getAmount());
                                             rechargeRecordService.updateById(rechargeRecord1);
+
+                                            CompanyFundFlow companyFundFlow = new CompanyFundFlow();
+                                            companyFundFlow.setType(1);
+                                            companyFundFlow.setObjectType(1);
+                                            companyFundFlow.setBalance(new BigDecimal(balance));
+                                            companyFundFlow.setMoney(new BigDecimal(rechargeRecord1.getAmount()));
+                                            companyFundFlow.setCreateTime(new Date());
+                                            companyFundFlowService.insert(companyFundFlow);
                                             break;
                                         }
                                         if("2".equals(status1) || 10 == num){//失败
@@ -1024,6 +1114,7 @@
                     return;
                 }
                 if(1 == status){
+                    Double balance = rechargeRecordService.queryCompanyBalance();//平台余额
                     String parameter1 = jsonObject.getString("parameter1");
                     RechargeRecord rechargeRecord = rechargeRecordService.selectById(parameter1);
                     rechargeRecord.setPayStatus(2);
@@ -1031,6 +1122,15 @@
                     rechargeRecord.setOrderNumber(jsonObject.getString("merOrderId"));
                     rechargeRecord.setSurplusDividedAmount(rechargeRecord.getAmount());
                     rechargeRecordService.updateById(rechargeRecord);
+
+                    CompanyFundFlow companyFundFlow = new CompanyFundFlow();
+                    companyFundFlow.setType(1);
+                    companyFundFlow.setObjectType(1);
+                    companyFundFlow.setBalance(new BigDecimal(balance));
+                    companyFundFlow.setMoney(new BigDecimal(rechargeRecord.getAmount()));
+                    companyFundFlow.setCreateTime(new Date());
+                    companyFundFlowService.insert(companyFundFlow);
+
                     response.setStatus(200);
                     PrintWriter out = response.getWriter();
                     out.print("OK");

--
Gitblit v1.7.1