浏览代码

* 功能优化

顾绍勇 4 年前
父节点
当前提交
e7ed4a683d

+ 4
- 2
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHelpController.java 查看文件

@@ -12,6 +12,8 @@ import org.slf4j.LoggerFactory;
12 12
 import org.springframework.beans.factory.annotation.Autowired;
13 13
 import org.springframework.web.bind.annotation.*;
14 14
 
15
+import javax.servlet.http.HttpServletRequest;
16
+
15 17
 /**
16 18
  * <p>
17 19
  * 红包助力设置  前端控制器
@@ -129,10 +131,10 @@ public class TaRedPacketHelpController extends BaseController {
129 131
      * @param id 实体ID
130 132
      */
131 133
     @RequestMapping(value = "/admin/redPacket/help/{id}", method = RequestMethod.GET)
132
-    public ResponseBean taRedPacketHelpGet(@PathVariable String id) {
134
+    public ResponseBean taRedPacketHelpGet(@PathVariable String id, HttpServletRequest request) {
133 135
         ResponseBean responseBean = new ResponseBean();
134 136
         try {
135
-            responseBean = iTaRedPacketHelpService.getRedPacketHelpById(id);
137
+            responseBean = iTaRedPacketHelpService.getRedPacketHelpById(id,getOrgId(request));
136 138
         } catch (Exception e) {
137 139
             e.printStackTrace();
138 140
             logger.error("taRedPacketHelpDelete -=- {}", e.toString());

+ 4
- 2
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketMoneyController.java 查看文件

@@ -12,6 +12,8 @@ import org.slf4j.LoggerFactory;
12 12
 import org.springframework.beans.factory.annotation.Autowired;
13 13
 import org.springframework.web.bind.annotation.*;
14 14
 
15
+import javax.servlet.http.HttpServletRequest;
16
+
15 17
 /**
16 18
  * <p>
17 19
  * 红包金额设置  前端控制器
@@ -130,10 +132,10 @@ public class TaRedPacketMoneyController extends BaseController {
130 132
      * @param id 实体ID
131 133
      */
132 134
     @RequestMapping(value = "/admin/redPacket/money/{id}", method = RequestMethod.GET)
133
-    public ResponseBean taRedPacketMoneyGet(@PathVariable String id) {
135
+    public ResponseBean taRedPacketMoneyGet(@PathVariable String id, HttpServletRequest request) {
134 136
         ResponseBean responseBean = new ResponseBean();
135 137
         try {
136
-            responseBean = iTaRedPacketMoneyService.getRedPacketMoneyById(id);
138
+            responseBean = iTaRedPacketMoneyService.getRedPacketMoneyById(id, getOrgId(request));
137 139
         } catch (Exception e) {
138 140
             e.printStackTrace();
139 141
             logger.error("taRedPacketMoneyDelete -=- {}", e.toString());

+ 1
- 2
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketClient.java 查看文件

@@ -3,6 +3,7 @@ package com.huiju.estateagents.redpack.entity;
3 3
 import java.io.Serializable;
4 4
 
5 5
 import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableField;
6 7
 import com.baomidou.mybatisplus.annotation.TableId;
7 8
 import lombok.Data;
8 9
 import lombok.EqualsAndHashCode;
@@ -48,6 +49,4 @@ public class TaRedPacketClient implements Serializable {
48 49
      * 备注
49 50
      */
50 51
     private String remark;
51
-
52
-
53 52
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketMoney.java 查看文件

@@ -88,4 +88,22 @@ public class TaRedPacketMoney implements Serializable {
88 88
      */
89 89
     @TableField(exist = false)
90 90
     private String remark;
91
+
92
+    /**
93
+     * 已发送红包数量
94
+     */
95
+    @TableField(exist = false)
96
+    private Long sendNum;
97
+
98
+    /**
99
+     * 已发送红包金额
100
+     */
101
+    @TableField(exist = false)
102
+    private Long sendTotalAmount;
103
+
104
+    /**
105
+     * 账户余额
106
+     */
107
+    @TableField(exist = false)
108
+    private Integer availableBalance;
91 109
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgAccountMapper.java 查看文件

@@ -17,4 +17,6 @@ import com.huiju.estateagents.redpack.entity.TaOrgAccount;
17 17
 @Mapper
18 18
 public interface TaOrgAccountMapper extends BaseMapper<TaOrgAccount> {
19 19
     TaOrgAccount getOrgAccountById(@Param("orgId") Integer orgId);
20
+
21
+    Integer updateAvailableBalanceById(@Param("accountId") String accountId, @Param("amount") Integer amount);
20 22
 }

+ 18
- 4
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java 查看文件

@@ -2,6 +2,7 @@ package com.huiju.estateagents.redpack.mapper;
2 2
 
3 3
 import java.time.LocalDate;
4 4
 import java.util.List;
5
+import java.util.Map;
5 6
 
6 7
 import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
7 8
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
@@ -95,10 +96,10 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
95 96
      * @return
96 97
      */
97 98
     List<RefundOrder> orderListByRefundExport(@Param("itemType") String itemType,
98
-                                               @Param("tradeNo") String tradeNo,
99
-                                               @Param("startDate") String startDate,
100
-                                               @Param("endDate") String endDate,
101
-                                               @Param("miniAppName") String miniAppName);
99
+                                              @Param("tradeNo") String tradeNo,
100
+                                              @Param("startDate") String startDate,
101
+                                              @Param("endDate") String endDate,
102
+                                              @Param("miniAppName") String miniAppName);
102 103
 
103 104
     /**
104 105
      * 获取充值订单列表
@@ -258,4 +259,17 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
258 259
                                                                    @Param("wxOrderId") String wxOrderId,
259 260
                                                                    @Param("tradeNo") String tradeNo,
260 261
                                                                    @Param("orgId") Integer orgId);
262
+
263
+
264
+    /**
265
+     * 获取红包发送数据
266
+     *
267
+     * @param targetType
268
+     * @param targetId
269
+     * @param orgId
270
+     * @return
271
+     */
272
+    Map<String, Object> getRedPacketSendInfo(@Param("targetType") String targetType,
273
+                                              @Param("targetId") String targetId,
274
+                                              @Param("orgId") Integer orgId);
261 275
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketHelpService.java 查看文件

@@ -27,6 +27,6 @@ public interface ITaRedPacketHelpService extends IService<TaRedPacketHelp> {
27 27
      * @param activityId
28 28
      * @return
29 29
      */
30
-    ResponseBean getRedPacketHelpById(String activityId);
30
+    ResponseBean getRedPacketHelpById(String activityId,Integer orgId);
31 31
 
32 32
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketMoneyService.java 查看文件

@@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
14 14
  */
15 15
 public interface ITaRedPacketMoneyService extends IService<TaRedPacketMoney> {
16 16
 
17
-    ResponseBean getRedPacketMoneyById(String activityId);
17
+    ResponseBean getRedPacketMoneyById(String activityId,Integer orgId);
18 18
 
19 19
     ResponseBean updateRedPacketMoney(TaRedPacketMoney taRedPacketMoney);
20 20
 

+ 8
- 5
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java 查看文件

@@ -3,6 +3,7 @@ package com.huiju.estateagents.redpack.service.impl;
3 3
 import com.alibaba.excel.EasyExcel;
4 4
 import com.alibaba.fastjson.JSONObject;
5 5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6 7
 import com.baomidou.mybatisplus.core.metadata.IPage;
7 8
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8 9
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -98,7 +99,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
98 99
         if (CommConstant.ITEM_TYPE_RECHARGE.equals(orderType) || CommConstant.ITEM_TYPE_REFUND.equals(orderType)) {
99 100
             result = taOrgOrderMapper.orderListByRechargeOrRefund(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName);
100 101
             result.getRecords().forEach(e -> {
101
-                if (!StringUtils.isEmpty(e.getCertificateUrl())){
102
+                if (!StringUtils.isEmpty(e.getCertificateUrl())) {
102 103
                     e.setCertificateUrlList(Arrays.asList(e.getCertificateUrl().split(",")));
103 104
                 }
104 105
             });
@@ -252,16 +253,16 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
252 253
 
253 254
         // 查询账户信息
254 255
         QueryWrapper<TaOrgAccount> orgAccountQueryWrapper = new QueryWrapper<>();
255
-        orgAccountQueryWrapper.eq("org_id",orgId);
256
-        orgAccountQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
256
+        orgAccountQueryWrapper.eq("org_id", orgId);
257
+        orgAccountQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
257 258
         TaOrgAccount taOrgAccount = taOrgAccountMapper.selectOne(orgAccountQueryWrapper);
258
-        if(taOrgAccount == null){
259
+        if (taOrgAccount == null) {
259 260
             responseBean.addError("账户不存在");
260 261
             return responseBean;
261 262
         }
262 263
 
263 264
         // 1.校验账户金额
264
-        if(amount > CommonUtils.fenToYuan(taOrgAccount.getAvailableBalance())){
265
+        if (amount > CommonUtils.fenToYuan(taOrgAccount.getAvailableBalance())) {
265 266
             responseBean.addError("账户可用余额不足,请稍后再试");
266 267
             return responseBean;
267 268
         }
@@ -317,6 +318,8 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
317 318
             return responseBean;
318 319
         }
319 320
 
321
+        // 5.更新账户新金额
322
+        taOrgAccountMapper.updateAvailableBalanceById(taOrgAccount.getAccountId(), CommonUtils.yuanToFen(amount));
320 323
         responseBean.addSuccess(taOrgOrder);
321 324
         return responseBean;
322 325
     }

+ 8
- 1
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHelpServiceImpl.java 查看文件

@@ -3,9 +3,11 @@ package com.huiju.estateagents.redpack.service.impl;
3 3
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
6 7
 import com.huiju.estateagents.common.StringUtils;
7 8
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
8 9
 import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
10
+import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
9 11
 import com.huiju.estateagents.redpack.mapper.TaRedPacketHelpMapper;
10 12
 import com.huiju.estateagents.redpack.service.ITaRedPacketHelpService;
11 13
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
@@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
16 18
 
17 19
 import java.time.LocalDateTime;
18 20
 import java.time.ZoneOffset;
21
+import java.util.Map;
19 22
 
20 23
 /**
21 24
  * <p>
@@ -36,6 +39,9 @@ public class TaRedPacketHelpServiceImpl extends ServiceImpl<TaRedPacketHelpMappe
36 39
     @Autowired
37 40
     private ITaRedPacketService iTaRedPacketService;
38 41
 
42
+    @Autowired
43
+    private TaOrgOrderMapper taOrgOrderMapper;
44
+
39 45
     @Override
40 46
     public ResponseBean updateRedPackHelp(TaRedPacketHelp taRedPacketHelp) {
41 47
         ResponseBean responseBean = new ResponseBean();
@@ -75,7 +81,7 @@ public class TaRedPacketHelpServiceImpl extends ServiceImpl<TaRedPacketHelpMappe
75 81
     }
76 82
 
77 83
     @Override
78
-    public ResponseBean getRedPacketHelpById(String activityId) {
84
+    public ResponseBean getRedPacketHelpById(String activityId,Integer orgId) {
79 85
         ResponseBean responseBean = new ResponseBean();
80 86
         TaRedPacketHelp taRedPacketHelp = getById(activityId);
81 87
 
@@ -86,6 +92,7 @@ public class TaRedPacketHelpServiceImpl extends ServiceImpl<TaRedPacketHelpMappe
86 92
             taRedPacketHelp.setEndDate(taRedPacket.getEndDate());
87 93
             taRedPacketHelp.setActivityEndTip(taRedPacket.getActivityEndTip());
88 94
         }
95
+
89 96
         responseBean.addSuccess(taRedPacketHelp);
90 97
         return responseBean;
91 98
     }

+ 27
- 2
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketMoneyServiceImpl.java 查看文件

@@ -1,9 +1,14 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.common.CommConstant;
4 6
 import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.redpack.entity.TaOrgAccount;
5 8
 import com.huiju.estateagents.redpack.entity.TaRedPacketClient;
6 9
 import com.huiju.estateagents.redpack.entity.TaRedPacketMoney;
10
+import com.huiju.estateagents.redpack.mapper.TaOrgAccountMapper;
11
+import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
7 12
 import com.huiju.estateagents.redpack.mapper.TaRedPacketMoneyMapper;
8 13
 import com.huiju.estateagents.redpack.service.ITaRedPacketClientService;
9 14
 import com.huiju.estateagents.redpack.service.ITaRedPacketMoneyService;
@@ -11,6 +16,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11 16
 import org.springframework.beans.factory.annotation.Autowired;
12 17
 import org.springframework.stereotype.Service;
13 18
 
19
+import java.util.Map;
20
+
14 21
 /**
15 22
  * <p>
16 23
  * 红包金额设置  服务实现类
@@ -25,8 +32,14 @@ public class TaRedPacketMoneyServiceImpl extends ServiceImpl<TaRedPacketMoneyMap
25 32
     @Autowired
26 33
     private ITaRedPacketClientService iTaRedPacketClientService;
27 34
 
35
+    @Autowired
36
+    private TaOrgOrderMapper taOrgOrderMapper;
37
+
38
+    @Autowired
39
+    private TaOrgAccountMapper taOrgAccountMapper;
40
+
28 41
     @Override
29
-    public ResponseBean getRedPacketMoneyById(String activityId) {
42
+    public ResponseBean getRedPacketMoneyById(String activityId, Integer orgId) {
30 43
         ResponseBean responseBean = new ResponseBean();
31 44
 
32 45
         // 获取红包金额设置
@@ -44,6 +57,18 @@ public class TaRedPacketMoneyServiceImpl extends ServiceImpl<TaRedPacketMoneyMap
44 57
             taRedPacketMoney.setBlessing(taRedPacketClient.getBlessing());
45 58
             taRedPacketMoney.setRemark(taRedPacketClient.getRemark());
46 59
         }
60
+        Map<String, Object> result = taOrgOrderMapper.getRedPacketSendInfo(CommConstant.RED_PACKET, activityId, orgId);
61
+        taRedPacketMoney.setSendNum((Long) result.get("sendNum"));
62
+        taRedPacketMoney.setSendTotalAmount((Long) result.get("sendTotalAmount"));
63
+
64
+        QueryWrapper<TaOrgAccount> orgAccountQueryWrapper =new QueryWrapper<>();
65
+        orgAccountQueryWrapper.eq("org_id",orgId);
66
+        orgAccountQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
67
+        TaOrgAccount taOrgAccount = taOrgAccountMapper.selectOne(orgAccountQueryWrapper);
68
+        if(taOrgAccount != null){
69
+            taRedPacketMoney.setAvailableBalance(taOrgAccount.getAvailableBalance());
70
+        }
71
+
47 72
         responseBean.addSuccess(taRedPacketMoney);
48 73
         return responseBean;
49 74
     }
@@ -56,7 +81,7 @@ public class TaRedPacketMoneyServiceImpl extends ServiceImpl<TaRedPacketMoneyMap
56 81
         updateById(taRedPacketMoney);
57 82
         // 更新红包客户端消息配置
58 83
         if (!StringUtils.isEmpty(taRedPacketMoney.getActivityName()) || !StringUtils.isEmpty(taRedPacketMoney.getMchName())
59
-                || !StringUtils.isEmpty(taRedPacketMoney.getBlessing()) || !StringUtils.isEmpty(taRedPacketMoney.getRemark())){
84
+                || !StringUtils.isEmpty(taRedPacketMoney.getBlessing()) || !StringUtils.isEmpty(taRedPacketMoney.getRemark())) {
60 85
             TaRedPacketClient taRedPacketClient = new TaRedPacketClient();
61 86
             taRedPacketClient.setActivityId(taRedPacketMoney.getActivityId());
62 87
             taRedPacketClient.setMchName(taRedPacketMoney.getMchName());

+ 4
- 0
src/main/resources/mapper/redpack/TaOrgAccountMapper.xml 查看文件

@@ -16,4 +16,8 @@
16 16
         where t.org_id = #{orgId}
17 17
     </select>
18 18
 
19
+    <update id="updateAvailableBalanceById">
20
+        update ta_org_account t set t.available_balance = t.available_balance - #{amount} where t.account_id = #{accountId}
21
+    </update>
22
+
19 23
 </mapper>

+ 13
- 0
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml 查看文件

@@ -494,4 +494,17 @@
494 494
         </if>
495 495
         GROUP BY t.order_id
496 496
     </select>
497
+
498
+    <select id = "getRedPacketSendInfo" resultType="map">
499
+
500
+        SELECT
501
+        count( * ) sendNum,
502
+        sum(t3.amount) sendTotalAmount
503
+    FROM
504
+        ta_org_order_detail t3
505
+    WHERE
506
+        t3.target_type = #{targetType}
507
+        AND t3.target_id = #{targetId}
508
+        and t3.org_id = #{orgId}
509
+    </select>
497 510
 </mapper>