Parcourir la source

Merge branch 'dev' into v3-5-30

yansen il y a 4 ans
Parent
révision
25c1fc87a9

+ 1
- 1
pom.xml Voir le fichier

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.28</version>
13
+	<version>v3.5.29</version>
14 14
 	<name>estateages</name>
15 15
 	<description>置业经纪人</description>
16 16
 

+ 55
- 59
src/main/java/com/huiju/estateagents/job/OrgOrderTimeJob.java Voir le fichier

@@ -1,59 +1,55 @@
1
-//package com.huiju.estateagents.job;//package com.huiju.estateagents.job;
2
-//
3
-//import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4
-//import com.huiju.estateagents.base.BaseController;
5
-//import com.huiju.estateagents.common.CommConstant;
6
-//import com.huiju.estateagents.redpack.entity.TaOrgOrder;
7
-//import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
8
-//import com.huiju.estateagents.service.ITaPersonFromRecordService;
9
-//import com.huiju.estateagents.statistic.service.ITsCustomerGenderStatisticService;
10
-//import com.huiju.estateagents.statistic.service.ITsCustomerStatisticDailyService;
11
-//import com.huiju.estateagents.statistic.service.ITsCustomerStatisticMonthlyService;
12
-//import com.huiju.estateagents.statistic.service.ITsUserBehaviorStatisticService;
13
-//import org.slf4j.Logger;
14
-//import org.slf4j.LoggerFactory;
15
-//import org.springframework.beans.factory.annotation.Autowired;
16
-//import org.springframework.context.annotation.Configuration;
17
-//import org.springframework.scheduling.annotation.EnableScheduling;
18
-//import org.springframework.scheduling.annotation.Scheduled;
19
-//import org.springframework.stereotype.Component;
20
-//
21
-//import java.time.LocalDateTime;
22
-//
23
-///**
24
-// * 订单相关操作
25
-// */
26
-//@Component
27
-//@Configuration
28
-//@EnableScheduling
29
-//public class OrgOrderTimeJob extends BaseController {
30
-//
31
-//    private Logger logger = LoggerFactory.getLogger(OrgOrderTimeJob.class);
32
-//
33
-//    @Autowired
34
-//    private TaOrgOrderMapper taOrgOrderMapper;
35
-//
36
-//    /**
37
-//     * 处理过期订单
38
-//     */
39
-//    @Scheduled(cron = "* 0/5 * * * ?")
40
-//    private void dealExpireOrder() {
41
-//        logger.info("处理过期订单 定时任务开始");
42
-//
43
-//        try {
44
-//            TaOrgOrder taOrgOrder = new TaOrgOrder();
45
-//            taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_FAIL);
46
-//
47
-//            UpdateWrapper<TaOrgOrder> taOrgOrderUpdateWrapper = new UpdateWrapper<>();
48
-//            taOrgOrderUpdateWrapper.eq("status", CommConstant.STATUS_NORMAL);
49
-//            taOrgOrderUpdateWrapper.gt("expiry_date", LocalDateTime.now());
50
-//            taOrgOrderUpdateWrapper.eq("trading_status",CommConstant.TRADING_STATUS_PROCESSING);
51
-//            Integer result = taOrgOrderMapper.update(taOrgOrder, taOrgOrderUpdateWrapper);
52
-//            logger.info("处理过期订单 共更新" + result + "条数据");
53
-//        } catch (Exception e) {
54
-//            logger.error("处理过期订单 异常", e);
55
-//        }
56
-//        logger.info("处理过期订单 定时任务结束");
57
-//    }
58
-//
59
-//}
1
+package com.huiju.estateagents.job;//package com.huiju.estateagents.job;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4
+import com.huiju.estateagents.base.BaseController;
5
+import com.huiju.estateagents.common.CommConstant;
6
+import com.huiju.estateagents.common.DateUtils;
7
+import com.huiju.estateagents.redpack.entity.TaOrgOrder;
8
+import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
9
+import org.slf4j.Logger;
10
+import org.slf4j.LoggerFactory;
11
+import org.springframework.beans.factory.annotation.Autowired;
12
+import org.springframework.context.annotation.Configuration;
13
+import org.springframework.scheduling.annotation.EnableScheduling;
14
+import org.springframework.scheduling.annotation.Scheduled;
15
+import org.springframework.stereotype.Component;
16
+
17
+import java.time.LocalDateTime;
18
+
19
+/**
20
+ * 订单相关操作
21
+ */
22
+@Component
23
+@Configuration
24
+@EnableScheduling
25
+public class OrgOrderTimeJob extends BaseController {
26
+
27
+    private Logger logger = LoggerFactory.getLogger(OrgOrderTimeJob.class);
28
+
29
+    @Autowired
30
+    private TaOrgOrderMapper taOrgOrderMapper;
31
+
32
+    /**
33
+     * 处理过期订单
34
+     */
35
+    @Scheduled(cron = "0 0/5 * * * ?")
36
+    private void dealExpireOrder() {
37
+        logger.info("处理过期订单 定时任务开始");
38
+
39
+        try {
40
+            TaOrgOrder taOrgOrder = new TaOrgOrder();
41
+            taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_FAIL);
42
+
43
+            UpdateWrapper<TaOrgOrder> taOrgOrderUpdateWrapper = new UpdateWrapper<>();
44
+            taOrgOrderUpdateWrapper.eq("status", CommConstant.STATUS_NORMAL);
45
+            taOrgOrderUpdateWrapper.lt("expiry_date", DateUtils.localDateTimeToString(LocalDateTime.now()));
46
+            taOrgOrderUpdateWrapper.eq("trading_status",CommConstant.TRADING_STATUS_PROCESSING);
47
+            Integer result = taOrgOrderMapper.update(taOrgOrder, taOrgOrderUpdateWrapper);
48
+            logger.info("处理过期订单 共更新" + result + "条数据");
49
+        } catch (Exception e) {
50
+            logger.error("处理过期订单 异常", e);
51
+        }
52
+        logger.info("处理过期订单 定时任务结束");
53
+    }
54
+
55
+}

+ 3
- 2
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Voir le fichier

@@ -99,7 +99,7 @@ public class TaOrgOrderController extends BaseController {
99 99
      */
100 100
     @RequestMapping(value = "/channel/taOrgOrder/rechargeOrderExport")
101 101
     public void rechargeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
102
-                                                   @RequestParam(value = "isOffline", required = false) Integer isOffline,
102
+                                                   @RequestParam(value = "isOffline", required = false) Boolean isOffline,
103 103
                                                    @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
104 104
                                                    @RequestParam(value = "miniAppName", required = false) String miniAppName,
105 105
                                                    @RequestParam(value = "startDate", required = false) String startDate,
@@ -162,6 +162,7 @@ public class TaOrgOrderController extends BaseController {
162 162
                                    @RequestParam(value = "endDate", required = false) String endDate,
163 163
                                    @RequestParam(value = "orderType", required = false) String orderType,
164 164
                                    @RequestParam(value = "orgId", required = false) Integer orgId,
165
+                                   @RequestParam(value = "auditStatus", required = false) String auditStatus,
165 166
                                    HttpServletRequest request, HttpServletResponse response) throws IOException {
166 167
         response.setContentType("application/octet-stream");
167 168
         response.setCharacterEncoding("utf-8");
@@ -171,7 +172,7 @@ public class TaOrgOrderController extends BaseController {
171 172
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
172 173
 
173 174
         // 设置 sheet, 同一个sheet只需要设置一次
174
-        List<RefundOrder> data = iTaOrgOrderService.refundListByConditionExport(orderType, tradeNo, startDate, endDate, miniAppName, orgId);
175
+        List<RefundOrder> data = iTaOrgOrderService.refundListByConditionExport(orderType, tradeNo, startDate, endDate, miniAppName, orgId, auditStatus);
175 176
         excelWriter.write(data, writeSheet);
176 177
         // finish 会帮忙关闭流
177 178
         excelWriter.finish();

+ 6
- 4
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java Voir le fichier

@@ -2,10 +2,14 @@ package com.huiju.estateagents.redpack.controller;
2 2
 
3 3
 import com.alibaba.fastjson.JSON;
4 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 8
 import com.huiju.estateagents.base.BaseController;
8 9
 import com.huiju.estateagents.base.ResponseBean;
10
+import com.huiju.estateagents.common.CommConstant;
11
+import com.huiju.estateagents.drainage.entity.TaDrainage;
12
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
9 13
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
10 14
 import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
11 15
 import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
@@ -18,7 +22,6 @@ import org.springframework.web.bind.annotation.*;
18 22
 
19 23
 import javax.servlet.http.HttpServletRequest;
20 24
 import javax.servlet.http.HttpServletResponse;
21
-import java.time.LocalDate;
22 25
 import java.time.LocalDateTime;
23 26
 import java.util.HashMap;
24 27
 import java.util.Map;
@@ -46,7 +49,6 @@ public class TaRedPacketController extends BaseController {
46 49
     @Autowired
47 50
     private ITaRedPacketPersonService iTaRedPacketPersonService;
48 51
 
49
-
50 52
     /**
51 53
      * 分页查询列表
52 54
      *
@@ -126,10 +128,10 @@ public class TaRedPacketController extends BaseController {
126 128
      * @return
127 129
      */
128 130
     @RequestMapping(value = "/admin/redPacket/update", method = RequestMethod.PUT)
129
-    public ResponseBean taRedPacketUpdate(@RequestBody TaRedPacket taRedPacket) {
131
+    public ResponseBean taRedPacketUpdate(@RequestBody TaRedPacket taRedPacket,HttpServletRequest request) {
130 132
         ResponseBean responseBean = new ResponseBean();
131 133
         try {
132
-            responseBean = iTaRedPacketService.updateRedPacket(taRedPacket);
134
+            responseBean = iTaRedPacketService.updateRedPacket(taRedPacket,getOrgId(request));
133 135
         } catch (Exception e) {
134 136
             logger.error("taRedPacketUpdate -=- {}", e);
135 137
             responseBean.addError(e.getMessage());

+ 7
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Voir le fichier

@@ -165,4 +165,11 @@ public class TaOrgOrder implements Serializable {
165 165
      * 实付金额
166 166
      */
167 167
     private Integer realAmount;
168
+
169
+    /**
170
+     * 用户姓名
171
+     */
172
+    @TableField(exist = false)
173
+    private String name;
174
+
168 175
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketPerson.java Voir le fichier

@@ -111,5 +111,11 @@ public class TaRedPacketPerson implements Serializable {
111 111
     @TableField(exist = false)
112 112
     private String avatarurl;
113 113
 
114
+    /**
115
+     * 被助力次数
116
+     */
117
+    @TableField(exist = false)
118
+    private Integer helpNum;
119
+
114 120
 
115 121
 }

+ 4
- 3
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java Voir le fichier

@@ -71,9 +71,9 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
71 71
      *
72 72
      * @return
73 73
      */
74
-    List<RechargeOrder> orderListByRechargeOrRefundExport(@Param("itemType") String itemType,
74
+    List<RechargeOrder> rechargeListByConditionExport(@Param("itemType") String itemType,
75 75
                                                           @Param("tradeNo") String tradeNo,
76
-                                                          @Param("isOffline") Integer isOffline,
76
+                                                          @Param("isOffline") Boolean isOffline,
77 77
                                                           @Param("tradingStatus") String tradingStatus,
78 78
                                                           @Param("startDate") String startDate,
79 79
                                                           @Param("endDate") String endDate,
@@ -104,7 +104,8 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
104 104
                                               @Param("startDate") String startDate,
105 105
                                               @Param("endDate") String endDate,
106 106
                                               @Param("miniAppName") String miniAppName,
107
-                                              @Param("orgId") Integer orgId);
107
+                                              @Param("orgId") Integer orgId,
108
+                                              @Param("auditStatus") String auditStatus);
108 109
 
109 110
     /**
110 111
      * 获取充值订单列表

+ 2
- 2
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java Voir le fichier

@@ -59,7 +59,7 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
59 59
      *
60 60
      * @return
61 61
      */
62
-    List<RechargeOrder> rechargeListByConditionExport(String itemType, String tradeNo, Integer isOffline, String tradingStatus, String startDate, String endDate, String miniAppName, Integer orgId);
62
+    List<RechargeOrder> rechargeListByConditionExport(String itemType, String tradeNo, Boolean isOffline, String tradingStatus, String startDate, String endDate, String miniAppName, Integer orgId);
63 63
 
64 64
     /**
65 65
      * 消费订单列表导出
@@ -73,7 +73,7 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
73 73
      *
74 74
      * @return
75 75
      */
76
-    List<RefundOrder> refundListByConditionExport(String itemType, String tradeNo, String startDate, String endDate, String miniAppName, Integer orgId);
76
+    List<RefundOrder> refundListByConditionExport(String itemType, String tradeNo, String startDate, String endDate, String miniAppName, Integer orgId, String auditStatus);
77 77
 
78 78
 
79 79
     /**

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketService.java Voir le fichier

@@ -35,7 +35,7 @@ public interface ITaRedPacketService extends IService<TaRedPacket> {
35 35
      * @param taRedPacket
36 36
      * @return
37 37
      */
38
-    ResponseBean updateRedPacket(TaRedPacket taRedPacket);
38
+    ResponseBean updateRedPacket(TaRedPacket taRedPacket,Integer orgId);
39 39
 
40 40
     /**
41 41
      * 根据ID查询红包图片信息

+ 23
- 17
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java Voir le fichier

@@ -40,7 +40,6 @@ import java.io.InputStream;
40 40
 import java.net.HttpURLConnection;
41 41
 import java.net.URL;
42 42
 import java.net.URLEncoder;
43
-import java.time.LocalDate;
44 43
 import java.time.LocalDateTime;
45 44
 import java.util.ArrayList;
46 45
 import java.util.HashMap;
@@ -133,8 +132,8 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
133 132
     }
134 133
 
135 134
     @Override
136
-    public List<RechargeOrder> rechargeListByConditionExport(String itemType, String tradeNo, Integer isOffline, String tradingStatus, String startDate, String endDate, String miniAppName, Integer orgId) {
137
-        List<RechargeOrder> result = taOrgOrderMapper.orderListByRechargeOrRefundExport(itemType, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName, orgId);
135
+    public List<RechargeOrder> rechargeListByConditionExport(String itemType, String tradeNo, Boolean isOffline, String tradingStatus, String startDate, String endDate, String miniAppName, Integer orgId) {
136
+        List<RechargeOrder> result = taOrgOrderMapper.rechargeListByConditionExport(itemType, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName, orgId);
138 137
         return result;
139 138
     }
140 139
 
@@ -145,8 +144,8 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
145 144
     }
146 145
 
147 146
     @Override
148
-    public List<RefundOrder> refundListByConditionExport(String itemType, String tradeNo, String startDate, String endDate, String miniAppName, Integer orgId) {
149
-        List<RefundOrder> result = taOrgOrderMapper.orderListByRefundExport(itemType, tradeNo, startDate, endDate, miniAppName, orgId);
147
+    public List<RefundOrder> refundListByConditionExport(String itemType, String tradeNo, String startDate, String endDate, String miniAppName, Integer orgId, String auditStatus) {
148
+        List<RefundOrder> result = taOrgOrderMapper.orderListByRefundExport(itemType, tradeNo, startDate, endDate, miniAppName, orgId, auditStatus);
150 149
         return result;
151 150
     }
152 151
 
@@ -159,6 +158,20 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
159 158
         return urlList;
160 159
     }
161 160
 
161
+    public Integer calculateAvailableAmount(Integer orgId){
162
+        TaOrgAccount taOrgAccount = taOrgAccountMapper.getOrgAccountById(orgId);
163
+
164
+        //查询总充值金额
165
+        Integer totalRechargeAmount = taOrgOrderMapper.countTotalRechargeAmount(orgId);
166
+
167
+        //查询退款冻结额
168
+        Integer totalBlockAmount = taOrgAccountBlockedMapper.countTotalBlockAmount(orgId);
169
+
170
+        //账户余额=总充值金额-已消费金额-已退款额-退款冻结额
171
+        Integer balance = totalRechargeAmount - taOrgAccount.getPurchaseAmount() - taOrgAccount.getTotalRefund() - totalBlockAmount;
172
+
173
+        return balance;
174
+    }
162 175
     /**
163 176
      * 微信支付
164 177
      *
@@ -182,7 +195,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
182 195
 
183 196
         //下单
184 197
         Map<String, String> data = new HashMap<String, String>();
185
-        data.put("body", "wxzf");
198
+        data.put("body", "微信支付");
186 199
         //商品号唯一
187 200
         data.put("out_trade_no", taOrgOrder.getTradeNo());
188 201
         data.put("device_info", "WEB");
@@ -236,7 +249,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
236 249
         taOrgOrder.setAmount(amount);
237 250
         taOrgOrder.setRealAmount(realAmount);
238 251
         taOrgOrder.setCreateDate(LocalDateTime.now());
239
-        taOrgOrder.setExpiryDate(LocalDateTime.now().plusMinutes(5));
252
+        taOrgOrder.setExpiryDate(LocalDateTime.now().plusMinutes(30));
240 253
         taOrgOrder.setRemark("线上充值");
241 254
         taOrgOrder.setStatus(CommConstant.STATUS_NORMAL);
242 255
         taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_PROCESSING);
@@ -593,23 +606,16 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
593 606
         TaOrgRefundApplication updateRefundApplication = assembleRefundApplication(userId, CommConstant.ITEM_TYPE_REJECT, refundApplication);
594 607
         QueryWrapper<TaOrgRefundApplication> taOrgRefundApplicationQueryWrapper = new QueryWrapper<>();
595 608
         taOrgRefundApplicationQueryWrapper.eq("order_id", id);
596
-        int taOrgRefundApplicationUpdateResult = taOrgRefundApplicationMapper.update(updateRefundApplication, taOrgRefundApplicationQueryWrapper);
609
+        taOrgRefundApplicationMapper.update(updateRefundApplication, taOrgRefundApplicationQueryWrapper);
597 610
 
598 611
         //更新账户冻结记录
599
-        int taOrgAccountBlockedUpdateResult = updateOrgAccountBlock(refundApplication, selectRefundApplication.getBlockedId());
612
+        updateOrgAccountBlock(refundApplication, selectRefundApplication.getBlockedId());
600 613
 
601 614
         //更新订单状态
602 615
         TaOrgOrder taOrgOrder = new TaOrgOrder();
603 616
         taOrgOrder.setOrderId(id);
604 617
         taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_FAIL);
605
-        int taOrgOrderUpdateResult = taOrgOrderMapper.updateById(taOrgOrder);
606
-
607
-        if (taOrgAccountBlockedUpdateResult < 1 ||
608
-                taOrgRefundApplicationUpdateResult < 1 ||
609
-                taOrgOrderUpdateResult < 1) {
610
-            responseBean.addError("驳回失败");
611
-            return responseBean;
612
-        }
618
+        taOrgOrderMapper.updateById(taOrgOrder);
613 619
 
614 620
         return responseBean;
615 621
 

+ 29
- 5
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHelpServiceImpl.java Voir le fichier

@@ -53,11 +53,35 @@ public class TaRedPacketHelpServiceImpl extends ServiceImpl<TaRedPacketHelpMappe
53 53
             return responseBean;
54 54
         }
55 55
 
56
+        // 查询h5 help数据
57
+        TaRedPacketHelp redPacketHelp = taRedPacketHelpMapper.selectById(taRedPacketHelp.getActivityId());
58
+        if (redPacketHelp == null) {
59
+            responseBean.addError("fail");
60
+            return responseBean;
61
+        }
62
+
56 63
         // 校验活动是否开始
57
-        if (taRedPacket.getStartDate().toInstant(ZoneOffset.of("+8")).toEpochMilli() < LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()
58
-                && (taRedPacketHelp.getHelpSuccesPersons() != null || taRedPacketHelp.getLimitNumPerDay() != null
59
-                || taRedPacketHelp.getLimitNumPerPerson() != null || taRedPacketHelp.getLimitNumForEachPerson() != null)) {
60
-            responseBean.addError("活动已开始,不可修改");
64
+        if (taRedPacket.getStartDate().toInstant(ZoneOffset.of("+8")).toEpochMilli() < LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()) {
65
+
66
+            // 活动开始,配置人数和次数限制不可修改
67
+            if ((taRedPacketHelp.getHelpSuccesPersons() != redPacketHelp.getHelpSuccesPersons() ||
68
+                    taRedPacketHelp.getLimitNumPerDay() != redPacketHelp.getLimitNumPerDay()
69
+                    || taRedPacketHelp.getLimitNumPerPerson() != redPacketHelp.getLimitNumPerPerson() ||
70
+                    taRedPacketHelp.getLimitNumForEachPerson() != redPacketHelp.getLimitNumForEachPerson())) {
71
+                responseBean.addError("活动已开始,不可修改");
72
+                return responseBean;
73
+            }
74
+
75
+            // 活动开始,开始时间不可修改
76
+            if (taRedPacketHelp.getStartDate().toInstant(ZoneOffset.of("+8")).toEpochMilli() > taRedPacket.getStartDate().toInstant(ZoneOffset.of("+8")).toEpochMilli() ) {
77
+                responseBean.addError("活动已开始,开始时间不可修改");
78
+                return responseBean;
79
+            }
80
+        }
81
+
82
+        // 校验结束时间是否已经到达
83
+        if (taRedPacketHelp.getEndDate() != null && taRedPacket.getEndDate().toInstant(ZoneOffset.of("+8")).toEpochMilli() < LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()) {
84
+            responseBean.addError("活动已结束,结束时间不可修改");
61 85
             return responseBean;
62 86
         }
63 87
 
@@ -81,7 +105,7 @@ public class TaRedPacketHelpServiceImpl extends ServiceImpl<TaRedPacketHelpMappe
81 105
     }
82 106
 
83 107
     @Override
84
-    public ResponseBean getRedPacketHelpById(String activityId,Integer orgId) {
108
+    public ResponseBean getRedPacketHelpById(String activityId, Integer orgId) {
85 109
         ResponseBean responseBean = new ResponseBean();
86 110
         TaRedPacketHelp taRedPacketHelp = getById(activityId);
87 111
 

+ 22
- 6
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketServiceImpl.java Voir le fichier

@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9 9
 import com.huiju.estateagents.base.ResponseBean;
10 10
 import com.huiju.estateagents.common.CommConstant;
11 11
 import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.drainage.entity.TaDrainage;
13
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
12 14
 import com.huiju.estateagents.entity.TaCustomerFrom;
13 15
 import com.huiju.estateagents.entity.TaMiniapp;
14 16
 import com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport;
@@ -55,20 +57,23 @@ public class TaRedPacketServiceImpl extends ServiceImpl<TaRedPacketMapper, TaRed
55 57
     @Autowired
56 58
     private TaMiniappMapper taMiniappMapper;
57 59
 
60
+    @Autowired
61
+    private TaDrainageMapper taDrainageMapper;
62
+
58 63
     @Override
59 64
     @Transactional
60
-    public ResponseBean initializeRedPacket(TaRedPacket record,Integer orgId) {
65
+    public ResponseBean initializeRedPacket(TaRedPacket record, Integer orgId) {
61 66
         ResponseBean responseBean = new ResponseBean();
62 67
 
63 68
         // 获取小程序信息
64
-        QueryWrapper<TaMiniapp> miniappQueryWrapper =new QueryWrapper<>();
65
-        miniappQueryWrapper.eq("org_id",orgId);
69
+        QueryWrapper<TaMiniapp> miniappQueryWrapper = new QueryWrapper<>();
70
+        miniappQueryWrapper.eq("org_id", orgId);
66 71
         TaMiniapp taMiniapp = taMiniappMapper.selectOne(miniappQueryWrapper);
67 72
 
68 73
         // 初始化数据
69
-        taRedPacketMapper.initRedPacket(record.getActivityId(), record.getName(), record.getQrcode(), record.getStartDate(), record.getEndDate(), record.getTempleActivityId(),record.getBuildingId(), record.getOrgId());
74
+        taRedPacketMapper.initRedPacket(record.getActivityId(), record.getName(), record.getQrcode(), record.getStartDate(), record.getEndDate(), record.getTempleActivityId(), record.getBuildingId(), record.getOrgId());
70 75
         taRedPacketMapper.initRedPacketHelp(record.getActivityId(), record.getTempleActivityId());
71
-        taRedPacketMapper.initRedPacketClient(record.getActivityId(), record.getName(), taMiniapp.getName(),record.getTempleActivityId());
76
+        taRedPacketMapper.initRedPacketClient(record.getActivityId(), record.getName(), taMiniapp.getName(), record.getTempleActivityId());
72 77
         taRedPacketMapper.initRedPacketMoney(record.getActivityId(), record.getTempleActivityId());
73 78
         taRedPacketMapper.initRedPacketImages(record.getActivityId(), record.getTempleActivityId());
74 79
         responseBean.addSuccess("success");
@@ -76,7 +81,7 @@ public class TaRedPacketServiceImpl extends ServiceImpl<TaRedPacketMapper, TaRed
76 81
     }
77 82
 
78 83
     @Override
79
-    public ResponseBean updateRedPacket(TaRedPacket taRedPacket) {
84
+    public ResponseBean updateRedPacket(TaRedPacket taRedPacket,Integer orgId) {
80 85
         ResponseBean responseBean = new ResponseBean();
81 86
         Boolean updateResult = updateById(taRedPacket);
82 87
         if (!updateResult) {
@@ -84,6 +89,17 @@ public class TaRedPacketServiceImpl extends ServiceImpl<TaRedPacketMapper, TaRed
84 89
             return responseBean;
85 90
         }
86 91
         saveRedPacketImages(taRedPacket, 2);
92
+
93
+        // 更新H5活动数据
94
+        UpdateWrapper<TaDrainage> taDrainageUpdateWrapper = new UpdateWrapper<>();
95
+        taDrainageUpdateWrapper.eq("activity_id", taRedPacket.getActivityId());
96
+        taDrainageUpdateWrapper.eq("status", CommConstant.STATUS_NORMAL);
97
+        taDrainageUpdateWrapper.eq("org_id", orgId);
98
+
99
+        TaDrainage taDrainage = new TaDrainage();
100
+        taDrainage.setBuildingId(taRedPacket.getBuildingId());
101
+
102
+        taDrainageMapper.update(taDrainage, taDrainageUpdateWrapper);
87 103
         responseBean.addSuccess("success");
88 104
         return responseBean;
89 105
     }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java Voir le fichier

@@ -196,7 +196,7 @@ public class WxPayServiceImpl implements IWxPayService {
196 196
         taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
197 197
         //添加账户金额
198 198
         taOrgAccount.setAvailableBalance(taOrgAccount.getAvailableBalance() + taOrgOrder.getAmount());
199
-        taOrgAccount.setPurchaseAmount(taOrgAccount.getPurchaseAmount() + taOrgOrder.getAmount());
199
+        taOrgAccount.setRealBalance(taOrgAccount.getRealBalance() + taOrgOrder.getAmount());
200 200
         taOrgAccountMapper.updateById(taOrgAccount);
201 201
     }
202 202
 

+ 1
- 1
src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java Voir le fichier

@@ -535,7 +535,7 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
535 535
         }
536 536
         //获取红包的随机数
537 537
         int redPackageMoney = getRedPackageMoney(taRedPacketMoney.getMaxPacket(), taRedPacketMoney.getMinPacket());
538
-        redPackageMoney = taOrgAccount.getRealBalance() < redPackageMoney ? taOrgAccount.getRealBalance() : redPackageMoney;
538
+        redPackageMoney = taOrgAccount.getAvailableBalance() < redPackageMoney ? taOrgAccount.getAvailableBalance() : redPackageMoney;
539 539
 
540 540
         //金额不足直接返回
541 541
         if (taRedPacketMoney.getBalance()  < redPackageMoney) {

+ 0
- 2
src/main/resources/mapper/TaBuildingMapper.xml Voir le fichier

@@ -629,7 +629,6 @@
629 629
                     and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{endDate})
630 630
                 </if>
631 631
             GROUP BY
632
-                b.person_id,
633 632
                 DATE_FORMAT( b.create_date, '%Y-%m-%d' )
634 633
         ) g ON t.date = g.create_date
635 634
         LEFT JOIN (
@@ -714,7 +713,6 @@
714 713
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{endDate})
715 714
         </if>
716 715
         GROUP BY
717
-        b.person_id,
718 716
         DATE_FORMAT( b.create_date, '%Y-%m-%d' )
719 717
         ) g ON t.date = g.create_date
720 718
         LEFT JOIN (

+ 7
- 7
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Voir le fichier

@@ -85,9 +85,6 @@
85 85
         <if test="orgId != null and orgId != ''">
86 86
             and t.org_id = #{orgId}
87 87
         </if>
88
-        <if test="orgId != null and orgId != ''">
89
-            and t.org_id = #{orgId}
90
-        </if>
91 88
         <if test="tradeNo != null and tradeNo != ''">
92 89
             and t.trade_no like concat('%', #{tradeNo}, '%')
93 90
         </if>
@@ -112,14 +109,14 @@
112 109
         GROUP BY t.order_id order by t.create_date desc
113 110
     </select>
114 111
 
115
-    <select id="orderListByRechargeOrRefundExport" resultType="com.huiju.estateagents.redpack.entity.RechargeOrder">
112
+    <select id="rechargeListByConditionExport" resultType="com.huiju.estateagents.redpack.entity.RechargeOrder">
116 113
         select
117 114
         t.trade_no as tradeNo,
118 115
         FORMAT(t.amount/100, 2) as amount,
119 116
         b.name as miniAppName,
120 117
         if(t.is_offline = 1, '运营手工充值', '业务线上充值') as isOffline,
121 118
         t.create_date as createDate,
122
-        if(t.trading_status = 'processing', '待支付', if(t.trading_status = 'success', '已支付','已超时')) as tradingStatus,
119
+        if(t.trading_status = 'processing', '待支付', if(t.trading_status = 'success', '已支付','失败')) as tradingStatus,
123 120
         if(t.is_offline = 0, t.pay_date, '') as payDate
124 121
         From ta_org_order t
125 122
         left join ta_org_order_detail a on t.order_id = a.order_id
@@ -129,7 +126,7 @@
129 126
         <if test="tradeNo != null and tradeNo != ''">
130 127
             and t.trade_no like concat('%', #{tradeNo}, '%')
131 128
         </if>
132
-        <if test="isOffline != null and isOffline != ''">
129
+        <if test="isOffline != null">
133 130
             and t.is_offline = #{isOffline}
134 131
         </if>
135 132
         <if test="tradingStatus != null ">
@@ -180,7 +177,7 @@
180 177
             and t.create_date &lt; #{endDate}
181 178
         </if>
182 179
         <if test="receivePhone != null and receivePhone != ''">
183
-            and c.receivePhone like concat('%', #{receivePhone}, '%')
180
+            and c.phone like concat('%', #{receivePhone}, '%')
184 181
         </if>
185 182
         <if test="miniAppName != null and miniAppName != ''">
186 183
             and b.name like concat('%', #{miniAppName}, '%')
@@ -516,6 +513,9 @@
516 513
         <if test="orgId != null and orgId != ''">
517 514
             and t.org_id = #{orgId}
518 515
         </if>
516
+        <if test="auditStatus != null and auditStatus != ''">
517
+            and d.audit_status = #{auditStatus}
518
+        </if>
519 519
         GROUP BY t.order_id order by t.create_date desc
520 520
     </select>
521 521
 

+ 14
- 6
src/main/resources/mapper/redpack/TaRedPacketMapper.xml Voir le fichier

@@ -116,9 +116,9 @@
116 116
 
117 117
     <select id = "listVisitRecordByCondition" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
118 118
             SELECT
119
-            t.*,
119
+            max(t.visit_time) visit_time,
120 120
             t2.nickname,
121
-            t2.NAME,
121
+            t2.NAME as name,
122 122
             t2.avatarurl,
123 123
             t2.phone,
124 124
             ifnull( t3.nickname, t3.NAME ) sharePersonNickname,
@@ -131,6 +131,8 @@
131 131
             t.org_id =  #{orgId}
132 132
             and t.event_type = 'h5'
133 133
             AND t.target_id = #{drainageId}
134
+            AND (t.share_person_id != NULL  or t.share_person_id != '')
135
+            AND t.share_person_id != t.person_id
134 136
             <if test="sharePersonPhone != null and sharePersonPhone != ''">
135 137
                 AND t3.phone like CONCAT('%',#{sharePersonPhone}, '%')
136 138
             </if>
@@ -144,8 +146,10 @@
144 146
             <if test = "endTime != null">
145 147
                 AND t.visit_time &lt;= #{endTime}
146 148
             </if>
147
-            ORDER BY
148
-              t.visit_time DESC
149
+        GROUP BY
150
+        t.person_id,t.share_person_id
151
+        ORDER BY
152
+        max(t.visit_time) DESC
149 153
     </select>
150 154
 
151 155
     <select id = "exportVisitRecordByCondition" resultType="com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport">
@@ -153,7 +157,7 @@
153 157
         SELECT
154 158
         t.visit_time createDate,
155 159
         t2.nickname,
156
-        t2.NAME,
160
+        t2.NAME as name,
157 161
         t2.avatarurl,
158 162
         t2.phone,
159 163
         ifnull(t3.nickname,t3.name) sharePersonNickname,
@@ -166,6 +170,8 @@
166 170
         t.org_id =  #{orgId}
167 171
         and t.event_type = 'h5'
168 172
         AND t.target_id = #{drainageId}
173
+        AND (t.share_person_id != NULL  or t.share_person_id != '')
174
+        AND t.share_person_id != t.person_id
169 175
         <if test="sharePersonPhone != null and sharePersonPhone != ''">
170 176
             AND t3.phone like CONCAT('%',#{sharePersonPhone}, '%')
171 177
         </if>
@@ -179,8 +185,10 @@
179 185
         <if test = "endTime != null">
180 186
             AND t.visit_time &lt;= #{endTime}
181 187
         </if>
188
+        GROUP BY
189
+        t.person_id,t.share_person_id
182 190
         ORDER BY
183
-        t.visit_time DESC
191
+        max(t.visit_time) DESC
184 192
     </select>
185 193
 
186 194
 </mapper>

+ 19
- 15
src/main/resources/mapper/redpack/TaRedPacketPersonMapper.xml Voir le fichier

@@ -6,12 +6,13 @@
6 6
         SELECT
7 7
             t.*,
8 8
             t2.phone,
9
-            t2.NAME,
9
+            t2.NAME as name,
10 10
             t2.nickname nickname,
11
-            t2.avatarurl
11
+            t2.avatarurl,
12
+        (select count(*) from ta_red_packet_history th where th.target_miniapp_person = t.miniapp_person_id and th.activity_id = #{activityId} and th.org_id = #{orgId}) helpNum
12 13
         FROM
13
-            ta_red_packet_person t
14
-            LEFT JOIN ta_person t2 ON t.miniapp_person_id = t2.person_id
14
+          ta_red_packet_person t
15
+          LEFT JOIN ta_person t2 ON t.miniapp_person_id = t2.person_id
15 16
         WHERE
16 17
             t.activity_id = #{activityId}
17 18
             AND t.org_id = #{orgId}
@@ -20,7 +21,8 @@
20 21
                 AND t2.phone like concat('%',#{phone},'%')
21 22
             </if>
22 23
         ORDER BY
23
-            t.votes DESC,t.create_date DESC
24
+            helpNum DESC,
25
+            t.create_date DESC
24 26
     </select>
25 27
 
26 28
     <select id="exportRedPacketRankingList" resultType="com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport">
@@ -28,21 +30,23 @@
28 30
             t.votes,
29 31
             t.create_date,
30 32
             t2.phone,
31
-            t2.NAME,
33
+            t2.NAME as name,
32 34
             t2.nickname nickname,
33
-            t2.avatarurl
35
+            t2.avatarurl,
36
+            (select count(*) from ta_red_packet_history th where th.target_miniapp_person = t.miniapp_person_id and th.activity_id = #{activityId} and th.org_id = #{orgId}) votes
34 37
         FROM
35 38
             ta_red_packet_person t
36
-            LEFT JOIN ta_person t2 ON t.miniapp_person_id = t2.person_id
39
+        LEFT JOIN ta_person t2 ON t.miniapp_person_id = t2.person_id
37 40
         WHERE
38
-            t.activity_id = #{activityId}
39
-            AND t.org_id = #{orgId}
40
-            AND t.is_signed_up = TRUE
41
-            <if test = "phone != null and phone != ''">
42
-                AND t2.phone like concat('%',#{phone},'%')
43
-            </if>
41
+        t.activity_id = #{activityId}
42
+        AND t.org_id = #{orgId}
43
+        AND t.is_signed_up = TRUE
44
+        <if test = "phone != null and phone != ''">
45
+            AND t2.phone like concat('%',#{phone},'%')
46
+        </if>
44 47
         ORDER BY
45
-            t.votes DESC,t.create_date DESC
48
+        votes DESC,
49
+        t.create_date DESC
46 50
     </select>
47 51
 
48 52
 </mapper>