瀏覽代碼

* 功能优化

顾绍勇 4 年之前
父節點
當前提交
e7ed4a683d

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

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

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

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

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

3
 import java.io.Serializable;
3
 import java.io.Serializable;
4
 
4
 
5
 import com.baomidou.mybatisplus.annotation.IdType;
5
 import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableField;
6
 import com.baomidou.mybatisplus.annotation.TableId;
7
 import com.baomidou.mybatisplus.annotation.TableId;
7
 import lombok.Data;
8
 import lombok.Data;
8
 import lombok.EqualsAndHashCode;
9
 import lombok.EqualsAndHashCode;
48
      * 备注
49
      * 备注
49
      */
50
      */
50
     private String remark;
51
     private String remark;
51
-
52
-
53
 }
52
 }

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

88
      */
88
      */
89
     @TableField(exist = false)
89
     @TableField(exist = false)
90
     private String remark;
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
 @Mapper
17
 @Mapper
18
 public interface TaOrgAccountMapper extends BaseMapper<TaOrgAccount> {
18
 public interface TaOrgAccountMapper extends BaseMapper<TaOrgAccount> {
19
     TaOrgAccount getOrgAccountById(@Param("orgId") Integer orgId);
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
 
2
 
3
 import java.time.LocalDate;
3
 import java.time.LocalDate;
4
 import java.util.List;
4
 import java.util.List;
5
+import java.util.Map;
5
 
6
 
6
 import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
7
 import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
7
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
8
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
95
      * @return
96
      * @return
96
      */
97
      */
97
     List<RefundOrder> orderListByRefundExport(@Param("itemType") String itemType,
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
                                                                    @Param("wxOrderId") String wxOrderId,
259
                                                                    @Param("wxOrderId") String wxOrderId,
259
                                                                    @Param("tradeNo") String tradeNo,
260
                                                                    @Param("tradeNo") String tradeNo,
260
                                                                    @Param("orgId") Integer orgId);
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
      * @param activityId
27
      * @param activityId
28
      * @return
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
  */
14
  */
15
 public interface ITaRedPacketMoneyService extends IService<TaRedPacketMoney> {
15
 public interface ITaRedPacketMoneyService extends IService<TaRedPacketMoney> {
16
 
16
 
17
-    ResponseBean getRedPacketMoneyById(String activityId);
17
+    ResponseBean getRedPacketMoneyById(String activityId,Integer orgId);
18
 
18
 
19
     ResponseBean updateRedPacketMoney(TaRedPacketMoney taRedPacketMoney);
19
     ResponseBean updateRedPacketMoney(TaRedPacketMoney taRedPacketMoney);
20
 
20
 

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

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

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

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

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

1
 package com.huiju.estateagents.redpack.service.impl;
1
 package com.huiju.estateagents.redpack.service.impl;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.common.CommConstant;
4
 import com.huiju.estateagents.common.StringUtils;
6
 import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.redpack.entity.TaOrgAccount;
5
 import com.huiju.estateagents.redpack.entity.TaRedPacketClient;
8
 import com.huiju.estateagents.redpack.entity.TaRedPacketClient;
6
 import com.huiju.estateagents.redpack.entity.TaRedPacketMoney;
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
 import com.huiju.estateagents.redpack.mapper.TaRedPacketMoneyMapper;
12
 import com.huiju.estateagents.redpack.mapper.TaRedPacketMoneyMapper;
8
 import com.huiju.estateagents.redpack.service.ITaRedPacketClientService;
13
 import com.huiju.estateagents.redpack.service.ITaRedPacketClientService;
9
 import com.huiju.estateagents.redpack.service.ITaRedPacketMoneyService;
14
 import com.huiju.estateagents.redpack.service.ITaRedPacketMoneyService;
11
 import org.springframework.beans.factory.annotation.Autowired;
16
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.stereotype.Service;
17
 import org.springframework.stereotype.Service;
13
 
18
 
19
+import java.util.Map;
20
+
14
 /**
21
 /**
15
  * <p>
22
  * <p>
16
  * 红包金额设置  服务实现类
23
  * 红包金额设置  服务实现类
25
     @Autowired
32
     @Autowired
26
     private ITaRedPacketClientService iTaRedPacketClientService;
33
     private ITaRedPacketClientService iTaRedPacketClientService;
27
 
34
 
35
+    @Autowired
36
+    private TaOrgOrderMapper taOrgOrderMapper;
37
+
38
+    @Autowired
39
+    private TaOrgAccountMapper taOrgAccountMapper;
40
+
28
     @Override
41
     @Override
29
-    public ResponseBean getRedPacketMoneyById(String activityId) {
42
+    public ResponseBean getRedPacketMoneyById(String activityId, Integer orgId) {
30
         ResponseBean responseBean = new ResponseBean();
43
         ResponseBean responseBean = new ResponseBean();
31
 
44
 
32
         // 获取红包金额设置
45
         // 获取红包金额设置
44
             taRedPacketMoney.setBlessing(taRedPacketClient.getBlessing());
57
             taRedPacketMoney.setBlessing(taRedPacketClient.getBlessing());
45
             taRedPacketMoney.setRemark(taRedPacketClient.getRemark());
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
         responseBean.addSuccess(taRedPacketMoney);
72
         responseBean.addSuccess(taRedPacketMoney);
48
         return responseBean;
73
         return responseBean;
49
     }
74
     }
56
         updateById(taRedPacketMoney);
81
         updateById(taRedPacketMoney);
57
         // 更新红包客户端消息配置
82
         // 更新红包客户端消息配置
58
         if (!StringUtils.isEmpty(taRedPacketMoney.getActivityName()) || !StringUtils.isEmpty(taRedPacketMoney.getMchName())
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
             TaRedPacketClient taRedPacketClient = new TaRedPacketClient();
85
             TaRedPacketClient taRedPacketClient = new TaRedPacketClient();
61
             taRedPacketClient.setActivityId(taRedPacketMoney.getActivityId());
86
             taRedPacketClient.setActivityId(taRedPacketMoney.getActivityId());
62
             taRedPacketClient.setMchName(taRedPacketMoney.getMchName());
87
             taRedPacketClient.setMchName(taRedPacketMoney.getMchName());

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

16
         where t.org_id = #{orgId}
16
         where t.org_id = #{orgId}
17
     </select>
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
 </mapper>
23
 </mapper>

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

494
         </if>
494
         </if>
495
         GROUP BY t.order_id
495
         GROUP BY t.order_id
496
     </select>
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
 </mapper>
510
 </mapper>