Parcourir la source

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

魏超 il y a 5 ans
Parent
révision
af90a959c3
26 fichiers modifiés avec 946 ajouts et 198 suppressions
  1. 6
    3
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  2. 12
    0
      src/main/java/com/huiju/estateagents/common/CommonUtils.java
  3. 2
    52
      src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java
  4. 3
    0
      src/main/java/com/huiju/estateagents/drainage/service/ITaDrainageService.java
  5. 82
    0
      src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java
  6. 29
    13
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java
  7. 45
    43
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java
  8. 39
    38
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHelpController.java
  9. 6
    10
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketMoneyController.java
  10. 2
    2
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketPersonController.java
  11. 54
    3
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java
  12. 22
    1
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketHelp.java
  13. 7
    1
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketMoney.java
  14. 2
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaH5ImagesMapper.java
  15. 47
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketMapper.java
  16. 10
    2
      src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java
  17. 16
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketHelpService.java
  18. 5
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketMoneyService.java
  19. 27
    1
      src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketService.java
  20. 112
    24
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java
  21. 73
    1
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHelpServiceImpl.java
  22. 36
    0
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketMoneyServiceImpl.java
  23. 139
    1
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketServiceImpl.java
  24. 49
    1
      src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java
  25. 5
    2
      src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java
  26. 116
    0
      src/main/resources/mapper/redpack/TaRedPacketMapper.xml

+ 6
- 3
src/main/java/com/huiju/estateagents/common/CommConstant.java Voir le fichier

@@ -569,6 +569,11 @@ public class CommConstant {
569 569
      */
570 570
     public static final String LIVE = "live";
571 571
 
572
+    /**
573
+     * 红包类型标识
574
+     */
575
+    public static final String RED_PACKET = "RedPacket";
576
+
572 577
     /**
573 578
      * 系统参数  通知消息次时间间隔
574 579
      */
@@ -717,13 +722,11 @@ public class CommConstant {
717 722
 
718 723
     /**
719 724
      * 已经取消支付
720
-     *
721 725
      */
722 726
     public static final String PAY_STATUS_CANCEL = "cancel";
723 727
 
724 728
     /**
725 729
      * 支付超时
726
-     *
727 730
      */
728 731
     public static final String PAY_STATUS_TIMEOUT = "timeout";
729 732
 
@@ -826,7 +829,7 @@ public class CommConstant {
826 829
 
827 830
     public static final String AUTO_UNAUTH_STATUS = "3001";
828 831
 
829
-    public static final String  AUTH_SUCCESS_DESC = "签章成功";
832
+    public static final String AUTH_SUCCESS_DESC = "签章成功";
830 833
 
831 834
     /**
832 835
      * 审核通过

+ 12
- 0
src/main/java/com/huiju/estateagents/common/CommonUtils.java Voir le fichier

@@ -3,6 +3,7 @@ package com.huiju.estateagents.common;
3 3
 import java.text.SimpleDateFormat;
4 4
 import java.util.Date;
5 5
 import java.util.Random;
6
+import java.util.UUID;
6 7
 import java.util.regex.Matcher;
7 8
 import java.util.regex.Pattern;
8 9
 
@@ -23,6 +24,17 @@ public class CommonUtils {
23 24
         }
24 25
     }
25 26
 
27
+
28
+    /**
29
+     * 获取uuid
30
+     *
31
+     * @return
32
+     */
33
+    public static String getUUIDS() {
34
+        String uuid = UUID.randomUUID().toString().replace("-", "");
35
+        return uuid;
36
+    }
37
+
26 38
     public static String generateTradeNo(String tradeType){
27 39
         String sdf = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
28 40
         int randNum = (int) (new Random().nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取5位随机数

+ 2
- 52
src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java Voir le fichier

@@ -12,7 +12,6 @@ import com.huiju.estateagents.drainage.entity.TaDrainage;
12 12
 import com.huiju.estateagents.drainage.service.ITaDrainageRecordService;
13 13
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
14 14
 import com.huiju.estateagents.entity.ExtendContent;
15
-import com.huiju.estateagents.entity.TaMiniapp;
16 15
 import com.huiju.estateagents.entity.TaPersonBuilding;
17 16
 import com.huiju.estateagents.mapper.TaMiniappMapper;
18 17
 import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
@@ -28,7 +27,6 @@ import org.springframework.web.bind.annotation.*;
28 27
 import javax.servlet.http.HttpServletRequest;
29 28
 import java.time.LocalDateTime;
30 29
 import java.util.List;
31
-import java.util.UUID;
32 30
 import java.util.stream.Collectors;
33 31
 
34 32
 
@@ -42,7 +40,7 @@ import java.util.stream.Collectors;
42 40
  */
43 41
 @RestController
44 42
 @RequestMapping("/api")
45
-public class TaDrainageController extends BaseController {
43
+public class    TaDrainageController extends BaseController {
46 44
 
47 45
     private final Logger logger = LoggerFactory.getLogger(TaDrainageController.class);
48 46
 
@@ -52,18 +50,9 @@ public class TaDrainageController extends BaseController {
52 50
     @Autowired
53 51
     public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
54 52
 
55
-    @Autowired
56
-    private ITaDrainageRecordService iTaDrainageRecordService;
57
-
58 53
     @Autowired
59 54
     public IExtendContentService iExtendContentService;
60 55
 
61
-    @Autowired
62
-    private TaMiniappMapper taMiniappMapper;
63
-
64
-    @Autowired
65
-    private IMiniAppService miniAppService;
66
-
67 56
     /**
68 57
      * 分页查询列表
69 58
      *
@@ -143,36 +132,7 @@ public class TaDrainageController extends BaseController {
143 132
     public ResponseBean taDrainageAdd(@RequestBody TaDrainage taDrainage, HttpServletRequest request) {
144 133
         ResponseBean responseBean = new ResponseBean();
145 134
         try {
146
-            taDrainage.setOrgId(getOrgId(request));
147
-            taDrainage.setCreateDate(LocalDateTime.now());
148
-            taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
149
-            if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isAfter(LocalDateTime.now())) {
150
-                taDrainage.setStatus(CommConstant.STATUS_NORMAL);
151
-            }
152
-            taDrainage.setCreateUser(getUserId(request));
153
-            if (iTaDrainageService.save(taDrainage)) {
154
-                // 根据ORGID查询当前小程序表的miniapp_id
155
-                QueryWrapper<TaMiniapp> taMiniappQuery = new QueryWrapper<>();
156
-                taMiniappQuery.eq("org_id", getOrgId(request));
157
-                TaMiniapp taMiniapp = taMiniappMapper.selectOne(taMiniappQuery);
158
-                // 生成二维码
159
-                ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0", taDrainage.getDrainageId().toString()).replace("#1", "h5"), taMiniapp.getMiniappId());
160
-                taDrainage.setQrCode(String.valueOf(taMiniappQrcode.getData()));
161
-                iTaDrainageService.updateById(taDrainage);
162
-
163
-                //添加第三方appid和secretis
164
-                TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = new TaThirdPartyMiniappConfig();
165
-                taThirdPartyMiniappConfig.setOrgId(getOrgId(request));
166
-                taThirdPartyMiniappConfig.setAppid(getUUIDS());
167
-                taThirdPartyMiniappConfig.setAppSecret(getUUIDS());
168
-                taThirdPartyMiniappConfig.setExpirationDate(LocalDateTime.now().plusDays(7));
169
-                taThirdPartyMiniappConfig.setTargetType(CommConstant.TARGET_TYPE_H5);
170
-                taThirdPartyMiniappConfig.setTargetId(taDrainage.getDrainageId().toString());
171
-                iTaThirdPartyMiniappConfigService.save(taThirdPartyMiniappConfig);
172
-                responseBean.addSuccess(taDrainage);
173
-            } else {
174
-                responseBean.addError("fail");
175
-            }
135
+            responseBean = iTaDrainageService.saveDrainage(taDrainage,getOrgId(request),getUserId(request));
176 136
         } catch (Exception e) {
177 137
             e.printStackTrace();
178 138
             logger.error("taDrainageAdd -=- {}", e.toString());
@@ -181,16 +141,6 @@ public class TaDrainageController extends BaseController {
181 141
         return responseBean;
182 142
     }
183 143
 
184
-    /**
185
-     * 获取uuid
186
-     *
187
-     * @return
188
-     */
189
-    private String getUUIDS() {
190
-        String uuid = UUID.randomUUID().toString().replace("-", "");
191
-        return uuid;
192
-    }
193
-
194 144
     /**
195 145
      * 根据id删除对象
196 146
      *

+ 3
- 0
src/main/java/com/huiju/estateagents/drainage/service/ITaDrainageService.java Voir le fichier

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.drainage.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
4 5
 import com.huiju.estateagents.drainage.entity.TaDrainage;
5 6
 
6 7
 /**
@@ -13,4 +14,6 @@ import com.huiju.estateagents.drainage.entity.TaDrainage;
13 14
  */
14 15
 public interface ITaDrainageService extends IService<TaDrainage> {
15 16
     void updateDrainageToEnd();
17
+
18
+    ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId);
16 19
 }

+ 82
- 0
src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java Voir le fichier

@@ -1,12 +1,26 @@
1 1
 package com.huiju.estateagents.drainage.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.common.CommonUtils;
8
+import com.huiju.estateagents.common.DateUtils;
4 9
 import com.huiju.estateagents.drainage.entity.TaDrainage;
5 10
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
6 11
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
12
+import com.huiju.estateagents.entity.TaMiniapp;
13
+import com.huiju.estateagents.mapper.TaMiniappMapper;
14
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
15
+import com.huiju.estateagents.redpack.service.ITaRedPacketService;
16
+import com.huiju.estateagents.service.IMiniAppService;
17
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
18
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
7 19
 import org.springframework.beans.factory.annotation.Autowired;
8 20
 import org.springframework.stereotype.Service;
9 21
 
22
+import java.time.LocalDateTime;
23
+
10 24
 /**
11 25
  * <p>
12 26
  * 引流项目  服务实现类
@@ -21,8 +35,76 @@ public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrain
21 35
     @Autowired
22 36
     private TaDrainageMapper taDrainageMapper;
23 37
 
38
+    @Autowired
39
+    private TaMiniappMapper taMiniappMapper;
40
+
41
+    @Autowired
42
+    private IMiniAppService miniAppService;
43
+
44
+    @Autowired
45
+    private ITaRedPacketService iTaRedPacketService;
46
+
47
+    @Autowired
48
+    private ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
49
+
24 50
     @Override
25 51
     public void updateDrainageToEnd() {
26 52
         taDrainageMapper.updateDrainageToEnd();
27 53
     }
54
+
55
+    @Override
56
+    public ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId) {
57
+        ResponseBean responseBean = new ResponseBean();
58
+
59
+
60
+        // 1.保存H5活动信息
61
+        taDrainage.setOrgId(orgId);
62
+        taDrainage.setCreateUser(userId);
63
+        taDrainage.setCreateDate(LocalDateTime.now());
64
+        taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
65
+        if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isAfter(LocalDateTime.now())) {
66
+            taDrainage.setStatus(CommConstant.STATUS_NORMAL);
67
+        }
68
+        Boolean saveResult = save(taDrainage);
69
+        if (!saveResult) {
70
+            responseBean.addError("fail");
71
+            return responseBean;
72
+        }
73
+
74
+        // 2.生成二维码
75
+        QueryWrapper<TaMiniapp> taMiniappQuery = new QueryWrapper<>();
76
+        taMiniappQuery.eq("org_id", orgId);
77
+        TaMiniapp taMiniapp = taMiniappMapper.selectOne(taMiniappQuery);
78
+        ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0", taDrainage.getDrainageId().toString()).replace("#1", "h5"), taMiniapp.getMiniappId());
79
+        taDrainage.setQrCode(String.valueOf(taMiniappQrcode.getData()));
80
+
81
+        // 3.初始化活动(红包)相关数据
82
+        String activityId = CommonUtils.getUUIDS();
83
+        TaRedPacket taRedPacket = new TaRedPacket();
84
+        taRedPacket.setOrgId(orgId);
85
+        taRedPacket.setActivityId(activityId);
86
+        taRedPacket.setName(taDrainage.getName());
87
+        taRedPacket.setCreateDate(LocalDateTime.now());
88
+        taRedPacket.setStartDate(LocalDateTime.now().plusDays(1));
89
+        taRedPacket.setEndDate(DateUtils.dayToLocalDateime(taDrainage.getEndDate()));
90
+        ResponseBean redResponse = iTaRedPacketService.initializeRedPacket(taRedPacket);
91
+        if (ResponseBean.CODE_SUCCESS != redResponse.getCode()) {
92
+            return redResponse;
93
+        }
94
+        taDrainage.setActivityId(activityId);
95
+        updateById(taDrainage);
96
+
97
+        // 4.添加第三方appid和secretis
98
+        TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = new TaThirdPartyMiniappConfig();
99
+        taThirdPartyMiniappConfig.setOrgId(orgId);
100
+        taThirdPartyMiniappConfig.setAppid(CommonUtils.getUUIDS());
101
+        taThirdPartyMiniappConfig.setAppSecret(CommonUtils.getUUIDS());
102
+        taThirdPartyMiniappConfig.setExpirationDate(LocalDateTime.now().plusDays(7));
103
+        taThirdPartyMiniappConfig.setTargetType(CommConstant.TARGET_TYPE_H5);
104
+        taThirdPartyMiniappConfig.setTargetId(taDrainage.getDrainageId().toString());
105
+        iTaThirdPartyMiniappConfigService.save(taThirdPartyMiniappConfig);
106
+
107
+        responseBean.addSuccess(taDrainage);
108
+        return responseBean;
109
+    }
28 110
 }

+ 29
- 13
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java Voir le fichier

@@ -1,18 +1,5 @@
1 1
 package com.huiju.estateagents.redpack.controller;
2 2
 
3
-import javax.servlet.http.HttpServletRequest;
4
-
5
-import org.slf4j.Logger;
6
-import org.slf4j.LoggerFactory;
7
-import org.springframework.beans.factory.annotation.Autowired;
8
-import org.springframework.web.bind.annotation.PathVariable;
9
-import org.springframework.web.bind.annotation.RequestBody;
10
-import org.springframework.web.bind.annotation.RequestMapping;
11
-import org.springframework.web.bind.annotation.RequestMethod;
12
-import org.springframework.web.bind.annotation.RequestParam;
13
-import org.springframework.web.bind.annotation.ResponseBody;
14
-import org.springframework.web.bind.annotation.RestController;
15
-
16 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
17 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
18 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -24,6 +11,13 @@ import com.huiju.estateagents.redpack.entity.TaOrgOrder;
24 11
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
25 12
 import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
26 13
 import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
14
+import lombok.extern.slf4j.Slf4j;
15
+import org.slf4j.Logger;
16
+import org.slf4j.LoggerFactory;
17
+import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.web.bind.annotation.*;
19
+
20
+import javax.servlet.http.HttpServletRequest;
27 21
 
28 22
 /**
29 23
  * <p>
@@ -33,6 +27,7 @@ import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
33 27
  * @author fxf
34 28
  * @since 2020-06-03
35 29
  */
30
+@Slf4j
36 31
 @RestController
37 32
 @RequestMapping("/api")
38 33
 public class TaOrgAccountController extends BaseController {
@@ -244,4 +239,25 @@ public class TaOrgAccountController extends BaseController {
244 239
         }
245 240
         return responseBean;
246 241
     }
242
+
243
+    /**
244
+     * 微信统一下单接口
245
+     * @param taOrgOrder
246
+     * @param request
247
+     * @return
248
+     */
249
+    @RequestMapping(value = "/admin/unifiedOrder",method = RequestMethod.POST)
250
+    public ResponseBean wxUnifiedOrder(@RequestBody TaOrgOrder taOrgOrder,
251
+                                       HttpServletRequest request){
252
+        ResponseBean responseBean = new ResponseBean();
253
+        try {
254
+            taOrgOrder.setOrgId(getOrgId(request));
255
+            taOrgOrder.setUserId(getUserId(request));
256
+            responseBean = iTaOrgOrderService.payUnifiedOrder(taOrgOrder,request.getRemoteAddr());
257
+        } catch (Exception e) {
258
+            log.error("微信统一下单失败: {}" , e.getMessage());
259
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_MISSING_PARAMS);
260
+        }
261
+        return responseBean;
262
+    }
247 263
 }

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

@@ -14,14 +14,14 @@ import org.springframework.web.bind.annotation.*;
14 14
 
15 15
 /**
16 16
  * <p>
17
-    * 红包助力活动  前端控制器
18
-    * </p>
17
+ * 红包助力活动  前端控制器
18
+ * </p>
19 19
  *
20 20
  * @author fxf
21 21
  * @since 2020-06-03
22 22
  */
23 23
 @RestController
24
-@RequestMapping("/")
24
+@RequestMapping("/api")
25 25
 public class TaRedPacketController extends BaseController {
26 26
 
27 27
     private final Logger logger = LoggerFactory.getLogger(TaRedPacketController.class);
@@ -32,25 +32,26 @@ public class TaRedPacketController extends BaseController {
32 32
 
33 33
     /**
34 34
      * 分页查询列表
35
+     *
35 36
      * @param pageNum
36 37
      * @param pageSize
37 38
      * @return
38 39
      */
39
-    @RequestMapping(value="/taRedPacket",method= RequestMethod.GET)
40
-    public ResponseBean taRedPacketList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
-                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
40
+    @RequestMapping(value = "/admin/redPacket/listByCondition", method = RequestMethod.GET)
41
+    public ResponseBean taRedPacketList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
42
+                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
42 43
         ResponseBean responseBean = new ResponseBean();
43 44
         try {
44 45
             //使用分页插件
45
-		    IPage<TaRedPacket> pg = new Page<>(pageNum, pageSize);
46
+            IPage<TaRedPacket> pg = new Page<>(pageNum, pageSize);
46 47
             QueryWrapper<TaRedPacket> queryWrapper = new QueryWrapper<>();
47 48
             queryWrapper.orderByDesc("create_date");
48 49
 
49 50
             IPage<TaRedPacket> result = iTaRedPacketService.page(pg, queryWrapper);
50 51
             responseBean.addSuccess(result);
51
-        }catch (Exception e){
52
+        } catch (Exception e) {
52 53
             e.printStackTrace();
53
-            logger.error("taRedPacketList -=- {}",e.toString());
54
+            logger.error("taRedPacketList -=- {}", e.toString());
54 55
             responseBean.addError(e.getMessage());
55 56
         }
56 57
         return responseBean;
@@ -58,21 +59,21 @@ public class TaRedPacketController extends BaseController {
58 59
 
59 60
     /**
60 61
      * 保存对象
62
+     *
61 63
      * @param taRedPacket 实体对象
62 64
      * @return
63 65
      */
64
-    @RequestMapping(value="/taRedPacket",method= RequestMethod.POST)
65
-    public ResponseBean taRedPacketAdd(@RequestBody TaRedPacket taRedPacket){
66
+    @RequestMapping(value = "/admin/redPacket/save", method = RequestMethod.POST)
67
+    public ResponseBean taRedPacketAdd(@RequestBody TaRedPacket taRedPacket) {
66 68
         ResponseBean responseBean = new ResponseBean();
67 69
         try {
68
-            if (iTaRedPacketService.save(taRedPacket)){
69
-                responseBean.addSuccess(taRedPacket);
70
-            }else {
70
+            if (iTaRedPacketService.save(taRedPacket)) {
71
+                responseBean.addSuccess("success");
72
+            } else {
71 73
                 responseBean.addError("fail");
72 74
             }
73
-        }catch (Exception e){
74
-            e.printStackTrace();
75
-            logger.error("taRedPacketAdd -=- {}",e.toString());
75
+        } catch (Exception e) {
76
+            logger.error("taRedPacketAdd -=- {}", e);
76 77
             responseBean.addError(e.getMessage());
77 78
         }
78 79
         return responseBean;
@@ -80,21 +81,22 @@ public class TaRedPacketController extends BaseController {
80 81
 
81 82
     /**
82 83
      * 根据id删除对象
83
-     * @param id  实体ID
84
+     *
85
+     * @param id 实体ID
84 86
      */
85 87
     @ResponseBody
86
-    @RequestMapping(value="/taRedPacket/{id}", method= RequestMethod.DELETE)
87
-    public ResponseBean taRedPacketDelete(@PathVariable Integer id){
88
+    @RequestMapping(value = "/taRedPacket/{id}", method = RequestMethod.DELETE)
89
+    public ResponseBean taRedPacketDelete(@PathVariable Integer id) {
88 90
         ResponseBean responseBean = new ResponseBean();
89 91
         try {
90
-            if(iTaRedPacketService.removeById(id)){
92
+            if (iTaRedPacketService.removeById(id)) {
91 93
                 responseBean.addSuccess("success");
92
-            }else {
94
+            } else {
93 95
                 responseBean.addError("fail");
94 96
             }
95
-        }catch (Exception e){
97
+        } catch (Exception e) {
96 98
             e.printStackTrace();
97
-            logger.error("taRedPacketDelete -=- {}",e.toString());
99
+            logger.error("taRedPacketDelete -=- {}", e.toString());
98 100
             responseBean.addError(e.getMessage());
99 101
         }
100 102
         return responseBean;
@@ -102,23 +104,17 @@ public class TaRedPacketController extends BaseController {
102 104
 
103 105
     /**
104 106
      * 修改对象
105
-     * @param id  实体ID
107
+     *
106 108
      * @param taRedPacket 实体对象
107 109
      * @return
108 110
      */
109
-    @RequestMapping(value="/taRedPacket/{id}",method= RequestMethod.PUT)
110
-    public ResponseBean taRedPacketUpdate(@PathVariable Integer id,
111
-                                        @RequestBody TaRedPacket taRedPacket){
111
+    @RequestMapping(value = "/admin/redPacket/update", method = RequestMethod.PUT)
112
+    public ResponseBean taRedPacketUpdate(@RequestBody TaRedPacket taRedPacket) {
112 113
         ResponseBean responseBean = new ResponseBean();
113 114
         try {
114
-            if (iTaRedPacketService.updateById(taRedPacket)){
115
-                responseBean.addSuccess(taRedPacket);
116
-            }else {
117
-                responseBean.addError("fail");
118
-            }
119
-        }catch (Exception e){
120
-            e.printStackTrace();
121
-            logger.error("taRedPacketUpdate -=- {}",e.toString());
115
+            responseBean = iTaRedPacketService.updateRedPacket(taRedPacket);
116
+        } catch (Exception e) {
117
+            logger.error("taRedPacketUpdate -=- {}", e);
122 118
             responseBean.addError(e.getMessage());
123 119
         }
124 120
         return responseBean;
@@ -126,16 +122,22 @@ public class TaRedPacketController extends BaseController {
126 122
 
127 123
     /**
128 124
      * 根据id查询对象
129
-     * @param id  实体ID
125
+     *
126
+     * @param id 实体ID
130 127
      */
131
-    @RequestMapping(value="/taRedPacket/{id}",method= RequestMethod.GET)
132
-    public ResponseBean taRedPacketGet(@PathVariable Integer id){
128
+    @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET)
129
+    public ResponseBean taRedPacketGet(@PathVariable Integer id) {
133 130
         ResponseBean responseBean = new ResponseBean();
134 131
         try {
135
-            responseBean.addSuccess(iTaRedPacketService.getById(id));
136
-        }catch (Exception e){
137
-            e.printStackTrace();
138
-            logger.error("taRedPacketDelete -=- {}",e.toString());
132
+            TaRedPacket record = iTaRedPacketService.getById(id);
133
+            if (record != null) {
134
+                record = iTaRedPacketService.getRedPacketImages(record);
135
+                responseBean.addSuccess(record);
136
+            } else {
137
+                responseBean.addError("fail");
138
+            }
139
+        } catch (Exception e) {
140
+            logger.error("taRedPacketDelete -=- {}", e);
139 141
             responseBean.addError(e.getMessage());
140 142
         }
141 143
         return responseBean;

+ 39
- 38
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHelpController.java Voir le fichier

@@ -14,14 +14,14 @@ import org.springframework.web.bind.annotation.*;
14 14
 
15 15
 /**
16 16
  * <p>
17
-    * 红包助力设置  前端控制器
18
-    * </p>
17
+ * 红包助力设置  前端控制器
18
+ * </p>
19 19
  *
20 20
  * @author fxf
21 21
  * @since 2020-06-03
22 22
  */
23 23
 @RestController
24
-@RequestMapping("/")
24
+@RequestMapping("/api")
25 25
 public class TaRedPacketHelpController extends BaseController {
26 26
 
27 27
     private final Logger logger = LoggerFactory.getLogger(TaRedPacketHelpController.class);
@@ -32,25 +32,26 @@ public class TaRedPacketHelpController extends BaseController {
32 32
 
33 33
     /**
34 34
      * 分页查询列表
35
+     *
35 36
      * @param pageNum
36 37
      * @param pageSize
37 38
      * @return
38 39
      */
39
-    @RequestMapping(value="/taRedPacketHelp",method= RequestMethod.GET)
40
-    public ResponseBean taRedPacketHelpList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
-                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
40
+    @RequestMapping(value = "/taRedPacketHelp", method = RequestMethod.GET)
41
+    public ResponseBean taRedPacketHelpList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
42
+                                            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
42 43
         ResponseBean responseBean = new ResponseBean();
43 44
         try {
44 45
             //使用分页插件
45
-		    IPage<TaRedPacketHelp> pg = new Page<>(pageNum, pageSize);
46
+            IPage<TaRedPacketHelp> pg = new Page<>(pageNum, pageSize);
46 47
             QueryWrapper<TaRedPacketHelp> queryWrapper = new QueryWrapper<>();
47 48
             queryWrapper.orderByDesc("create_date");
48 49
 
49 50
             IPage<TaRedPacketHelp> result = iTaRedPacketHelpService.page(pg, queryWrapper);
50 51
             responseBean.addSuccess(result);
51
-        }catch (Exception e){
52
+        } catch (Exception e) {
52 53
             e.printStackTrace();
53
-            logger.error("taRedPacketHelpList -=- {}",e.toString());
54
+            logger.error("taRedPacketHelpList -=- {}", e.toString());
54 55
             responseBean.addError(e.getMessage());
55 56
         }
56 57
         return responseBean;
@@ -58,21 +59,22 @@ public class TaRedPacketHelpController extends BaseController {
58 59
 
59 60
     /**
60 61
      * 保存对象
62
+     *
61 63
      * @param taRedPacketHelp 实体对象
62 64
      * @return
63 65
      */
64
-    @RequestMapping(value="/taRedPacketHelp",method= RequestMethod.POST)
65
-    public ResponseBean taRedPacketHelpAdd(@RequestBody TaRedPacketHelp taRedPacketHelp){
66
+    @RequestMapping(value = "/admin/redPacket/help/save", method = RequestMethod.POST)
67
+    public ResponseBean taRedPacketHelpAdd(@RequestBody TaRedPacketHelp taRedPacketHelp) {
66 68
         ResponseBean responseBean = new ResponseBean();
67 69
         try {
68
-            if (iTaRedPacketHelpService.save(taRedPacketHelp)){
70
+            if (iTaRedPacketHelpService.save(taRedPacketHelp)) {
69 71
                 responseBean.addSuccess(taRedPacketHelp);
70
-            }else {
72
+            } else {
71 73
                 responseBean.addError("fail");
72 74
             }
73
-        }catch (Exception e){
75
+        } catch (Exception e) {
74 76
             e.printStackTrace();
75
-            logger.error("taRedPacketHelpAdd -=- {}",e.toString());
77
+            logger.error("taRedPacketHelpAdd -=- {}", e.toString());
76 78
             responseBean.addError(e.getMessage());
77 79
         }
78 80
         return responseBean;
@@ -80,21 +82,22 @@ public class TaRedPacketHelpController extends BaseController {
80 82
 
81 83
     /**
82 84
      * 根据id删除对象
83
-     * @param id  实体ID
85
+     *
86
+     * @param id 实体ID
84 87
      */
85 88
     @ResponseBody
86
-    @RequestMapping(value="/taRedPacketHelp/{id}", method= RequestMethod.DELETE)
87
-    public ResponseBean taRedPacketHelpDelete(@PathVariable Integer id){
89
+    @RequestMapping(value = "/taRedPacketHelp/{id}", method = RequestMethod.DELETE)
90
+    public ResponseBean taRedPacketHelpDelete(@PathVariable Integer id) {
88 91
         ResponseBean responseBean = new ResponseBean();
89 92
         try {
90
-            if(iTaRedPacketHelpService.removeById(id)){
93
+            if (iTaRedPacketHelpService.removeById(id)) {
91 94
                 responseBean.addSuccess("success");
92
-            }else {
95
+            } else {
93 96
                 responseBean.addError("fail");
94 97
             }
95
-        }catch (Exception e){
98
+        } catch (Exception e) {
96 99
             e.printStackTrace();
97
-            logger.error("taRedPacketHelpDelete -=- {}",e.toString());
100
+            logger.error("taRedPacketHelpDelete -=- {}", e.toString());
98 101
             responseBean.addError(e.getMessage());
99 102
         }
100 103
         return responseBean;
@@ -102,23 +105,20 @@ public class TaRedPacketHelpController extends BaseController {
102 105
 
103 106
     /**
104 107
      * 修改对象
105
-     * @param id  实体ID
108
+     *
109
+     * @param id              实体ID
106 110
      * @param taRedPacketHelp 实体对象
107 111
      * @return
108 112
      */
109
-    @RequestMapping(value="/taRedPacketHelp/{id}",method= RequestMethod.PUT)
113
+    @RequestMapping(value = "/admin/redPacket/help/{id}", method = RequestMethod.PUT)
110 114
     public ResponseBean taRedPacketHelpUpdate(@PathVariable Integer id,
111
-                                        @RequestBody TaRedPacketHelp taRedPacketHelp){
115
+                                              @RequestBody TaRedPacketHelp taRedPacketHelp) {
112 116
         ResponseBean responseBean = new ResponseBean();
113 117
         try {
114
-            if (iTaRedPacketHelpService.updateById(taRedPacketHelp)){
115
-                responseBean.addSuccess(taRedPacketHelp);
116
-            }else {
117
-                responseBean.addError("fail");
118
-            }
119
-        }catch (Exception e){
118
+            responseBean = iTaRedPacketHelpService.updateRedPackHelp(taRedPacketHelp);
119
+        } catch (Exception e) {
120 120
             e.printStackTrace();
121
-            logger.error("taRedPacketHelpUpdate -=- {}",e.toString());
121
+            logger.error("taRedPacketHelpUpdate -=- {}", e.toString());
122 122
             responseBean.addError(e.getMessage());
123 123
         }
124 124
         return responseBean;
@@ -126,16 +126,17 @@ public class TaRedPacketHelpController extends BaseController {
126 126
 
127 127
     /**
128 128
      * 根据id查询对象
129
-     * @param id  实体ID
129
+     *
130
+     * @param id 实体ID
130 131
      */
131
-    @RequestMapping(value="/taRedPacketHelp/{id}",method= RequestMethod.GET)
132
-    public ResponseBean taRedPacketHelpGet(@PathVariable Integer id){
132
+    @RequestMapping(value = "/admin/redPacket/help/{id}", method = RequestMethod.GET)
133
+    public ResponseBean taRedPacketHelpGet(@PathVariable String id) {
133 134
         ResponseBean responseBean = new ResponseBean();
134 135
         try {
135
-            responseBean.addSuccess(iTaRedPacketHelpService.getById(id));
136
-        }catch (Exception e){
136
+            responseBean = iTaRedPacketHelpService.getRedPacketHelpById(id);
137
+        } catch (Exception e) {
137 138
             e.printStackTrace();
138
-            logger.error("taRedPacketHelpDelete -=- {}",e.toString());
139
+            logger.error("taRedPacketHelpDelete -=- {}", e.toString());
139 140
             responseBean.addError(e.getMessage());
140 141
         }
141 142
         return responseBean;

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

@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
21 21
  * @since 2020-06-03
22 22
  */
23 23
 @RestController
24
-@RequestMapping("/")
24
+@RequestMapping("/api")
25 25
 public class TaRedPacketMoneyController extends BaseController {
26 26
 
27 27
     private final Logger logger = LoggerFactory.getLogger(TaRedPacketMoneyController.class);
@@ -106,16 +106,12 @@ public class TaRedPacketMoneyController extends BaseController {
106 106
      * @param taRedPacketMoney 实体对象
107 107
      * @return
108 108
      */
109
-    @RequestMapping(value="/taRedPacketMoney/{id}",method= RequestMethod.PUT)
109
+    @RequestMapping(value="/admin/redPacket/money/{id}",method= RequestMethod.PUT)
110 110
     public ResponseBean taRedPacketMoneyUpdate(@PathVariable Integer id,
111 111
                                         @RequestBody TaRedPacketMoney taRedPacketMoney){
112 112
         ResponseBean responseBean = new ResponseBean();
113 113
         try {
114
-            if (iTaRedPacketMoneyService.updateById(taRedPacketMoney)){
115
-                responseBean.addSuccess(taRedPacketMoney);
116
-            }else {
117
-                responseBean.addError("fail");
118
-            }
114
+            responseBean = iTaRedPacketMoneyService.updateRedPacketMoney(taRedPacketMoney);
119 115
         }catch (Exception e){
120 116
             e.printStackTrace();
121 117
             logger.error("taRedPacketMoneyUpdate -=- {}",e.toString());
@@ -128,11 +124,11 @@ public class TaRedPacketMoneyController extends BaseController {
128 124
      * 根据id查询对象
129 125
      * @param id  实体ID
130 126
      */
131
-    @RequestMapping(value="/taRedPacketMoney/{id}",method= RequestMethod.GET)
132
-    public ResponseBean taRedPacketMoneyGet(@PathVariable Integer id){
127
+    @RequestMapping(value="/admin/redPacket/money/{id}",method= RequestMethod.GET)
128
+    public ResponseBean taRedPacketMoneyGet(@PathVariable String id){
133 129
         ResponseBean responseBean = new ResponseBean();
134 130
         try {
135
-            responseBean.addSuccess(iTaRedPacketMoneyService.getById(id));
131
+            responseBean = iTaRedPacketMoneyService.getRedPacketMoneyById(id);
136 132
         }catch (Exception e){
137 133
             e.printStackTrace();
138 134
             logger.error("taRedPacketMoneyDelete -=- {}",e.toString());

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

@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
21 21
  * @since 2020-06-03
22 22
  */
23 23
 @RestController
24
-@RequestMapping("/")
24
+@RequestMapping("/api")
25 25
 public class TaRedPacketPersonController extends BaseController {
26 26
 
27 27
     private final Logger logger = LoggerFactory.getLogger(TaRedPacketPersonController.class);
@@ -36,7 +36,7 @@ public class TaRedPacketPersonController extends BaseController {
36 36
      * @param pageSize
37 37
      * @return
38 38
      */
39
-    @RequestMapping(value="/taRedPacketPerson",method= RequestMethod.GET)
39
+    @RequestMapping(value="/admin/redPacket/person/list",method= RequestMethod.GET)
40 40
     public ResponseBean taRedPacketPersonList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41 41
                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42 42
         ResponseBean responseBean = new ResponseBean();

+ 54
- 3
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java Voir le fichier

@@ -1,14 +1,18 @@
1 1
 package com.huiju.estateagents.redpack.entity;
2 2
 
3
-import java.time.LocalDateTime;
4
-import java.io.Serializable;
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import lombok.Data;
6 7
 import lombok.EqualsAndHashCode;
7 8
 import lombok.experimental.Accessors;
8 9
 
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+
9 13
 /**
10 14
  * <p>
11
- * 红包助力活动 
15
+ * 红包助力活动
12 16
  * </p>
13 17
  *
14 18
  * @author fxf
@@ -24,6 +28,7 @@ public class TaRedPacket implements Serializable {
24 28
     /**
25 29
      * 活动ID
26 30
      */
31
+    @TableId(value = "activity_id", type = IdType.UUID)
27 32
     private String activityId;
28 33
 
29 34
     /**
@@ -96,5 +101,51 @@ public class TaRedPacket implements Serializable {
96 101
      */
97 102
     private Integer status;
98 103
 
104
+    /**
105
+     * 首页背景图
106
+     */
107
+    @TableField(exist = false)
108
+    private String indexBackgroundImg;
109
+
110
+    /**
111
+     * 分享海报图
112
+     */
113
+    @TableField(exist = false)
114
+    private String sharePosterImg;
99 115
 
116
+    /**
117
+     * 活动规则图
118
+     */
119
+    @TableField(exist = false)
120
+    private String activityRulesImg;
121
+
122
+    /**
123
+     * 助力页背景图
124
+     */
125
+    @TableField(exist = false)
126
+    private String helpBackgroundImg;
127
+
128
+    /**
129
+     * 排行榜背景图
130
+     */
131
+    @TableField(exist = false)
132
+    private String rankingBackgroundImg;
133
+
134
+    /**
135
+     * 红包助力配置
136
+     */
137
+    @TableField(exist = false)
138
+    private TaRedPacketHelp taRedPacketHelp;
139
+
140
+    /**
141
+     * 红包金额配置
142
+     */
143
+    @TableField(exist = false)
144
+    private TaRedPacketMoney taRedPacketMoney;
145
+
146
+    /**
147
+     * 红包客户端消息配置
148
+     */
149
+    @TableField(exist = false)
150
+    private TaRedPacketClient taRedPacketClient;
100 151
 }

+ 22
- 1
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketHelp.java Voir le fichier

@@ -1,13 +1,16 @@
1 1
 package com.huiju.estateagents.redpack.entity;
2 2
 
3 3
 import java.io.Serializable;
4
+import java.time.LocalDateTime;
5
+
6
+import com.baomidou.mybatisplus.annotation.TableField;
4 7
 import lombok.Data;
5 8
 import lombok.EqualsAndHashCode;
6 9
 import lombok.experimental.Accessors;
7 10
 
8 11
 /**
9 12
  * <p>
10
- * 红包助力设置 
13
+ * 红包助力设置
11 14
  * </p>
12 15
  *
13 16
  * @author fxf
@@ -71,4 +74,22 @@ public class TaRedPacketHelp implements Serializable {
71 74
     private String limitForEachPersonIllegalTip;
72 75
 
73 76
 
77
+    /**
78
+     * 活动开始时间
79
+     */
80
+    @TableField(exist = false)
81
+    private LocalDateTime startDate;
82
+
83
+    /**
84
+     * 活动结束时间
85
+     */
86
+    @TableField(exist = false)
87
+    private LocalDateTime endDate;
88
+
89
+    /**
90
+     * 活动结束提示
91
+     */
92
+    @TableField(exist = false)
93
+    private String activityEndTip;
94
+
74 95
 }

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

@@ -1,6 +1,8 @@
1 1
 package com.huiju.estateagents.redpack.entity;
2 2
 
3 3
 import java.io.Serializable;
4
+
5
+import com.baomidou.mybatisplus.annotation.TableField;
4 6
 import lombok.Data;
5 7
 import lombok.EqualsAndHashCode;
6 8
 import lombok.experimental.Accessors;
@@ -60,5 +62,9 @@ public class TaRedPacketMoney implements Serializable {
60 62
      */
61 63
     private String insufficientBalanceTip;
62 64
 
63
-
65
+    /**
66
+     * 红包客户端消息通知
67
+     */
68
+    @TableField(exist = false)
69
+    private TaRedPacketClient taRedPacketClient;
64 70
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaH5ImagesMapper.java Voir le fichier

@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper;
4 4
 
5 5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 6
 import com.huiju.estateagents.redpack.entity.TaH5Images;
7
+import org.springframework.stereotype.Component;
7 8
 
8 9
 /**
9 10
  * <p>
@@ -14,6 +15,7 @@ import com.huiju.estateagents.redpack.entity.TaH5Images;
14 15
  * @since 2020-06-03
15 16
  */
16 17
 @Mapper
18
+@Component
17 19
 public interface TaH5ImagesMapper extends BaseMapper<TaH5Images> {
18 20
 
19 21
 }

+ 47
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketMapper.java Voir le fichier

@@ -3,8 +3,11 @@ package com.huiju.estateagents.redpack.mapper;
3 3
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
6 7
 import org.springframework.stereotype.Component;
7 8
 
9
+import java.time.LocalDateTime;
10
+
8 11
 /**
9 12
  * <p>
10 13
  * 红包助力活动  Mapper 接口
@@ -17,4 +20,48 @@ import org.springframework.stereotype.Component;
17 20
 @Component
18 21
 public interface TaRedPacketMapper extends BaseMapper<TaRedPacket> {
19 22
 
23
+    /**
24
+     * 初始化红包基础配置信息
25
+     *
26
+     * @param activityId
27
+     * @return
28
+     */
29
+    Integer initRedPacket(@Param("activityId") String activityId,
30
+                          @Param("name") String name,
31
+                          @Param("qrCode") String qrCode,
32
+                          @Param("startDate") LocalDateTime startDate,
33
+                          @Param("endDate") LocalDateTime endDate,
34
+                          @Param("orgId") Integer orgId);
35
+
36
+    /**
37
+     * 初始化红包助力配置信息
38
+     *
39
+     * @param activityId
40
+     * @return
41
+     */
42
+    Integer initRedPacketHelp(@Param("activityId") String activityId);
43
+
44
+    /**
45
+     * 初始化红包客户端消息配置
46
+     *
47
+     * @param activityId
48
+     * @return
49
+     */
50
+    Integer initRedPacketClient(@Param("activityId") String activityId);
51
+
52
+    /**
53
+     * 初始化红包金额配置
54
+     *
55
+     * @param activityId
56
+     * @return
57
+     */
58
+    Integer initRedPacketMoney(@Param("activityId") String activityId);
59
+
60
+    /**
61
+     * 初始化红包图片信息
62
+     *
63
+     * @param activityId
64
+     * @return
65
+     */
66
+    Integer initRedPacketImages(@Param("activityId") String activityId);
20 67
 }

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

@@ -1,13 +1,13 @@
1 1
 package com.huiju.estateagents.redpack.service;
2 2
 
3
-import java.time.LocalDate;
4
-
5 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
6 4
 import com.baomidou.mybatisplus.extension.service.IService;
7 5
 import com.huiju.estateagents.base.ResponseBean;
8 6
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
9 7
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
10 8
 
9
+import java.time.LocalDate;
10
+
11 11
 /**
12 12
  * <p>
13 13
  * 组织订单表  服务类
@@ -43,4 +43,12 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
43 43
      * @return
44 44
      */
45 45
     IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg, String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, LocalDate startDate, LocalDate endDate);
46
+
47
+    /**
48
+     * 微信支付
49
+     * @param taOrgOrder
50
+     * @param remoteAddr
51
+     * @return
52
+     */
53
+    ResponseBean payUnifiedOrder(TaOrgOrder taOrgOrder, String remoteAddr) throws Exception;
46 54
 }

+ 16
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketHelpService.java Voir le fichier

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.redpack.service;
2 2
 
3
+import com.huiju.estateagents.base.ResponseBean;
3 4
 import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 
@@ -13,4 +14,19 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaRedPacketHelpService extends IService<TaRedPacketHelp> {
15 16
 
17
+    /**
18
+     * 更行红包助力配置
19
+     *
20
+     * @param taRedPacketHelp
21
+     * @return
22
+     */
23
+    ResponseBean updateRedPackHelp(TaRedPacketHelp taRedPacketHelp);
24
+
25
+    /**
26
+     *
27
+     * @param activityId
28
+     * @return
29
+     */
30
+    ResponseBean getRedPacketHelpById(String activityId);
31
+
16 32
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketMoneyService.java Voir le fichier

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.redpack.service;
2 2
 
3
+import com.huiju.estateagents.base.ResponseBean;
3 4
 import com.huiju.estateagents.redpack.entity.TaRedPacketMoney;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 
@@ -13,4 +14,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaRedPacketMoneyService extends IService<TaRedPacketMoney> {
15 16
 
17
+    ResponseBean getRedPacketMoneyById(String activityId);
18
+
19
+    ResponseBean updateRedPacketMoney(TaRedPacketMoney taRedPacketMoney);
20
+
16 21
 }

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

@@ -1,7 +1,8 @@
1 1
 package com.huiju.estateagents.redpack.service;
2 2
 
3
-import com.huiju.estateagents.redpack.entity.TaRedPacket;
4 3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
5 6
 
6 7
 /**
7 8
  * <p>
@@ -13,4 +14,29 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaRedPacketService extends IService<TaRedPacket> {
15 16
 
17
+    /**
18
+     * 初始化红包信息
19
+     *
20
+     * @param record
21
+     * @return
22
+     */
23
+    ResponseBean initializeRedPacket(TaRedPacket record);
24
+
25
+
26
+    /**
27
+     * 更新红包信息
28
+     *
29
+     * @param taRedPacket
30
+     * @return
31
+     */
32
+    ResponseBean updateRedPacket(TaRedPacket taRedPacket);
33
+
34
+    /**
35
+     * 根据ID查询红包图片信息
36
+     *
37
+     * @param record
38
+     * @return
39
+     */
40
+    TaRedPacket getRedPacketImages(TaRedPacket record);
41
+
16 42
 }

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

@@ -1,15 +1,5 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
-import java.time.LocalDate;
4
-import java.time.LocalDateTime;
5
-import java.util.ArrayList;
6
-import java.util.List;
7
-
8
-import org.apache.commons.collections.CollectionUtils;
9
-import org.springframework.beans.factory.annotation.Autowired;
10
-import org.springframework.stereotype.Service;
11
-import org.springframework.transaction.annotation.Transactional;
12
-
13 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
14 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
15 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -18,21 +8,31 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
18 8
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
19 9
 import com.huiju.estateagents.common.CommConstant;
20 10
 import com.huiju.estateagents.common.CommonUtils;
21
-import com.huiju.estateagents.redpack.entity.TaOrgAccount;
22
-import com.huiju.estateagents.redpack.entity.TaOrgAccountBlocked;
23
-import com.huiju.estateagents.redpack.entity.TaOrgAccountCertificate;
24
-import com.huiju.estateagents.redpack.entity.TaOrgAccountDetailedList;
25
-import com.huiju.estateagents.redpack.entity.TaOrgOrder;
26
-import com.huiju.estateagents.redpack.entity.TaOrgOrderDetail;
27
-import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
28
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountBlockedMapper;
29
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountCertificateMapper;
30
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountDetailedListMapper;
31
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountMapper;
32
-import com.huiju.estateagents.redpack.mapper.TaOrgOrderDetailMapper;
33
-import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
34
-import com.huiju.estateagents.redpack.mapper.TaOrgRefundApplicationMapper;
11
+import com.huiju.estateagents.common.wxpay.WXPay;
12
+import com.huiju.estateagents.common.wxpay.WXPayConstants;
13
+import com.huiju.estateagents.common.wxpay.WxConfig;
14
+import com.huiju.estateagents.entity.TaWxPayConfig;
15
+import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
16
+import com.huiju.estateagents.redpack.entity.*;
17
+import com.huiju.estateagents.redpack.mapper.*;
35 18
 import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
19
+import lombok.extern.slf4j.Slf4j;
20
+import org.apache.commons.collections.CollectionUtils;
21
+import org.springframework.beans.factory.annotation.Autowired;
22
+import org.springframework.beans.factory.annotation.Value;
23
+import org.springframework.stereotype.Service;
24
+import org.springframework.transaction.annotation.Transactional;
25
+
26
+import java.io.ByteArrayOutputStream;
27
+import java.io.InputStream;
28
+import java.net.HttpURLConnection;
29
+import java.net.URL;
30
+import java.time.LocalDate;
31
+import java.time.LocalDateTime;
32
+import java.util.ArrayList;
33
+import java.util.HashMap;
34
+import java.util.List;
35
+import java.util.Map;
36 36
 
37 37
 /**
38 38
  * <p>
@@ -42,9 +42,13 @@ import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
42 42
  * @author fxf
43 43
  * @since 2020-06-03
44 44
  */
45
+@Slf4j
45 46
 @Service
46 47
 public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOrder> implements ITaOrgOrderService {
47 48
 
49
+    @Value("${pay-notify}")
50
+    private String payNotify;
51
+
48 52
     @Autowired
49 53
     private TaOrgAccountMapper taOrgAccountMapper;
50 54
 
@@ -69,6 +73,9 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
69 73
     @Autowired
70 74
     private TaUserMapper taUserMapper;
71 75
 
76
+    @Autowired
77
+    private TaWxPayConfigMapper taWxPayConfigMapper;
78
+
72 79
     @Override
73 80
     public IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg, String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, LocalDate startDate, LocalDate endDate) {
74 81
         IPage<TaOrgOrder> result = null;
@@ -84,6 +91,87 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
84 91
         }
85 92
     }
86 93
 
94
+    /**
95
+     * 微信支付
96
+     *
97
+     * @param taOrgOrder
98
+     * @param clientIp
99
+     * @return
100
+     */
101
+    @Override
102
+    public ResponseBean payUnifiedOrder(TaOrgOrder taOrgOrder, String clientIp) throws Exception {
103
+        taOrgOrder = taOrgOrderMapper.selectById(taOrgOrder.getOrderId());
104
+        //构建微信配置
105
+        WxConfig config = getWxConfig(0);
106
+        WXPay wxpay = new WXPay(config);
107
+
108
+        //获取支付的钱数并且判断是自动锁房还是手动锁房,自动锁房需要锁定房源,手动锁房跳过
109
+        String payPrice = String.valueOf(taOrgOrder.getAmount());
110
+
111
+        //生成商户订单
112
+//        String tradeNo = CommonUtils.generateTradeNo("CJ");
113
+//        taOrgOrder.setTradeNo(tradeNo);
114
+
115
+        //下单
116
+        Map<String, String> data = new HashMap<String, String>();
117
+        data.put("body", "微信支付");
118
+        //商品号唯一
119
+        data.put("out_trade_no", taOrgOrder.getTradeNo());
120
+        data.put("device_info", "");
121
+        data.put("fee_type", "CNY");
122
+        //金额 后台计算
123
+        data.put("total_fee", payPrice);
124
+        //终端IP
125
+        data.put("spbill_create_ip", clientIp);
126
+        //回调地址
127
+        data.put("notify_url", payNotify+CommConstant.ITEM_TYPE_RECHARGE);
128
+        // 此处指定为APP支付
129
+        data.put("trade_type", "NATIVE");
130
+        Map<String, String> resp = wxpay.unifiedOrder(data);
131
+        log.info("下单成功:{}", resp);
132
+        if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)){
133
+            throw new Exception(resp.get("err_code_des"));
134
+        }
135
+
136
+        return ResponseBean.success(resp.get("code_url"));
137
+    }
138
+
139
+    /**
140
+     * 获取每个小程序独立的微信账户
141
+     * @param orgId
142
+     * @return
143
+     */
144
+    private WxConfig getWxConfig(Integer orgId) throws Exception {
145
+        //根据orgId获取支付配置
146
+        QueryWrapper<TaWxPayConfig> taWxPayConfigQueryWrapper = new QueryWrapper<>();
147
+        taWxPayConfigQueryWrapper.eq("org_id",orgId);
148
+        TaWxPayConfig taWxPayConfig = taWxPayConfigMapper.selectOne(taWxPayConfigQueryWrapper);
149
+        if (null == taWxPayConfig){
150
+            throw new Exception("请先完善支付信息");
151
+        }
152
+        log.info("正在配置orgId为{}的微信支付参数,商户号为{}",orgId,taWxPayConfig.getMchId());
153
+        //把库里的值赋值给微信
154
+        URL urlConet = new URL(taWxPayConfig.getApiPath());
155
+        HttpURLConnection con = (HttpURLConnection)urlConet.openConnection();
156
+        con.setRequestMethod("GET");
157
+        con.setConnectTimeout(4 * 1000);
158
+        InputStream inStream = con .getInputStream();
159
+        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
160
+        byte[] buffer = new byte[2048];
161
+        int len = 0;
162
+        while( (len=inStream.read(buffer)) != -1 ){
163
+            outStream.write(buffer, 0, len);
164
+        }
165
+        inStream.close();
166
+
167
+        WxConfig config = new WxConfig();
168
+        config.setAppid(taWxPayConfig.getAppid());
169
+        config.setMachId(taWxPayConfig.getMchId());
170
+        config.setCertData(outStream.toByteArray());
171
+        config.setKey(taWxPayConfig.getMchKey());
172
+        return config;
173
+    }
174
+
87 175
     @Override
88 176
     @Transactional(rollbackFor = {RuntimeException.class})
89 177
     public ResponseBean refundOrder(String id, TaOrgRefundApplication refundApplication, Integer userId) {

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

@@ -1,11 +1,22 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
3 8
 import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
4 9
 import com.huiju.estateagents.redpack.mapper.TaRedPacketHelpMapper;
5 10
 import com.huiju.estateagents.redpack.service.ITaRedPacketHelpService;
6
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11
+import com.huiju.estateagents.redpack.service.ITaRedPacketService;
12
+import org.slf4j.Logger;
13
+import org.slf4j.LoggerFactory;
14
+import org.springframework.beans.factory.annotation.Autowired;
7 15
 import org.springframework.stereotype.Service;
8 16
 
17
+import java.time.LocalDateTime;
18
+import java.time.ZoneOffset;
19
+
9 20
 /**
10 21
  * <p>
11 22
  * 红包助力设置  服务实现类
@@ -17,4 +28,65 @@ import org.springframework.stereotype.Service;
17 28
 @Service
18 29
 public class TaRedPacketHelpServiceImpl extends ServiceImpl<TaRedPacketHelpMapper, TaRedPacketHelp> implements ITaRedPacketHelpService {
19 30
 
31
+    private Logger logger = LoggerFactory.getLogger(TaRedPacketServiceImpl.class);
32
+
33
+    @Autowired
34
+    private TaRedPacketHelpMapper taRedPacketHelpMapper;
35
+
36
+    @Autowired
37
+    private ITaRedPacketService iTaRedPacketService;
38
+
39
+    @Override
40
+    public ResponseBean updateRedPackHelp(TaRedPacketHelp taRedPacketHelp) {
41
+        ResponseBean responseBean = new ResponseBean();
42
+
43
+        // 查询红包(活动)开始时间
44
+        TaRedPacket taRedPacket = iTaRedPacketService.getById(taRedPacketHelp.getActivityId());
45
+        if (taRedPacket == null) {
46
+            responseBean.addError("fail");
47
+            return responseBean;
48
+        }
49
+
50
+        // 校验活动是否开始
51
+        if (taRedPacket.getStartDate().toInstant(ZoneOffset.of("+8")).toEpochMilli() > LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()
52
+                && (taRedPacketHelp.getHelpSuccesPersons() != null || taRedPacketHelp.getLimitNumPerDay() != null
53
+                || taRedPacketHelp.getLimitNumPerPerson() != null || taRedPacketHelp.getLimitNumForEachPerson() != null)) {
54
+            responseBean.addError("活动已开始,不可修改");
55
+            return responseBean;
56
+        }
57
+
58
+        // 更行助力配置表
59
+        Boolean updateResult = updateById(taRedPacketHelp);
60
+        if (!updateResult) {
61
+            responseBean.addError("fail");
62
+        }
63
+
64
+        // 更新红包(活动)基础信息
65
+        if (taRedPacket.getStartDate() != null || taRedPacket.getEndDate() != null || !StringUtils.isEmpty(taRedPacket.getActivityEndTip())) {
66
+            TaRedPacket record = new TaRedPacket();
67
+            record.setActivityId(taRedPacket.getActivityId());
68
+            record.setStartDate(taRedPacketHelp.getStartDate());
69
+            record.setEndDate(taRedPacketHelp.getEndDate());
70
+            record.setActivityEndTip(taRedPacketHelp.getActivityEndTip());
71
+            iTaRedPacketService.updateById(record);
72
+        }
73
+
74
+        return responseBean;
75
+    }
76
+
77
+    @Override
78
+    public ResponseBean getRedPacketHelpById(String activityId) {
79
+        ResponseBean responseBean = new ResponseBean();
80
+        TaRedPacketHelp taRedPacketHelp = getById(activityId);
81
+
82
+        // 获取红包基础信息
83
+        TaRedPacket taRedPacket = iTaRedPacketService.getById(activityId);
84
+        if (taRedPacket != null) {
85
+            taRedPacketHelp.setStartDate(taRedPacket.getStartDate());
86
+            taRedPacketHelp.setEndDate(taRedPacket.getEndDate());
87
+            taRedPacketHelp.setActivityEndTip(taRedPacket.getActivityEndTip());
88
+        }
89
+        responseBean.addSuccess(taRedPacket);
90
+        return responseBean;
91
+    }
20 92
 }

+ 36
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketMoneyServiceImpl.java Voir le fichier

@@ -1,9 +1,13 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.huiju.estateagents.base.ResponseBean;
4
+import com.huiju.estateagents.redpack.entity.TaRedPacketClient;
3 5
 import com.huiju.estateagents.redpack.entity.TaRedPacketMoney;
4 6
 import com.huiju.estateagents.redpack.mapper.TaRedPacketMoneyMapper;
7
+import com.huiju.estateagents.redpack.service.ITaRedPacketClientService;
5 8
 import com.huiju.estateagents.redpack.service.ITaRedPacketMoneyService;
6 9
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10
+import org.springframework.beans.factory.annotation.Autowired;
7 11
 import org.springframework.stereotype.Service;
8 12
 
9 13
 /**
@@ -17,4 +21,36 @@ import org.springframework.stereotype.Service;
17 21
 @Service
18 22
 public class TaRedPacketMoneyServiceImpl extends ServiceImpl<TaRedPacketMoneyMapper, TaRedPacketMoney> implements ITaRedPacketMoneyService {
19 23
 
24
+    @Autowired
25
+    private ITaRedPacketClientService iTaRedPacketClientService;
26
+
27
+    @Override
28
+    public ResponseBean getRedPacketMoneyById(String activityId) {
29
+        ResponseBean responseBean = new ResponseBean();
30
+
31
+        // 获取红包金额设置
32
+        TaRedPacketMoney taRedPacketMoney = getById(activityId);
33
+        if (taRedPacketMoney == null) {
34
+            responseBean.addError("fail");
35
+            return responseBean;
36
+        }
37
+
38
+        // 获取红包客户端消息配置
39
+        TaRedPacketClient taRedPacketClient = iTaRedPacketClientService.getById(activityId);
40
+        taRedPacketMoney.setTaRedPacketClient(taRedPacketClient);
41
+        responseBean.addSuccess(taRedPacketMoney);
42
+        return responseBean;
43
+    }
44
+
45
+    @Override
46
+    public ResponseBean updateRedPacketMoney(TaRedPacketMoney taRedPacketMoney) {
47
+        ResponseBean responseBean = new ResponseBean();
48
+
49
+        // 更新红包金额设置
50
+        updateById(taRedPacketMoney);
51
+        // 更新红包客户端消息配置
52
+        iTaRedPacketClientService.updateById(taRedPacketMoney.getTaRedPacketClient());
53
+        responseBean.addSuccess("success");
54
+        return responseBean;
55
+    }
20 56
 }

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

@@ -1,11 +1,27 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.common.CommonUtils;
8
+import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.redpack.entity.TaH5Images;
3 10
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
4
-import com.huiju.estateagents.redpack.mapper.TaRedPacketMapper;
11
+import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
12
+import com.huiju.estateagents.redpack.mapper.*;
5 13
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
6 14
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
15
+import org.slf4j.Logger;
16
+import org.slf4j.LoggerFactory;
17
+import org.springframework.beans.factory.annotation.Autowired;
7 18
 import org.springframework.stereotype.Service;
8 19
 
20
+import java.time.LocalDateTime;
21
+import java.util.HashMap;
22
+import java.util.List;
23
+import java.util.Map;
24
+
9 25
 /**
10 26
  * <p>
11 27
  * 红包助力活动  服务实现类
@@ -17,4 +33,126 @@ import org.springframework.stereotype.Service;
17 33
 @Service
18 34
 public class TaRedPacketServiceImpl extends ServiceImpl<TaRedPacketMapper, TaRedPacket> implements ITaRedPacketService {
19 35
 
36
+    private Logger logger = LoggerFactory.getLogger(TaRedPacketServiceImpl.class);
37
+
38
+    @Autowired
39
+    private TaRedPacketMapper taRedPacketMapper;
40
+
41
+    @Autowired
42
+    private TaH5ImagesMapper taH5ImagesMapper;
43
+
44
+    @Autowired
45
+    private TaRedPacketHelpMapper taRedPacketHelpMapper;
46
+
47
+    @Autowired
48
+    private TaRedPacketClientMapper taRedPacketClientMapper;
49
+
50
+    @Autowired
51
+    private TaRedPacketMoneyMapper taRedPacketMoneyMapper;
52
+
53
+    @Override
54
+    public ResponseBean initializeRedPacket(TaRedPacket record) {
55
+        ResponseBean responseBean = new ResponseBean();
56
+
57
+        // 初始化数据
58
+        taRedPacketMapper.initRedPacket(record.getActivityId(), record.getName(), record.getQrcode(), record.getStartDate(), record.getEndDate(), record.getOrgId());
59
+        taRedPacketMapper.initRedPacketHelp(record.getActivityId());
60
+        taRedPacketMapper.initRedPacketClient(record.getActivityId());
61
+        taRedPacketMapper.initRedPacketMoney(record.getActivityId());
62
+        taRedPacketMapper.initRedPacketImages(record.getActivityId());
63
+        responseBean.addSuccess("success");
64
+        return responseBean;
65
+    }
66
+
67
+    @Override
68
+    public ResponseBean updateRedPacket(TaRedPacket taRedPacket) {
69
+        ResponseBean responseBean = new ResponseBean();
70
+        Boolean updateResult = updateById(taRedPacket);
71
+        if (!updateResult) {
72
+            responseBean.addError("fail");
73
+            return responseBean;
74
+        }
75
+        saveRedPacketImages(taRedPacket, 2);
76
+        responseBean.addSuccess("success");
77
+        return responseBean;
78
+    }
79
+
80
+    @Override
81
+    public TaRedPacket getRedPacketImages(TaRedPacket record) {
82
+
83
+        // 查询红包配置图片信息
84
+        QueryWrapper<TaH5Images> h5ImagesQueryWrapper = new QueryWrapper<>();
85
+        h5ImagesQueryWrapper.eq("activity_id", record.getActivityId());
86
+        List<TaH5Images> h5ImagesList = taH5ImagesMapper.selectList(h5ImagesQueryWrapper);
87
+        h5ImagesList.stream().forEach(r -> {
88
+            switch (r.getActivityType()) {
89
+                case "rp_share_post_img":
90
+                    record.setSharePosterImg(r.getImageUrl());
91
+                    break;
92
+                case "rp_activity_rules_img":
93
+                    record.setActivityRulesImg(r.getImageUrl());
94
+                    break;
95
+                case "rp_help_background_img":
96
+                    record.setHelpBackgroundImg(r.getImageUrl());
97
+                    break;
98
+                case "rp_index_background_img":
99
+                    record.setIndexBackgroundImg(r.getImageUrl());
100
+                    break;
101
+                case "rp_ranking_background_img":
102
+                    record.setRankingBackgroundImg(r.getImageUrl());
103
+                    break;
104
+                default:
105
+                    break;
106
+            }
107
+        });
108
+        return record;
109
+    }
110
+
111
+    /**
112
+     * 保存/更新红包图片信息
113
+     *
114
+     * @param taRedPacket
115
+     * @param type        1 新增,2 更新
116
+     */
117
+    public void saveRedPacketImages(TaRedPacket taRedPacket, Integer type) {
118
+        // 组装红包图片数据
119
+        Map<String, String> redPacketImsMap = new HashMap<>();
120
+        redPacketImsMap.put("rp_share_post_img", taRedPacket.getSharePosterImg());
121
+        redPacketImsMap.put("rp_activity_rules_img", taRedPacket.getActivityRulesImg());
122
+        redPacketImsMap.put("rp_help_background_img", taRedPacket.getHelpBackgroundImg());
123
+        redPacketImsMap.put("rp_index_background_img", taRedPacket.getIndexBackgroundImg());
124
+        redPacketImsMap.put("rp_ranking_background_img", taRedPacket.getRankingBackgroundImg());
125
+
126
+        // 新增
127
+        if (1 == type) {
128
+            redPacketImsMap.entrySet().stream().forEach(r -> {
129
+                if (StringUtils.isEmpty(r.getValue())) {
130
+                    return;
131
+                }
132
+                TaH5Images taH5Images = new TaH5Images();
133
+                taH5Images.setActivityId(taRedPacket.getActivityId());
134
+                taH5Images.setActivityType(CommConstant.RED_PACKET);
135
+                taH5Images.setImageType(CommConstant.RED_PACKET + "." + r.getKey());
136
+                taH5Images.setImageUrl(r.getValue());
137
+                taH5Images.setCreateDate(LocalDateTime.now());
138
+                taH5ImagesMapper.insert(taH5Images);
139
+            });
140
+        }
141
+
142
+        // 更新
143
+        if (2 == type) {
144
+            redPacketImsMap.entrySet().stream().forEach(r -> {
145
+                if (StringUtils.isEmpty(r.getValue())) {
146
+                    return;
147
+                }
148
+                TaH5Images taH5Images = new TaH5Images();
149
+                taH5Images.setImageUrl(r.getValue());
150
+
151
+                UpdateWrapper<TaH5Images> h5ImagesUpdateWrapper = new UpdateWrapper<>();
152
+                h5ImagesUpdateWrapper.eq("activity_id", taRedPacket.getActivityId());
153
+                h5ImagesUpdateWrapper.eq("image_type", CommConstant.RED_PACKET + "." + r.getKey());
154
+                taH5ImagesMapper.update(taH5Images, h5ImagesUpdateWrapper);
155
+            });
156
+        }
157
+    }
20 158
 }

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

@@ -9,6 +9,12 @@ import com.huiju.estateagents.eContract.entity.TaContractBusiness;
9 9
 import com.huiju.estateagents.eContract.mapper.TaContractMapper;
10 10
 import com.huiju.estateagents.entity.*;
11 11
 import com.huiju.estateagents.mapper.*;
12
+import com.huiju.estateagents.redpack.entity.TaOrgAccount;
13
+import com.huiju.estateagents.redpack.entity.TaOrgAccountDetailedList;
14
+import com.huiju.estateagents.redpack.entity.TaOrgOrder;
15
+import com.huiju.estateagents.redpack.mapper.TaOrgAccountDetailedListMapper;
16
+import com.huiju.estateagents.redpack.mapper.TaOrgAccountMapper;
17
+import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
12 18
 import com.huiju.estateagents.service.ITaRaiseRecordService;
13 19
 import com.huiju.estateagents.service.IWxPayService;
14 20
 import lombok.extern.slf4j.Slf4j;
@@ -17,7 +23,6 @@ import org.springframework.beans.factory.annotation.Value;
17 23
 import org.springframework.stereotype.Service;
18 24
 import org.springframework.transaction.annotation.Transactional;
19 25
 
20
-import javax.xml.ws.soap.Addressing;
21 26
 import java.io.ByteArrayOutputStream;
22 27
 import java.io.InputStream;
23 28
 import java.net.HttpURLConnection;
@@ -65,6 +70,15 @@ public class WxPayServiceImpl implements IWxPayService {
65 70
     @Autowired
66 71
     private TaContractMapper taContractMapper;
67 72
 
73
+    @Autowired
74
+    private TaOrgOrderMapper taOrgOrderMapper;
75
+
76
+    @Autowired
77
+    private TaOrgAccountDetailedListMapper taOrgAccountDetailedListMapper;
78
+
79
+    @Autowired
80
+    private TaOrgAccountMapper taOrgAccountMapper;
81
+
68 82
     /**
69 83
      * 微信支付-统一下单
70 84
      *
@@ -145,10 +159,44 @@ public class WxPayServiceImpl implements IWxPayService {
145 159
         //house类型的支付成功的回调,处理业务逻辑 修改订单状态等
146 160
         if (type.equals(CommConstant.ORDER_TARGET_TYPE_HOUSE)) {
147 161
             wxHouseNotify(resultMap);
162
+        }else if (type.equals(CommConstant.ITEM_TYPE_RECHARGE)){
163
+            //账户充值
164
+            accountRecharge(resultMap);
148 165
         }
149 166
 
150 167
     }
151 168
 
169
+    /**
170
+     * 账户充值
171
+     * @param resultMap
172
+     */
173
+    private void accountRecharge(Map<String, String> resultMap) {
174
+        log.info("修改订单为{},的支付状态",resultMap.get("out_trade_no"));
175
+        String tradeNo = resultMap.get("out_trade_no");
176
+        String transactionId = resultMap.get("transaction_id");
177
+        TaOrgOrder taOrgOrder = taOrgOrderMapper.selectOne(new QueryWrapper<TaOrgOrder>().eq("trade_no", tradeNo));
178
+        taOrgOrder.setPayDate(LocalDateTime.now());
179
+        taOrgOrder.setTradingStatus(CommConstant.SUCCESS);
180
+        taOrgOrder.setWxOrderId(transactionId);
181
+        taOrgOrderMapper.updateById(taOrgOrder);
182
+        //获取账户信息表
183
+        TaOrgAccount taOrgAccount = taOrgAccountMapper.selectOne(new QueryWrapper<TaOrgAccount>().eq("org_id", taOrgOrder.getOrgId()).eq("status", CommConstant.STATUS_NORMAL));
184
+        //添加账户流水
185
+        TaOrgAccountDetailedList taOrgAccountDetailedList = new TaOrgAccountDetailedList();
186
+        taOrgAccountDetailedList.setAccountId(taOrgAccount.getAccountId());
187
+        taOrgAccountDetailedList.setAmount(taOrgOrder.getAmount());
188
+        taOrgAccountDetailedList.setCreateDate(LocalDateTime.now());
189
+        taOrgAccountDetailedList.setOrderId(taOrgOrder.getOrderId());
190
+        taOrgAccountDetailedList.setOrgId(taOrgOrder.getOrgId());
191
+        taOrgAccountDetailedList.setSignType(1);
192
+        taOrgAccountDetailedList.setStatus(CommConstant.STATUS_NORMAL);
193
+        taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
194
+        //添加账户金额
195
+        taOrgAccount.setAvailableBalance(taOrgAccount.getAvailableBalance() + taOrgOrder.getAmount());
196
+        taOrgAccount.setPurchaseAmount(taOrgAccount.getPurchaseAmount() + taOrgOrder.getAmount());
197
+        taOrgAccountMapper.updateById(taOrgAccount);
198
+    }
199
+
152 200
     /**
153 201
      * 微信退款
154 202
      * @param taOrder

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

@@ -10,6 +10,7 @@ import com.github.binarywang.wxpay.service.WxPayService;
10 10
 import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
11 11
 import com.huiju.estateagents.base.ResponseBean;
12 12
 import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.common.CommonUtils;
13 14
 import com.huiju.estateagents.common.MD5Utils;
14 15
 import com.huiju.estateagents.drainage.entity.TaDrainage;
15 16
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
@@ -357,12 +358,13 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
357 358
 		//获取收红包人的openid
358 359
 		TaMpPerson parentMpPerson = taMpPersonMapper.selectById(parentMpMiniapp.getMpPersonId());
359 360
 		//发送红包
361
+		String tradeNo = CommonUtils.generateTradeNo("HB");
360 362
 		WxPayService wxPayService = getWxPayService();
361 363
 		WxPaySendRedpackRequest build = WxPaySendRedpackRequest.newBuilder()
362 364
 //				.consumeMchId(wxPayService.getConfig().getMchId())
363 365
 				.actName(taRedPacketClient.getActivityName())//活动名称
364 366
 				.clientIp(String.valueOf(InetAddress.getLoopbackAddress()))//Ip地址
365
-				.mchBillNo("HB123456")//商户订单号
367
+				.mchBillNo(tradeNo)//商户订单号
366 368
 //				.msgAppid(mpAppid)
367 369
 				.remark(taRedPacketClient.getRemark())//备注
368 370
 				.reOpenid(parentMpPerson.getMpOpenid())//接受红包的用户openid
@@ -379,7 +381,7 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
379 381
 			String resultCode = wxPaySendRedpackResult.getResultCode();
380 382
 			if (resultCode.equals("SUCCESS")){
381 383
 				//插入订单表并扣钱反更新
382
-				saveRedpacketOrder("HB123456",wxPaySendRedpackResult,parentMpMiniapp,taRedPacketHelp,orgId,mpAppid);
384
+				saveRedpacketOrder(tradeNo,wxPaySendRedpackResult,parentMpMiniapp,taRedPacketHelp,orgId,mpAppid);
383 385
 			}else {
384 386
 				return;
385 387
 			}
@@ -392,6 +394,7 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
392 394
 		//先扣钱
393 395
 		TaOrgAccount taOrgAccount = taOrgAccountMapper.selectOne(new QueryWrapper<TaOrgAccount>().eq("org_id", orgId).eq("status", CommConstant.STATUS_NORMAL));
394 396
 		taOrgAccount.setRealBalance(taOrgAccount.getRealBalance() - wxPaySendRedpackResult.getTotalAmount());
397
+		taOrgAccount.setPurchaseAmount(taOrgAccount.getPurchaseAmount() + wxPaySendRedpackResult.getTotalAmount());
395 398
 		taOrgAccountMapper.updateById(taOrgAccount);
396 399
 		TaRedPacketMoney taRedPacketMoney = taRedPacketmonetMapper.selectById(taRedPacketHelp.getActivityId());
397 400
 		taRedPacketMoney.setBalance(taRedPacketMoney.getBalance()-wxPaySendRedpackResult.getTotalAmount());

+ 116
- 0
src/main/resources/mapper/redpack/TaRedPacketMapper.xml Voir le fichier

@@ -2,4 +2,120 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaRedPacketMapper">
4 4
 
5
+    <insert id="initRedPacket">
6
+        INSERT INTO ta_red_packet (
7
+        `activity_id`,
8
+        `name`,
9
+        `start_date`,
10
+        `end_date`,
11
+        `activity_end_tip`,
12
+        `qrcode`,
13
+        `top_limit_persons`,
14
+        `building_show_pos`,
15
+        `building_id`,
16
+        `building_name`,
17
+        `poster_show_pos`,
18
+        `join_fields`,
19
+        `org_id`,
20
+        `create_date`,
21
+        `status`
22
+        ) SELECT
23
+        #{activityId},
24
+        #{name},
25
+        #{startDate},
26
+        #{endDate},
27
+        `activity_end_tip`,
28
+        #{qrCode},
29
+        `top_limit_persons`,
30
+        `building_show_pos`,
31
+        `building_id`,
32
+        `building_name`,
33
+        `poster_show_pos`,
34
+        `join_fields`,
35
+        #{orgId},
36
+        `create_date`,
37
+        `status`
38
+        FROM
39
+            ta_red_packet t2
40
+        WHERE
41
+            activity_id =1
42
+    </insert>
43
+
44
+    <insert id="initRedPacketHelp">
45
+        INSERT INTO ta_red_packet_help (
46
+        `activity_id`,
47
+        `help_succes_persons`,
48
+        `limit_num_per_day`,
49
+        `limit_num_per_person`,
50
+        `limit_num_for_each_person`,
51
+        `success_tip`,
52
+        `warnning_tip`,
53
+        `limit_per_day_illegal_tip`,
54
+        `limit_per_person_illegal_tip`,
55
+        `limit_for_each_person_illegal_tip`
56
+        ) SELECT
57
+        #{activityId},
58
+        `help_succes_persons`,
59
+        `limit_num_per_day`,
60
+        `limit_num_per_person`,
61
+        `limit_num_for_each_person`,
62
+        `success_tip`,
63
+        `warnning_tip`,
64
+        `limit_per_day_illegal_tip`,
65
+        `limit_per_person_illegal_tip`,
66
+        `limit_for_each_person_illegal_tip`
67
+        FROM
68
+            ta_red_packet_help t2
69
+        WHERE
70
+            activity_id =1
71
+    </insert>
72
+
73
+    <insert id="initRedPacketClient">
74
+        INSERT INTO ta_red_packet_client (
75
+           `activity_id`,
76
+           `mch_name`,
77
+            `blessing`,
78
+            'activity_name`,
79
+            `remark`
80
+         ) SELECT
81
+            #{activityId},
82
+            `mch_name`,
83
+            `blessing`,
84
+            `activity_name`,
85
+            `remark`
86
+        FROM
87
+            ta_red_packet_client t2
88
+        WHERE
89
+            activity_id = 1
90
+    </insert>
91
+
92
+    <insert id="initRedPacketMoney">
93
+        INSERT INTO ta_red_packet_money ( `activity_id`, `budget`, `balance`, `min_packet`, `max_packet`, `limit_packet_num`, `packet_sended_num`, `insufficient_balance_tip` ) SELECT
94
+            #{activityId},
95
+            `budget`,
96
+            `balance`,
97
+            `min_packet`,
98
+            `max_packet`,
99
+            `limit_packet_num`,
100
+            `packet_sended_num`,
101
+            `insufficient_balance_tip` 
102
+        FROM
103
+            ta_red_packet_money t2 
104
+        WHERE
105
+            activity_id =1
106
+    </insert>
107
+
108
+    <insert id="initRedPacketImages">
109
+        INSERT INTO ta_h5_sample ( `activity_type`, `activity_id`, `image_type`, `image_url`, `sort_no` ) SELECT
110
+            `activity_type`,
111
+            #{activityId},
112
+            `image_type`,
113
+            `image_url`,
114
+            `sort_no`
115
+        FROM
116
+            ta_h5_sample t2
117
+        WHERE
118
+            t2.activity_id = 1
119
+    </insert>
120
+
5 121
 </mapper>