Browse Source

Merge branch 'dev' into v3-5-30

yansen 4 years ago
parent
commit
25c1fc87a9

+ 1
- 1
pom.xml View File

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

+ 55
- 59
src/main/java/com/huiju/estateagents/job/OrgOrderTimeJob.java View File

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 View File

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

+ 6
- 4
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java View File

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

+ 7
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java View File

165
      * 实付金额
165
      * 实付金额
166
      */
166
      */
167
     private Integer realAmount;
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 View File

111
     @TableField(exist = false)
111
     @TableField(exist = false)
112
     private String avatarurl;
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 View File

71
      *
71
      *
72
      * @return
72
      * @return
73
      */
73
      */
74
-    List<RechargeOrder> orderListByRechargeOrRefundExport(@Param("itemType") String itemType,
74
+    List<RechargeOrder> rechargeListByConditionExport(@Param("itemType") String itemType,
75
                                                           @Param("tradeNo") String tradeNo,
75
                                                           @Param("tradeNo") String tradeNo,
76
-                                                          @Param("isOffline") Integer isOffline,
76
+                                                          @Param("isOffline") Boolean isOffline,
77
                                                           @Param("tradingStatus") String tradingStatus,
77
                                                           @Param("tradingStatus") String tradingStatus,
78
                                                           @Param("startDate") String startDate,
78
                                                           @Param("startDate") String startDate,
79
                                                           @Param("endDate") String endDate,
79
                                                           @Param("endDate") String endDate,
104
                                               @Param("startDate") String startDate,
104
                                               @Param("startDate") String startDate,
105
                                               @Param("endDate") String endDate,
105
                                               @Param("endDate") String endDate,
106
                                               @Param("miniAppName") String miniAppName,
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 View File

59
      *
59
      *
60
      * @return
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
      *
73
      *
74
      * @return
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 View File

35
      * @param taRedPacket
35
      * @param taRedPacket
36
      * @return
36
      * @return
37
      */
37
      */
38
-    ResponseBean updateRedPacket(TaRedPacket taRedPacket);
38
+    ResponseBean updateRedPacket(TaRedPacket taRedPacket,Integer orgId);
39
 
39
 
40
     /**
40
     /**
41
      * 根据ID查询红包图片信息
41
      * 根据ID查询红包图片信息

+ 23
- 17
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java View File

40
 import java.net.HttpURLConnection;
40
 import java.net.HttpURLConnection;
41
 import java.net.URL;
41
 import java.net.URL;
42
 import java.net.URLEncoder;
42
 import java.net.URLEncoder;
43
-import java.time.LocalDate;
44
 import java.time.LocalDateTime;
43
 import java.time.LocalDateTime;
45
 import java.util.ArrayList;
44
 import java.util.ArrayList;
46
 import java.util.HashMap;
45
 import java.util.HashMap;
133
     }
132
     }
134
 
133
 
135
     @Override
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
         return result;
137
         return result;
139
     }
138
     }
140
 
139
 
145
     }
144
     }
146
 
145
 
147
     @Override
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
         return result;
149
         return result;
151
     }
150
     }
152
 
151
 
159
         return urlList;
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
 
195
 
183
         //下单
196
         //下单
184
         Map<String, String> data = new HashMap<String, String>();
197
         Map<String, String> data = new HashMap<String, String>();
185
-        data.put("body", "wxzf");
198
+        data.put("body", "微信支付");
186
         //商品号唯一
199
         //商品号唯一
187
         data.put("out_trade_no", taOrgOrder.getTradeNo());
200
         data.put("out_trade_no", taOrgOrder.getTradeNo());
188
         data.put("device_info", "WEB");
201
         data.put("device_info", "WEB");
236
         taOrgOrder.setAmount(amount);
249
         taOrgOrder.setAmount(amount);
237
         taOrgOrder.setRealAmount(realAmount);
250
         taOrgOrder.setRealAmount(realAmount);
238
         taOrgOrder.setCreateDate(LocalDateTime.now());
251
         taOrgOrder.setCreateDate(LocalDateTime.now());
239
-        taOrgOrder.setExpiryDate(LocalDateTime.now().plusMinutes(5));
252
+        taOrgOrder.setExpiryDate(LocalDateTime.now().plusMinutes(30));
240
         taOrgOrder.setRemark("线上充值");
253
         taOrgOrder.setRemark("线上充值");
241
         taOrgOrder.setStatus(CommConstant.STATUS_NORMAL);
254
         taOrgOrder.setStatus(CommConstant.STATUS_NORMAL);
242
         taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_PROCESSING);
255
         taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_PROCESSING);
593
         TaOrgRefundApplication updateRefundApplication = assembleRefundApplication(userId, CommConstant.ITEM_TYPE_REJECT, refundApplication);
606
         TaOrgRefundApplication updateRefundApplication = assembleRefundApplication(userId, CommConstant.ITEM_TYPE_REJECT, refundApplication);
594
         QueryWrapper<TaOrgRefundApplication> taOrgRefundApplicationQueryWrapper = new QueryWrapper<>();
607
         QueryWrapper<TaOrgRefundApplication> taOrgRefundApplicationQueryWrapper = new QueryWrapper<>();
595
         taOrgRefundApplicationQueryWrapper.eq("order_id", id);
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
         TaOrgOrder taOrgOrder = new TaOrgOrder();
615
         TaOrgOrder taOrgOrder = new TaOrgOrder();
603
         taOrgOrder.setOrderId(id);
616
         taOrgOrder.setOrderId(id);
604
         taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_FAIL);
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
         return responseBean;
620
         return responseBean;
615
 
621
 

+ 29
- 5
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHelpServiceImpl.java View File

53
             return responseBean;
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
             return responseBean;
85
             return responseBean;
62
         }
86
         }
63
 
87
 
81
     }
105
     }
82
 
106
 
83
     @Override
107
     @Override
84
-    public ResponseBean getRedPacketHelpById(String activityId,Integer orgId) {
108
+    public ResponseBean getRedPacketHelpById(String activityId, Integer orgId) {
85
         ResponseBean responseBean = new ResponseBean();
109
         ResponseBean responseBean = new ResponseBean();
86
         TaRedPacketHelp taRedPacketHelp = getById(activityId);
110
         TaRedPacketHelp taRedPacketHelp = getById(activityId);
87
 
111
 

+ 22
- 6
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketServiceImpl.java View File

9
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.base.ResponseBean;
10
 import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.common.CommConstant;
11
 import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.drainage.entity.TaDrainage;
13
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
12
 import com.huiju.estateagents.entity.TaCustomerFrom;
14
 import com.huiju.estateagents.entity.TaCustomerFrom;
13
 import com.huiju.estateagents.entity.TaMiniapp;
15
 import com.huiju.estateagents.entity.TaMiniapp;
14
 import com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport;
16
 import com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport;
55
     @Autowired
57
     @Autowired
56
     private TaMiniappMapper taMiniappMapper;
58
     private TaMiniappMapper taMiniappMapper;
57
 
59
 
60
+    @Autowired
61
+    private TaDrainageMapper taDrainageMapper;
62
+
58
     @Override
63
     @Override
59
     @Transactional
64
     @Transactional
60
-    public ResponseBean initializeRedPacket(TaRedPacket record,Integer orgId) {
65
+    public ResponseBean initializeRedPacket(TaRedPacket record, Integer orgId) {
61
         ResponseBean responseBean = new ResponseBean();
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
         TaMiniapp taMiniapp = taMiniappMapper.selectOne(miniappQueryWrapper);
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
         taRedPacketMapper.initRedPacketHelp(record.getActivityId(), record.getTempleActivityId());
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
         taRedPacketMapper.initRedPacketMoney(record.getActivityId(), record.getTempleActivityId());
77
         taRedPacketMapper.initRedPacketMoney(record.getActivityId(), record.getTempleActivityId());
73
         taRedPacketMapper.initRedPacketImages(record.getActivityId(), record.getTempleActivityId());
78
         taRedPacketMapper.initRedPacketImages(record.getActivityId(), record.getTempleActivityId());
74
         responseBean.addSuccess("success");
79
         responseBean.addSuccess("success");
76
     }
81
     }
77
 
82
 
78
     @Override
83
     @Override
79
-    public ResponseBean updateRedPacket(TaRedPacket taRedPacket) {
84
+    public ResponseBean updateRedPacket(TaRedPacket taRedPacket,Integer orgId) {
80
         ResponseBean responseBean = new ResponseBean();
85
         ResponseBean responseBean = new ResponseBean();
81
         Boolean updateResult = updateById(taRedPacket);
86
         Boolean updateResult = updateById(taRedPacket);
82
         if (!updateResult) {
87
         if (!updateResult) {
84
             return responseBean;
89
             return responseBean;
85
         }
90
         }
86
         saveRedPacketImages(taRedPacket, 2);
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
         responseBean.addSuccess("success");
103
         responseBean.addSuccess("success");
88
         return responseBean;
104
         return responseBean;
89
     }
105
     }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java View File

196
         taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
196
         taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
197
         //添加账户金额
197
         //添加账户金额
198
         taOrgAccount.setAvailableBalance(taOrgAccount.getAvailableBalance() + taOrgOrder.getAmount());
198
         taOrgAccount.setAvailableBalance(taOrgAccount.getAvailableBalance() + taOrgOrder.getAmount());
199
-        taOrgAccount.setPurchaseAmount(taOrgAccount.getPurchaseAmount() + taOrgOrder.getAmount());
199
+        taOrgAccount.setRealBalance(taOrgAccount.getRealBalance() + taOrgOrder.getAmount());
200
         taOrgAccountMapper.updateById(taOrgAccount);
200
         taOrgAccountMapper.updateById(taOrgAccount);
201
     }
201
     }
202
 
202
 

+ 1
- 1
src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java View File

535
         }
535
         }
536
         //获取红包的随机数
536
         //获取红包的随机数
537
         int redPackageMoney = getRedPackageMoney(taRedPacketMoney.getMaxPacket(), taRedPacketMoney.getMinPacket());
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
         if (taRedPacketMoney.getBalance()  < redPackageMoney) {
541
         if (taRedPacketMoney.getBalance()  < redPackageMoney) {

+ 0
- 2
src/main/resources/mapper/TaBuildingMapper.xml View File

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

+ 7
- 7
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml View File

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

+ 14
- 6
src/main/resources/mapper/redpack/TaRedPacketMapper.xml View File

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

+ 19
- 15
src/main/resources/mapper/redpack/TaRedPacketPersonMapper.xml View File

6
         SELECT
6
         SELECT
7
             t.*,
7
             t.*,
8
             t2.phone,
8
             t2.phone,
9
-            t2.NAME,
9
+            t2.NAME as name,
10
             t2.nickname nickname,
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
         FROM
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
         WHERE
16
         WHERE
16
             t.activity_id = #{activityId}
17
             t.activity_id = #{activityId}
17
             AND t.org_id = #{orgId}
18
             AND t.org_id = #{orgId}
20
                 AND t2.phone like concat('%',#{phone},'%')
21
                 AND t2.phone like concat('%',#{phone},'%')
21
             </if>
22
             </if>
22
         ORDER BY
23
         ORDER BY
23
-            t.votes DESC,t.create_date DESC
24
+            helpNum DESC,
25
+            t.create_date DESC
24
     </select>
26
     </select>
25
 
27
 
26
     <select id="exportRedPacketRankingList" resultType="com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport">
28
     <select id="exportRedPacketRankingList" resultType="com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport">
28
             t.votes,
30
             t.votes,
29
             t.create_date,
31
             t.create_date,
30
             t2.phone,
32
             t2.phone,
31
-            t2.NAME,
33
+            t2.NAME as name,
32
             t2.nickname nickname,
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
         FROM
37
         FROM
35
             ta_red_packet_person t
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
         WHERE
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
         ORDER BY
47
         ORDER BY
45
-            t.votes DESC,t.create_date DESC
48
+        votes DESC,
49
+        t.create_date DESC
46
     </select>
50
     </select>
47
 
51
 
48
 </mapper>
52
 </mapper>