Procházet zdrojové kódy

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

魏超 před 5 roky
rodič
revize
a53a7d065b
29 změnil soubory, kde provedl 1547 přidání a 172 odebrání
  1. 32
    2
      src/main/java/com/huiju/estateagents/common/CommonUtils.java
  2. 47
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java
  3. 43
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountPayRecordExport.java
  4. 38
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountRefundRecordExport.java
  5. 43
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketRankingListExport.java
  6. 80
    51
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java
  7. 227
    46
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java
  8. 100
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java
  9. 4
    3
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHistoryController.java
  10. 6
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccount.java
  11. 24
    1
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java
  12. 22
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketPerson.java
  13. 107
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java
  14. 10
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgRefundApplicationMapper.java
  15. 4
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketHistoryMapper.java
  16. 33
    1
      src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketPersonMapper.java
  17. 8
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaOrgAccountService.java
  18. 100
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java
  19. 3
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketHistoryService.java
  20. 25
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketPersonService.java
  21. 43
    17
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgAccountServiceImpl.java
  22. 212
    23
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java
  23. 13
    0
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHistoryServiceImpl.java
  24. 33
    1
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketPersonServiceImpl.java
  25. 65
    26
      src/main/java/com/huiju/estateagents/sample/controller/TaContactController.java
  26. 167
    1
      src/main/resources/mapper/redpack/TaOrgOrderMapper.xml
  27. 11
    0
      src/main/resources/mapper/redpack/TaOrgRefundApplicationMapper.xml
  28. 2
    0
      src/main/resources/mapper/redpack/TaRedPacketHistoryMapper.xml
  29. 45
    0
      src/main/resources/mapper/redpack/TaRedPacketPersonMapper.xml

+ 32
- 2
src/main/java/com/huiju/estateagents/common/CommonUtils.java Zobrazit soubor

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.common;
2 2
 
3
+import java.math.BigDecimal;
3 4
 import java.text.SimpleDateFormat;
4 5
 import java.util.Date;
5 6
 import java.util.Random;
@@ -35,9 +36,38 @@ public class CommonUtils {
35 36
         return uuid;
36 37
     }
37 38
 
38
-    public static String generateTradeNo(String tradeType){
39
+    /**
40
+     * 生成订单号
41
+     *
42
+     * @param tradeType
43
+     * @return
44
+     */
45
+    public static String generateTradeNo(String tradeType) {
39 46
         String sdf = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
40 47
         int randNum = (int) (new Random().nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取5位随机数
41
-        return tradeType+sdf+randNum;
48
+        return tradeType + sdf + randNum;
49
+    }
50
+
51
+    /**
52
+     * 元转分
53
+     *
54
+     * @param money
55
+     * @return
56
+     */
57
+    public static Integer yuanToFen(Double money) {
58
+        Double moneyd = money * 100;
59
+        Integer moneyi = moneyd.intValue();
60
+        return moneyi;
61
+    }
62
+
63
+    /**
64
+     * 元转分
65
+     *
66
+     * @param money
67
+     * @return
68
+     */
69
+    public static Double fenToYuan(Integer money) {
70
+        return Double.parseDouble(BigDecimal.valueOf(Long.valueOf(money)).divide(new BigDecimal(100)).toString());
71
+
42 72
     }
43 73
 }

+ 47
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Zobrazit soubor

@@ -0,0 +1,47 @@
1
+package com.huiju.estateagents.excel.redPacket;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+/**
8
+ * 账户消费记录导出
9
+ *
10
+ * @author gusy
11
+ * @date 2020/6/5 16:36
12
+ */
13
+@Data
14
+public class AccountConsumeRecordExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "订单编号", index = 0)
18
+    private String orderId;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "消费金额", index = 1)
23
+    private String amount;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "消费方式", index = 2)
28
+    private String a;
29
+
30
+
31
+    @ColumnWidth(15)
32
+    @ExcelProperty(value = "活动名称", index = 3)
33
+    private String b;
34
+
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "消费下单时间", index = 4)
37
+    private String c;
38
+
39
+
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "接收人手机号码", index = 5)
42
+    private String d;
43
+
44
+    @ColumnWidth(15)
45
+    @ExcelProperty(value = "消费状态", index = 5)
46
+    private String e;
47
+}

+ 43
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/AccountPayRecordExport.java Zobrazit soubor

@@ -0,0 +1,43 @@
1
+package com.huiju.estateagents.excel.redPacket;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+/**
8
+ * 账户充值记录导出
9
+ *
10
+ * @author gusy
11
+ * @date 2020/6/5 16:36
12
+ */
13
+@Data
14
+public class AccountPayRecordExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "订单编号", index = 0)
18
+    private String orderId;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "充值金额", index = 1)
23
+    private String amount;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "充值方式", index = 2)
28
+    private String isOffline;
29
+
30
+
31
+    @ColumnWidth(15)
32
+    @ExcelProperty(value = "下单时间", index = 3)
33
+    private String createDate;
34
+
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "充值方式", index = 4)
37
+    private String tradingStatus;
38
+
39
+
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "支付时间", index = 5)
42
+    private String payDate;
43
+}

+ 38
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/AccountRefundRecordExport.java Zobrazit soubor

@@ -0,0 +1,38 @@
1
+package com.huiju.estateagents.excel.redPacket;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+/**
8
+ * 账户退款记录导出
9
+ *
10
+ * @author gusy
11
+ * @date 2020/6/5 16:36
12
+ */
13
+@Data
14
+public class AccountRefundRecordExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "订单编号", index = 0)
18
+    private String orderId;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "退款金额", index = 1)
23
+    private String amount;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "退款创建时间", index = 2)
28
+    private String createDate;
29
+
30
+
31
+    @ColumnWidth(15)
32
+    @ExcelProperty(value = "退款状态", index = 3)
33
+    private String tradingStatus;
34
+
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "驳回原因", index = 4)
37
+    private String auditResult;
38
+}

+ 43
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketRankingListExport.java Zobrazit soubor

@@ -0,0 +1,43 @@
1
+package com.huiju.estateagents.excel.redPacket;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+/**
8
+ * 红包排行榜导出实体
9
+ *
10
+ * @author gusy
11
+ * @date 2020/6/7 15:46
12
+ */
13
+@Data
14
+public class RedPacketRankingListExport {
15
+
16
+
17
+    @ColumnWidth(15)
18
+    @ExcelProperty(value = "头像", index = 0)
19
+    private String avatarurl;
20
+
21
+
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "昵称", index = 1)
24
+    private String nickname;
25
+
26
+
27
+    @ColumnWidth(15)
28
+    @ExcelProperty(value = "姓名", index = 2)
29
+    private String name;
30
+
31
+
32
+    @ColumnWidth(15)
33
+    @ExcelProperty(value = "手机号", index = 3)
34
+    private String phone;
35
+
36
+    @ColumnWidth(15)
37
+    @ExcelProperty(value = "发起时间", index = 4)
38
+    private String createDate;
39
+
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "助力人数", index = 5)
42
+    private String votes;
43
+}

+ 80
- 51
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java Zobrazit soubor

@@ -21,8 +21,8 @@ import javax.servlet.http.HttpServletRequest;
21 21
 
22 22
 /**
23 23
  * <p>
24
-    * 系统账户表  前端控制器
25
-    * </p>
24
+ * 系统账户表  前端控制器
25
+ * </p>
26 26
  *
27 27
  * @author fxf
28 28
  * @since 2020-06-03
@@ -42,27 +42,28 @@ public class TaOrgAccountController extends BaseController {
42 42
 
43 43
     /**
44 44
      * 分页查询列表
45
+     *
45 46
      * @param pageNum
46 47
      * @param pageSize
47 48
      * @return
48 49
      */
49
-    @RequestMapping(value="/api/taOrgAccount",method= RequestMethod.GET)
50
-    public ResponseBean taOrgAccountList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
51
-                                         @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
52
-                                         @RequestParam(value ="miniAppName", required = false) String miniAppName){
50
+    @RequestMapping(value = "/api/taOrgAccount", method = RequestMethod.GET)
51
+    public ResponseBean taOrgAccountList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
52
+                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
53
+                                         @RequestParam(value = "miniAppName", required = false) String miniAppName) {
53 54
         ResponseBean responseBean = new ResponseBean();
54 55
         try {
55 56
             //使用分页插件
56
-		    IPage<TaOrgAccount> pg = new Page<>(pageNum, pageSize);
57
+            IPage<TaOrgAccount> pg = new Page<>(pageNum, pageSize);
57 58
             QueryWrapper<TaOrgAccount> queryWrapper = new QueryWrapper<>();
58 59
             queryWrapper.eq(!StringUtils.isEmpty(miniAppName), "miniapp_name", miniAppName);
59 60
             queryWrapper.orderByDesc("create_date");
60 61
 
61 62
             IPage<TaOrgAccount> result = iTaOrgAccountService.page(pg, queryWrapper);
62 63
             responseBean.addSuccess(result);
63
-        }catch (Exception e){
64
+        } catch (Exception e) {
64 65
             e.printStackTrace();
65
-            logger.error("taOrgAccountList -=- {}",e.toString());
66
+            logger.error("taOrgAccountList -=- {}", e.toString());
66 67
             responseBean.addError(e.getMessage());
67 68
         }
68 69
         return responseBean;
@@ -70,21 +71,22 @@ public class TaOrgAccountController extends BaseController {
70 71
 
71 72
     /**
72 73
      * 保存对象
74
+     *
73 75
      * @param taOrgAccount 实体对象
74 76
      * @return
75 77
      */
76
-    @RequestMapping(value="/api/taOrgAccount",method= RequestMethod.POST)
77
-    public ResponseBean taOrgAccountAdd(@RequestBody TaOrgAccount taOrgAccount){
78
+    @RequestMapping(value = "/api/taOrgAccount", method = RequestMethod.POST)
79
+    public ResponseBean taOrgAccountAdd(@RequestBody TaOrgAccount taOrgAccount) {
78 80
         ResponseBean responseBean = new ResponseBean();
79 81
         try {
80
-            if (iTaOrgAccountService.save(taOrgAccount)){
82
+            if (iTaOrgAccountService.save(taOrgAccount)) {
81 83
                 responseBean.addSuccess(taOrgAccount);
82
-            }else {
84
+            } else {
83 85
                 responseBean.addError("fail");
84 86
             }
85
-        }catch (Exception e){
87
+        } catch (Exception e) {
86 88
             e.printStackTrace();
87
-            logger.error("taOrgAccountAdd -=- {}",e.toString());
89
+            logger.error("taOrgAccountAdd -=- {}", e.toString());
88 90
             responseBean.addError(e.getMessage());
89 91
         }
90 92
         return responseBean;
@@ -92,21 +94,22 @@ public class TaOrgAccountController extends BaseController {
92 94
 
93 95
     /**
94 96
      * 根据id删除对象
95
-     * @param id  实体ID
97
+     *
98
+     * @param id 实体ID
96 99
      */
97 100
     @ResponseBody
98
-    @RequestMapping(value="/api/taOrgAccount/{id}", method= RequestMethod.DELETE)
99
-    public ResponseBean taOrgAccountDelete(@PathVariable Integer id){
101
+    @RequestMapping(value = "/api/taOrgAccount/{id}", method = RequestMethod.DELETE)
102
+    public ResponseBean taOrgAccountDelete(@PathVariable Integer id) {
100 103
         ResponseBean responseBean = new ResponseBean();
101 104
         try {
102
-            if(iTaOrgAccountService.removeById(id)){
105
+            if (iTaOrgAccountService.removeById(id)) {
103 106
                 responseBean.addSuccess("success");
104
-            }else {
107
+            } else {
105 108
                 responseBean.addError("fail");
106 109
             }
107
-        }catch (Exception e){
110
+        } catch (Exception e) {
108 111
             e.printStackTrace();
109
-            logger.error("taOrgAccountDelete -=- {}",e.toString());
112
+            logger.error("taOrgAccountDelete -=- {}", e.toString());
110 113
             responseBean.addError(e.getMessage());
111 114
         }
112 115
         return responseBean;
@@ -114,23 +117,24 @@ public class TaOrgAccountController extends BaseController {
114 117
 
115 118
     /**
116 119
      * 修改对象
117
-     * @param id  实体ID
120
+     *
121
+     * @param id           实体ID
118 122
      * @param taOrgAccount 实体对象
119 123
      * @return
120 124
      */
121
-    @RequestMapping(value="/api/taOrgAccount/{id}",method= RequestMethod.PUT)
125
+    @RequestMapping(value = "/api/taOrgAccount/{id}", method = RequestMethod.PUT)
122 126
     public ResponseBean taOrgAccountUpdate(@PathVariable Integer id,
123
-                                        @RequestBody TaOrgAccount taOrgAccount){
127
+                                           @RequestBody TaOrgAccount taOrgAccount) {
124 128
         ResponseBean responseBean = new ResponseBean();
125 129
         try {
126
-            if (iTaOrgAccountService.updateById(taOrgAccount)){
130
+            if (iTaOrgAccountService.updateById(taOrgAccount)) {
127 131
                 responseBean.addSuccess(taOrgAccount);
128
-            }else {
132
+            } else {
129 133
                 responseBean.addError("fail");
130 134
             }
131
-        }catch (Exception e){
135
+        } catch (Exception e) {
132 136
             e.printStackTrace();
133
-            logger.error("taOrgAccountUpdate -=- {}",e.toString());
137
+            logger.error("taOrgAccountUpdate -=- {}", e.toString());
134 138
             responseBean.addError(e.getMessage());
135 139
         }
136 140
         return responseBean;
@@ -138,16 +142,17 @@ public class TaOrgAccountController extends BaseController {
138 142
 
139 143
     /**
140 144
      * 根据id查询对象
141
-     * @param id  实体ID
145
+     *
146
+     * @param id 实体ID
142 147
      */
143
-    @RequestMapping(value="/channel/taOrgAccount/{id}",method= RequestMethod.GET)
144
-    public ResponseBean taOrgAccountGet(@PathVariable Integer id){
148
+    @RequestMapping(value = "/channel/taOrgAccount/{id}", method = RequestMethod.GET)
149
+    public ResponseBean taOrgAccountGet(@PathVariable Integer id) {
145 150
         ResponseBean responseBean = new ResponseBean();
146 151
         try {
147 152
             responseBean.addSuccess(iTaOrgAccountService.getOrgAccountById(id));
148 153
         }catch (Exception e){
149 154
             e.printStackTrace();
150
-            logger.error("taOrgAccountDelete -=- {}",e.toString());
155
+            logger.error("taOrgAccountDelete -=- {}", e.toString());
151 156
             responseBean.addError(e.getMessage());
152 157
         }
153 158
         return responseBean;
@@ -155,19 +160,20 @@ public class TaOrgAccountController extends BaseController {
155 160
 
156 161
     /**
157 162
      * 系统账户充值
158
-     * @param id  实体ID
163
+     *
164
+     * @param id 实体ID
159 165
      */
160
-    @RequestMapping(value="/channel/taOrgAccount/recharge/{id}",method= RequestMethod.PUT)
166
+    @RequestMapping(value = "/channel/taOrgAccount/recharge/{id}", method = RequestMethod.PUT)
161 167
     public ResponseBean taOrgAccountRecharge(@PathVariable String id, @RequestBody TaOrgAccount taOrgAccount,
162
-                                                    HttpServletRequest request){
168
+                                             HttpServletRequest request) {
163 169
         ResponseBean responseBean = new ResponseBean();
164 170
         try {
165 171
             Integer orgId = getOrgId(request);
166 172
             Integer userId = getUserId(request);
167 173
             iTaOrgAccountService.rechargeAccount(id, taOrgAccount, 26, 2149);
168
-        }catch (Exception e){
174
+        } catch (Exception e) {
169 175
             e.printStackTrace();
170
-            logger.error("taOrgAccountRecharge -=- {}",e.toString());
176
+            logger.error("taOrgAccountRecharge -=- {}", e.toString());
171 177
             responseBean.addError(e.getMessage());
172 178
         }
173 179
         return responseBean;
@@ -175,22 +181,23 @@ public class TaOrgAccountController extends BaseController {
175 181
 
176 182
     /**
177 183
      * 系统账户退款
184
+     *
178 185
      * @param id
179 186
      * @param taOrgAccount
180 187
      * @param request
181 188
      * @return
182 189
      */
183
-    @RequestMapping(value = "/channel/taOrgAccount/refund/{id}",method= RequestMethod.PUT)
190
+    @RequestMapping(value = "/channel/taOrgAccount/refund/{id}", method = RequestMethod.PUT)
184 191
     public ResponseBean taOrgAccountRefund(@PathVariable String id, @RequestBody TaOrgAccount taOrgAccount,
185
-                                           HttpServletRequest request){
192
+                                           HttpServletRequest request) {
186 193
         ResponseBean responseBean = new ResponseBean();
187 194
         try {
188 195
             Integer orgId = getOrgId(request);
189 196
             Integer userId = getUserId(request);
190 197
             responseBean = iTaOrgAccountService.refundAccount(id, taOrgAccount, 26, 2149);
191
-        }catch (Exception e){
198
+        } catch (Exception e) {
192 199
             e.printStackTrace();
193
-            logger.error("taOrgAccountRefund -=- {}",e.toString());
200
+            logger.error("taOrgAccountRefund -=- {}", e.toString());
194 201
             responseBean.addError(e.getMessage());
195 202
         }
196 203
         return responseBean;
@@ -198,21 +205,22 @@ public class TaOrgAccountController extends BaseController {
198 205
 
199 206
     /**
200 207
      * 订单退款
208
+     *
201 209
      * @param id
202 210
      * @param refundApplication
203 211
      * @param request
204 212
      * @return
205 213
      */
206
-    @RequestMapping(value = "/channel/taOrgOrder/refund/{id}",method= RequestMethod.PUT)
214
+    @RequestMapping(value = "/channel/taOrgOrder/refund/{id}", method = RequestMethod.PUT)
207 215
     public ResponseBean taOrgOrderRefund(@PathVariable String id, @RequestBody TaOrgRefundApplication refundApplication,
208
-                                           HttpServletRequest request){
216
+                                         HttpServletRequest request) {
209 217
         ResponseBean responseBean = new ResponseBean();
210 218
         try {
211 219
             Integer userId = getUserId(request);
212
-            responseBean = iTaOrgOrderService.refundOrder(id, refundApplication,  2149);
213
-        }catch (Exception e){
220
+            responseBean = iTaOrgOrderService.refundOrder(id, refundApplication, 2149);
221
+        } catch (Exception e) {
214 222
             e.printStackTrace();
215
-            logger.error("taOrgAccountRefund -=- {}",e.toString());
223
+            logger.error("taOrgAccountRefund -=- {}", e.toString());
216 224
             responseBean.addError(e.getMessage());
217 225
         }
218 226
         return responseBean;
@@ -220,6 +228,7 @@ public class TaOrgAccountController extends BaseController {
220 228
 
221 229
     /**
222 230
      * 订单驳回
231
+     *
223 232
      * @param id
224 233
      * @param refundApplication
225 234
      * @param request
@@ -227,14 +236,33 @@ public class TaOrgAccountController extends BaseController {
227 236
      */
228 237
     @RequestMapping(value = "/channel/taOrgOrder/reject/{id}")
229 238
     public ResponseBean taOrgOrderReject(@PathVariable String id, @RequestBody TaOrgRefundApplication refundApplication,
230
-                                         HttpServletRequest request){
239
+                                         HttpServletRequest request) {
231 240
         ResponseBean responseBean = new ResponseBean();
232 241
         try {
233 242
             Integer userId = getUserId(request);
234
-            responseBean = iTaOrgOrderService.rejectOrder(id, refundApplication,  2149);
235
-        }catch (Exception e){
243
+            responseBean = iTaOrgOrderService.rejectOrder(id, refundApplication, 2149);
244
+        } catch (Exception e) {
236 245
             e.printStackTrace();
237
-            logger.error("taOrgAccountRefund -=- {}",e.toString());
246
+            logger.error("taOrgAccountRefund -=- {}", e.toString());
247
+            responseBean.addError(e.getMessage());
248
+        }
249
+        return responseBean;
250
+    }
251
+
252
+
253
+    /**
254
+     * 获取账户资金信息
255
+     *
256
+     * @param request
257
+     * @return
258
+     */
259
+    @RequestMapping(value = "/admin/orgAccount/get", method = RequestMethod.GET)
260
+    public ResponseBean getOrgAccountInfoByOrgId(HttpServletRequest request) {
261
+        ResponseBean responseBean = new ResponseBean();
262
+        try {
263
+            responseBean = iTaOrgAccountService.getOrgAccountInfoByOrgId(getOrgId(request));
264
+        } catch (Exception e) {
265
+            logger.error("getOrgAccountInfo -=- {}", e);
238 266
             responseBean.addError(e.getMessage());
239 267
         }
240 268
         return responseBean;
@@ -242,6 +270,7 @@ public class TaOrgAccountController extends BaseController {
242 270
 
243 271
     /**
244 272
      * 微信统一下单接口
273
+     *
245 274
      * @param taOrgOrder
246 275
      * @param request
247 276
      * @return

+ 227
- 46
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Zobrazit soubor

@@ -2,9 +2,13 @@ package com.huiju.estateagents.redpack.controller;
2 2
 
3 3
 import java.time.LocalDate;
4 4
 import java.time.LocalDateTime;
5
+import java.util.HashMap;
6
+import java.util.Map;
5 7
 
6 8
 import javax.servlet.http.HttpServletRequest;
9
+import javax.servlet.http.HttpServletResponse;
7 10
 
11
+import com.alibaba.fastjson.JSON;
8 12
 import org.slf4j.Logger;
9 13
 import org.slf4j.LoggerFactory;
10 14
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,8 +33,8 @@ import com.huiju.estateagents.service.ITaPersonService;
29 33
 
30 34
 /**
31 35
  * <p>
32
-    * 组织订单表  前端控制器
33
-    * </p>
36
+ * 组织订单表  前端控制器
37
+ * </p>
34 38
  *
35 39
  * @author fxf
36 40
  * @since 2020-06-03
@@ -50,31 +54,32 @@ public class TaOrgOrderController extends BaseController {
50 54
 
51 55
     /**
52 56
      * 分页查询列表
57
+     *
53 58
      * @param pageNum
54 59
      * @param pageSize
55 60
      * @return
56 61
      */
57
-    @RequestMapping(value="/channel/taOrgOrder",method= RequestMethod.GET)
58
-    public ResponseBean taOrgOrderList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
59
-                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
60
-                                       @RequestParam( value = "orderType", required = false) String orderType,
61
-                                       @RequestParam( value = "orgId", required = false) Integer orgId,
62
-                                       @RequestParam( value = "tradeNo", required = false) String tradeNo,
63
-                                       @RequestParam( value = "isOffline", required = false) Integer isOffline,
64
-                                       @RequestParam( value = "tradingStatus", required = false) String tradingStatus,
65
-                                       @RequestParam( value = "receivePhone", required = false) String receivePhone,
66
-                                       @RequestParam( value = "itemType", required = false) String itemType,
62
+    @RequestMapping(value = "/channel/taOrgOrder", method = RequestMethod.GET)
63
+    public ResponseBean taOrgOrderList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
64
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
65
+                                       @RequestParam(value = "orderType", required = false) String orderType,
66
+                                       @RequestParam(value = "orgId", required = false) Integer orgId,
67
+                                       @RequestParam(value = "tradeNo", required = false) String tradeNo,
68
+                                       @RequestParam(value = "isOffline", required = false) Integer isOffline,
69
+                                       @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
70
+                                       @RequestParam(value = "receivePhone", required = false) String receivePhone,
71
+                                       @RequestParam(value = "itemType", required = false) String itemType,
67 72
                                        @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
68
-                                       @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate){
73
+                                       @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate) {
69 74
         ResponseBean responseBean = new ResponseBean();
70 75
         try {
71 76
             //使用分页插件
72
-		    IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
77
+            IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
73 78
             IPage<TaOrgOrder> result = iTaOrgOrderService.listByCondition(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, receivePhone, itemType, startDate, endDate);
74 79
             responseBean.addSuccess(result);
75
-        }catch (Exception e){
80
+        } catch (Exception e) {
76 81
             e.printStackTrace();
77
-            logger.error("taOrgOrderList -=- {}",e.toString());
82
+            logger.error("taOrgOrderList -=- {}", e.toString());
78 83
             responseBean.addError(e.getMessage());
79 84
         }
80 85
         return responseBean;
@@ -82,21 +87,22 @@ public class TaOrgOrderController extends BaseController {
82 87
 
83 88
     /**
84 89
      * 保存对象
90
+     *
85 91
      * @param taOrgOrder 实体对象
86 92
      * @return
87 93
      */
88
-    @RequestMapping(value="/taOrgOrder",method= RequestMethod.POST)
89
-    public ResponseBean taOrgOrderAdd(@RequestBody TaOrgOrder taOrgOrder){
94
+    @RequestMapping(value = "/taOrgOrder", method = RequestMethod.POST)
95
+    public ResponseBean taOrgOrderAdd(@RequestBody TaOrgOrder taOrgOrder) {
90 96
         ResponseBean responseBean = new ResponseBean();
91 97
         try {
92
-            if (iTaOrgOrderService.save(taOrgOrder)){
98
+            if (iTaOrgOrderService.save(taOrgOrder)) {
93 99
                 responseBean.addSuccess(taOrgOrder);
94
-            }else {
100
+            } else {
95 101
                 responseBean.addError("fail");
96 102
             }
97
-        }catch (Exception e){
103
+        } catch (Exception e) {
98 104
             e.printStackTrace();
99
-            logger.error("taOrgOrderAdd -=- {}",e.toString());
105
+            logger.error("taOrgOrderAdd -=- {}", e.toString());
100 106
             responseBean.addError(e.getMessage());
101 107
         }
102 108
         return responseBean;
@@ -104,21 +110,22 @@ public class TaOrgOrderController extends BaseController {
104 110
 
105 111
     /**
106 112
      * 根据id删除对象
107
-     * @param id  实体ID
113
+     *
114
+     * @param id 实体ID
108 115
      */
109 116
     @ResponseBody
110
-    @RequestMapping(value="/taOrgOrder/{id}", method= RequestMethod.DELETE)
111
-    public ResponseBean taOrgOrderDelete(@PathVariable Integer id){
117
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.DELETE)
118
+    public ResponseBean taOrgOrderDelete(@PathVariable Integer id) {
112 119
         ResponseBean responseBean = new ResponseBean();
113 120
         try {
114
-            if(iTaOrgOrderService.removeById(id)){
121
+            if (iTaOrgOrderService.removeById(id)) {
115 122
                 responseBean.addSuccess("success");
116
-            }else {
123
+            } else {
117 124
                 responseBean.addError("fail");
118 125
             }
119
-        }catch (Exception e){
126
+        } catch (Exception e) {
120 127
             e.printStackTrace();
121
-            logger.error("taOrgOrderDelete -=- {}",e.toString());
128
+            logger.error("taOrgOrderDelete -=- {}", e.toString());
122 129
             responseBean.addError(e.getMessage());
123 130
         }
124 131
         return responseBean;
@@ -126,23 +133,24 @@ public class TaOrgOrderController extends BaseController {
126 133
 
127 134
     /**
128 135
      * 修改对象
129
-     * @param id  实体ID
136
+     *
137
+     * @param id         实体ID
130 138
      * @param taOrgOrder 实体对象
131 139
      * @return
132 140
      */
133
-    @RequestMapping(value="/taOrgOrder/{id}",method= RequestMethod.PUT)
141
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.PUT)
134 142
     public ResponseBean taOrgOrderUpdate(@PathVariable Integer id,
135
-                                        @RequestBody TaOrgOrder taOrgOrder){
143
+                                         @RequestBody TaOrgOrder taOrgOrder) {
136 144
         ResponseBean responseBean = new ResponseBean();
137 145
         try {
138
-            if (iTaOrgOrderService.updateById(taOrgOrder)){
146
+            if (iTaOrgOrderService.updateById(taOrgOrder)) {
139 147
                 responseBean.addSuccess(taOrgOrder);
140
-            }else {
148
+            } else {
141 149
                 responseBean.addError("fail");
142 150
             }
143
-        }catch (Exception e){
151
+        } catch (Exception e) {
144 152
             e.printStackTrace();
145
-            logger.error("taOrgOrderUpdate -=- {}",e.toString());
153
+            logger.error("taOrgOrderUpdate -=- {}", e.toString());
146 154
             responseBean.addError(e.getMessage());
147 155
         }
148 156
         return responseBean;
@@ -150,16 +158,17 @@ public class TaOrgOrderController extends BaseController {
150 158
 
151 159
     /**
152 160
      * 根据id查询对象
153
-     * @param id  实体ID
161
+     *
162
+     * @param id 实体ID
154 163
      */
155
-    @RequestMapping(value="/taOrgOrder/{id}",method= RequestMethod.GET)
156
-    public ResponseBean taOrgOrderGet(@PathVariable Integer id){
164
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.GET)
165
+    public ResponseBean taOrgOrderGet(@PathVariable Integer id) {
157 166
         ResponseBean responseBean = new ResponseBean();
158 167
         try {
159 168
             responseBean.addSuccess(iTaOrgOrderService.getById(id));
160
-        }catch (Exception e){
169
+        } catch (Exception e) {
161 170
             e.printStackTrace();
162
-            logger.error("taOrgOrderDelete -=- {}",e.toString());
171
+            logger.error("taOrgOrderDelete -=- {}", e.toString());
163 172
             responseBean.addError(e.getMessage());
164 173
         }
165 174
         return responseBean;
@@ -167,21 +176,193 @@ public class TaOrgOrderController extends BaseController {
167 176
 
168 177
     /**
169 178
      * 查询接收人信息
170
-     * @param id  实体ID
179
+     *
180
+     * @param id 实体ID
171 181
      */
172
-    @RequestMapping(value="/channel/receiveInfo/{id}",method= RequestMethod.GET)
173
-    public ResponseBean receiveInfoGet(@PathVariable String id, HttpServletRequest request){
182
+    @RequestMapping(value = "/channel/receiveInfo/{id}", method = RequestMethod.GET)
183
+    public ResponseBean receiveInfoGet(@PathVariable String id, HttpServletRequest request) {
174 184
         ResponseBean responseBean = new ResponseBean();
175 185
         try {
176 186
             QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
177 187
             taPersonQueryWrapper.eq("phone", id);
178 188
             taPersonQueryWrapper.eq("org_id", getOrgId(request));
179 189
             responseBean.addSuccess(iTaPersonService.getOne(taPersonQueryWrapper));
180
-        }catch (Exception e){
190
+        } catch (Exception e) {
181 191
             e.printStackTrace();
182
-            logger.error("receiveInfoGet -=- {}",e.toString());
192
+            logger.error("receiveInfoGet -=- {}", e.toString());
183 193
             responseBean.addError(e.getMessage());
184 194
         }
185 195
         return responseBean;
186 196
     }
197
+
198
+    /**
199
+     * 创建充值订单
200
+     *
201
+     * @param amount
202
+     * @param request
203
+     * @return
204
+     */
205
+    @RequestMapping(value = "/admin/orgOrder/cz/saveOrder", method = RequestMethod.PUT)
206
+    public ResponseBean saveCzOrder(@RequestParam(value = "amount") Double amount, HttpServletRequest request) {
207
+        ResponseBean responseBean = new ResponseBean();
208
+        try {
209
+            responseBean = iTaOrgOrderService.saveCzOrder(amount, getOrgId(request), getUserId(request), request.getRemoteAddr());
210
+        } catch (Exception e) {
211
+            logger.error("saveCzOrder -=- {}", e);
212
+            responseBean.addError(e.getMessage());
213
+        }
214
+        return responseBean;
215
+    }
216
+
217
+    /**
218
+     * 创建退款订单
219
+     *
220
+     * @param amount
221
+     * @param request
222
+     * @return
223
+     */
224
+    @RequestMapping(value = "/admin/orgOrder/refund/saveOrder", method = RequestMethod.PUT)
225
+    public ResponseBean saveRefundOrder(@RequestParam(value = "amount") Double amount, HttpServletRequest request) {
226
+        ResponseBean responseBean = new ResponseBean();
227
+        try {
228
+            responseBean = iTaOrgOrderService.saveRefundOrder(amount, getOrgId(request), getUserId(request));
229
+        } catch (Exception e) {
230
+            logger.error("refundOrder -=- {}", e);
231
+            responseBean.addError(e.getMessage());
232
+        }
233
+        return responseBean;
234
+    }
235
+
236
+    /**
237
+     * 获取充值订单列表
238
+     *
239
+     * @param pageNum       页码
240
+     * @param pageSize      分页大小
241
+     * @param payStartTime  支付开始时间
242
+     * @param payEndTime    支付结束时间
243
+     * @param orderId       订单编号
244
+     * @param tradeNo       交易号
245
+     * @param wxOrderId     微信订单编号
246
+     * @param isOffline     是否线下订单,true是,false否
247
+     * @param tradingStatus
248
+     * @return
249
+     */
250
+    @RequestMapping(value = "/admin/orgOrder/cz/list", method = RequestMethod.GET)
251
+    public ResponseBean listCzOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
252
+                                               @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
253
+                                               @RequestParam(value = "payStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate payStartTime,
254
+                                               @RequestParam(value = "payEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate payEndTime,
255
+                                               String orderId,
256
+                                               String tradeNo,
257
+                                               String wxOrderId,
258
+                                               Boolean isOffline,
259
+                                               String tradingStatus,
260
+                                               HttpServletRequest request) {
261
+        ResponseBean responseBean = new ResponseBean();
262
+        try {
263
+            responseBean = iTaOrgOrderService.listCzOrderByCondition(pageNum, pageSize, payStartTime, payEndTime, orderId, tradeNo, wxOrderId, isOffline, tradingStatus, getOrgId(request));
264
+        } catch (Exception e) {
265
+            logger.error("refundOrder -=- {}", e);
266
+            responseBean.addError(e.getMessage());
267
+        }
268
+        return responseBean;
269
+    }
270
+
271
+    /**
272
+     * 导出充值订单列表
273
+     *
274
+     * @param payStartTime  支付开始时间
275
+     * @param payEndTime    支付结束时间
276
+     * @param orderId       订单编号
277
+     * @param tradeNo       交易号
278
+     * @param wxOrderId     微信订单编号
279
+     * @param isOffline     是否线下订单,true是,false否
280
+     * @param tradingStatus
281
+     * @return
282
+     */
283
+    @RequestMapping(value = "/admin/orgOrder/cz/exportList", method = RequestMethod.GET)
284
+    public void exportCzOrderByCondition(@RequestParam(value = "payStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate payStartTime,
285
+                                         @RequestParam(value = "payEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate payEndTime,
286
+                                         String orderId,
287
+                                         String tradeNo,
288
+                                         String wxOrderId,
289
+                                         Boolean isOffline,
290
+                                         String tradingStatus,
291
+                                         HttpServletRequest request,
292
+                                         HttpServletResponse response) throws Exception {
293
+        try {
294
+            iTaOrgOrderService.exportCzOrderByCondition(payStartTime, payEndTime, orderId, tradeNo, wxOrderId, isOffline, tradingStatus, getOrgId(request), response);
295
+        } catch (Exception e) {
296
+            logger.error("exportCzOrderByCondition 异常:", e);
297
+            response.reset();
298
+            response.setContentType("application/json");
299
+            response.setCharacterEncoding("utf-8");
300
+            Map<String, Object> map = new HashMap();
301
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
302
+            map.put("message", "下载文件失败" + e.getMessage());
303
+            response.getWriter().println(JSON.toJSONString(map));
304
+        }
305
+    }
306
+
307
+    /**
308
+     * 获取退款订单列表
309
+     *
310
+     * @param pageNum         页码
311
+     * @param pageSize        分页大小
312
+     * @param refundStartTime 退款开始时间
313
+     * @param refundEndTime   退款结束时间
314
+     * @param orderId         订单编号
315
+     * @param auditStatus
316
+     * @return
317
+     */
318
+    @RequestMapping(value = "/admin/orgOrder/refund/list", method = RequestMethod.GET)
319
+    public ResponseBean listRefundOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
320
+                                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
321
+                                                   @RequestParam(value = "refundStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate refundStartTime,
322
+                                                   @RequestParam(value = "refundEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate refundEndTime,
323
+                                                   String orderId,
324
+                                                   String auditStatus,
325
+                                                   HttpServletRequest request) {
326
+        ResponseBean responseBean = new ResponseBean();
327
+        try {
328
+            responseBean = iTaOrgOrderService.listRefundOrderByCondition(pageNum, pageSize, refundStartTime, refundEndTime, orderId, auditStatus, getOrgId(request));
329
+        } catch (Exception e) {
330
+            logger.error("refundOrder -=- {}", e);
331
+            responseBean.addError(e.getMessage());
332
+        }
333
+        return responseBean;
334
+    }
335
+
336
+
337
+    /**
338
+     * 导出退款订单列表
339
+     *
340
+     * @param refundStartTime 退款开始时间
341
+     * @param refundEndTime   退款结束时间
342
+     * @param orderId         订单编号
343
+     * @param auditStatus     checking待审核,agree同意,unAgree 不同意
344
+     * @return
345
+     */
346
+    @RequestMapping(value = "/admin/orgOrder/refund/exportList", method = RequestMethod.GET)
347
+    public void exportRefundOrderByCondition(@RequestParam(value = "refundStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate refundStartTime,
348
+                                             @RequestParam(value = "refundEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate refundEndTime,
349
+                                             String orderId,
350
+                                             String auditStatus,
351
+                                             HttpServletRequest request,
352
+                                             HttpServletResponse response) throws Exception {
353
+        try {
354
+            iTaOrgOrderService.exportRefundOrderByCondition(refundStartTime, refundEndTime, orderId, auditStatus, getOrgId(request), response);
355
+        } catch (Exception e) {
356
+            logger.error("exportRefundOrderByCondition 异常:", e);
357
+            response.reset();
358
+            response.setContentType("application/json");
359
+            response.setCharacterEncoding("utf-8");
360
+            Map<String, Object> map = new HashMap();
361
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
362
+            map.put("message", "下载文件失败" + e.getMessage());
363
+            response.getWriter().println(JSON.toJSONString(map));
364
+        }
365
+    }
366
+
367
+
187 368
 }

+ 100
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java Zobrazit soubor

@@ -1,17 +1,25 @@
1 1
 package com.huiju.estateagents.redpack.controller;
2 2
 
3
+import com.alibaba.fastjson.JSON;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 7
 import com.huiju.estateagents.base.BaseController;
7 8
 import com.huiju.estateagents.base.ResponseBean;
8 9
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
10
+import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
11
+import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
9 12
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
10 13
 import org.slf4j.Logger;
11 14
 import org.slf4j.LoggerFactory;
12 15
 import org.springframework.beans.factory.annotation.Autowired;
13 16
 import org.springframework.web.bind.annotation.*;
14 17
 
18
+import javax.servlet.http.HttpServletRequest;
19
+import javax.servlet.http.HttpServletResponse;
20
+import java.util.HashMap;
21
+import java.util.Map;
22
+
15 23
 /**
16 24
  * <p>
17 25
  * 红包助力活动  前端控制器
@@ -29,6 +37,12 @@ public class TaRedPacketController extends BaseController {
29 37
     @Autowired
30 38
     public ITaRedPacketService iTaRedPacketService;
31 39
 
40
+    @Autowired
41
+    private ITaOrgOrderService iTaOrgOrderService;
42
+
43
+    @Autowired
44
+    private ITaRedPacketPersonService iTaRedPacketPersonService;
45
+
32 46
 
33 47
     /**
34 48
      * 分页查询列表
@@ -142,4 +156,90 @@ public class TaRedPacketController extends BaseController {
142 156
         }
143 157
         return responseBean;
144 158
     }
159
+
160
+    /**
161
+     * 条件查询红包发送记录
162
+     *
163
+     * @param pageNum
164
+     * @param pageSize
165
+     * @param orderId
166
+     * @param wxOrderId
167
+     * @param tradeNo
168
+     * @param phone
169
+     * @param status
170
+     * @param request
171
+     * @return
172
+     */
173
+    @RequestMapping(value = "/admin/redPacket/listSendRecord", method = RequestMethod.GET)
174
+    public ResponseBean listSendRecord(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
175
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
176
+                                       String activityId,
177
+                                       String orderId,
178
+                                       String wxOrderId,
179
+                                       String tradeNo,
180
+                                       String phone,
181
+                                       Integer status,
182
+                                       HttpServletRequest request) {
183
+        ResponseBean responseBean = new ResponseBean();
184
+        try {
185
+            responseBean = iTaOrgOrderService.listRedPacketRecords(pageNum, pageSize, phone, activityId, orderId, wxOrderId, tradeNo, status, getOrgId(request));
186
+        } catch (Exception e) {
187
+            logger.error("listSendRecord -=- {}", e);
188
+            responseBean.addError(e.getMessage());
189
+        }
190
+        return responseBean;
191
+    }
192
+
193
+    /**
194
+     * 获取红包排行榜
195
+     *
196
+     * @param pageNum
197
+     * @param pageSize
198
+     * @param activityId
199
+     * @param phone
200
+     * @param request
201
+     * @return
202
+     */
203
+    @RequestMapping(value = "/admin/redPacket/getRedPacketRankingList", method = RequestMethod.GET)
204
+    public ResponseBean getRedPacketRankingList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
205
+                                                @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
206
+                                                String activityId,
207
+                                                String phone,
208
+                                                HttpServletRequest request) {
209
+        ResponseBean responseBean = new ResponseBean();
210
+        try {
211
+            responseBean = iTaRedPacketPersonService.getRedPacketRankingList(pageNum, pageSize, activityId, phone, getOrgId(request));
212
+        } catch (Exception e) {
213
+            logger.error("getRedPacketRankingList -=- {}", e);
214
+            responseBean.addError(e.getMessage());
215
+        }
216
+        return responseBean;
217
+    }
218
+
219
+    /**
220
+     * 导出红包排行榜
221
+     *
222
+     * @param activityId
223
+     * @param phone
224
+     * @param request
225
+     * @param response
226
+     */
227
+    @RequestMapping(value = "/admin/redPacket/exportRedPacketRankingList", method = RequestMethod.GET)
228
+    public void exportRedPacketRankingList(String activityId,
229
+                                           String phone,
230
+                                           HttpServletRequest request,
231
+                                           HttpServletResponse response) throws Exception {
232
+        try {
233
+            iTaRedPacketPersonService.exportRedPacketRankingList(activityId, phone, getOrgId(request), response);
234
+        } catch (Exception e) {
235
+            logger.error("exportRefundOrderByCondition 异常:", e);
236
+            response.reset();
237
+            response.setContentType("application/json");
238
+            response.setCharacterEncoding("utf-8");
239
+            Map<String, Object> map = new HashMap();
240
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
241
+            map.put("message", "下载文件失败" + e.getMessage());
242
+            response.getWriter().println(JSON.toJSONString(map));
243
+        }
244
+    }
145 245
 }

+ 4
- 3
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHistoryController.java Zobrazit soubor

@@ -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 TaRedPacketHistoryController extends BaseController {
26 26
 
27 27
     private final Logger logger = LoggerFactory.getLogger(TaRedPacketHistoryController.class);
@@ -36,9 +36,10 @@ public class TaRedPacketHistoryController extends BaseController {
36 36
      * @param pageSize
37 37
      * @return
38 38
      */
39
-    @RequestMapping(value="/taRedPacketHistory",method= RequestMethod.GET)
39
+    @RequestMapping(value="/admin/redPacket/history/list",method= RequestMethod.GET)
40 40
     public ResponseBean taRedPacketHistoryList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
-                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
41
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
42
+                                               String phone){
42 43
         ResponseBean responseBean = new ResponseBean();
43 44
         try {
44 45
             //使用分页插件

+ 6
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccount.java Zobrazit soubor

@@ -97,6 +97,12 @@ public class TaOrgAccount implements Serializable {
97 97
     @TableField(exist = false)
98 98
     private Integer refundAmount;
99 99
 
100
+    /**
101
+     * 退款冻结金额
102
+     */
103
+    @TableField(exist = false)
104
+    private Integer refundBlockedAmount;
105
+
100 106
     /**
101 107
      * 代理商名称
102 108
      */

+ 24
- 1
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Zobrazit soubor

@@ -102,11 +102,34 @@ public class TaOrgOrder implements Serializable {
102 102
     private String miniAppName;
103 103
 
104 104
     @TableField(exist = false)
105
-    private List<String> certificateList;
105
+    private List<TaOrgAccountCertificate> certificateList;
106 106
 
107 107
     @TableField(exist = false)
108 108
     private String auditStatus;
109 109
 
110
+    @TableField(exist = false)
111
+    private String auditResult;
112
+
110 113
     @TableField(exist = false)
111 114
     private String phone;
115
+
116
+    /**
117
+     * 接收红包人昵称
118
+     */
119
+    @TableField(exist = false)
120
+    private String nickname;
121
+
122
+    /**
123
+     * 子订单金额
124
+     */
125
+    @TableField(exist = false)
126
+    private String detailAmount;
127
+
128
+    /**
129
+     * 接受红包人头像
130
+     */
131
+    @TableField(exist = false)
132
+    private String avatarurl;
133
+
134
+
112 135
 }

+ 22
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketPerson.java Zobrazit soubor

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.redpack.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
@@ -89,5 +90,26 @@ public class TaRedPacketPerson implements Serializable {
89 90
      */
90 91
     private Integer packetStatus;
91 92
 
93
+    @TableField(exist = false)
94
+    private String phone;
95
+
96
+    /**
97
+     * 接收红包人昵称
98
+     */
99
+    @TableField(exist = false)
100
+    private String nickname;
101
+
102
+    /**
103
+     * 接受红包人名称
104
+     */
105
+    @TableField(exist = false)
106
+    private String name;
107
+
108
+    /**
109
+     * 接受红包人头像
110
+     */
111
+    @TableField(exist = false)
112
+    private String avatarurl;
113
+
92 114
 
93 115
 }

+ 107
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java Zobrazit soubor

@@ -1,7 +1,10 @@
1 1
 package com.huiju.estateagents.redpack.mapper;
2 2
 
3 3
 import java.time.LocalDate;
4
+import java.util.List;
4 5
 
6
+import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
7
+import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
5 8
 import org.apache.ibatis.annotations.Mapper;
6 9
 import org.apache.ibatis.annotations.Param;
7 10
 
@@ -22,6 +25,7 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
22 25
 
23 26
     /**
24 27
      * 充值退款订单
28
+     *
25 29
      * @param pg
26 30
      * @param orderType
27 31
      * @return
@@ -37,6 +41,7 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
37 41
 
38 42
     /**
39 43
      * 消费订单
44
+     *
40 45
      * @param pg
41 46
      * @param orderType
42 47
      * @param orgId
@@ -52,10 +57,112 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
52 57
                                          @Param("startDate") LocalDate startDate,
53 58
                                          @Param("endDate") LocalDate endDate);
54 59
 
60
+    /**
61
+     * 获取充值订单列表
62
+     *
63
+     * @param page
64
+     * @param payStartTime
65
+     * @param payEndTime
66
+     * @param orderId
67
+     * @param tradeNo
68
+     * @param wxOrderId
69
+     * @param isOffline
70
+     * @param tradingStatus
71
+     * @param orgId
72
+     * @return
73
+     */
74
+    IPage<TaOrgOrder> listCzOrderByCondition(IPage<TaOrgOrder> page,
75
+                                             @Param("payStartTime") LocalDate payStartTime,
76
+                                             @Param("payEndTime") LocalDate payEndTime,
77
+                                             @Param("orderId") String orderId,
78
+                                             @Param("tradeNo") String tradeNo,
79
+                                             @Param("wxOrderId") String wxOrderId,
80
+                                             @Param("isOffline") Boolean isOffline,
81
+                                             @Param("tradingStatus") String tradingStatus,
82
+                                             @Param("orgId") Integer orgId);
83
+
84
+    /**
85
+     * 导出充值订单列表
86
+     *
87
+     * @param payStartTime
88
+     * @param payEndTime
89
+     * @param orderId
90
+     * @param tradeNo
91
+     * @param wxOrderId
92
+     * @param isOffline
93
+     * @param tradingStatus
94
+     * @param orgId
95
+     * @return
96
+     */
97
+    List<AccountPayRecordExport> exportCzOrderByCondition(@Param("payStartTime") LocalDate payStartTime,
98
+                                                          @Param("payEndTime") LocalDate payEndTime,
99
+                                                          @Param("orderId") String orderId,
100
+                                                          @Param("tradeNo") String tradeNo,
101
+                                                          @Param("wxOrderId") String wxOrderId,
102
+                                                          @Param("isOffline") Boolean isOffline,
103
+                                                          @Param("tradingStatus") String tradingStatus,
104
+                                                          @Param("orgId") Integer orgId);
105
+
106
+    /**
107
+     * 获取退款订单列表
108
+     *
109
+     * @param page
110
+     * @param refundStartTime
111
+     * @param refundEndTime
112
+     * @param orderId
113
+     * @param auditStatus
114
+     * @param orgId
115
+     * @return
116
+     */
117
+    IPage<TaOrgOrder> listRefundOrderByCondition(IPage<TaOrgOrder> page,
118
+                                                 @Param("refundStartTime") LocalDate refundStartTime,
119
+                                                 @Param("refundEndTime") LocalDate refundEndTime,
120
+                                                 @Param("orderId") String orderId,
121
+                                                 @Param("auditStatus") String auditStatus,
122
+                                                 @Param("orgId") Integer orgId);
123
+
124
+    /**
125
+     * 导出退款订单列表
126
+     *
127
+     * @param refundStartTime
128
+     * @param refundEndTime
129
+     * @param orderId
130
+     * @param auditStatus
131
+     * @param orgId
132
+     * @return
133
+     */
134
+    List<AccountRefundRecordExport> exportRefundOrderByCondition(@Param("refundStartTime") LocalDate refundStartTime,
135
+                                                                 @Param("refundEndTime") LocalDate refundEndTime,
136
+                                                                 @Param("orderId") String orderId,
137
+                                                                 @Param("auditStatus") String auditStatus,
138
+                                                                 @Param("orgId") Integer orgId);
139
+
140
+
55 141
     /**
56 142
      * 总充值金额
143
+     *
57 144
      * @param orgId
58 145
      * @return
59 146
      */
60 147
     Integer countTotalRechargeAmount(@Param("orgId") Integer orgId);
148
+
149
+    /**
150
+     * 条件查询红包发送记录
151
+     *
152
+     * @param page
153
+     * @param orderId
154
+     * @param wxOrderId
155
+     * @param tradeNo
156
+     * @param status
157
+     * @param orgId
158
+     * @return
159
+     */
160
+    IPage<TaOrgOrder> listRedPacketRecords(IPage<TaOrgOrder> page,
161
+                                           @Param("phone") String phone,
162
+                                           @Param("activityId") String activityId,
163
+                                           @Param("orderId") String orderId,
164
+                                           @Param("wxOrderId") String wxOrderId,
165
+                                           @Param("tradeNo") String tradeNo,
166
+                                           @Param("status") Integer status,
167
+                                           @Param("orgId") Integer orgId);
61 168
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgRefundApplicationMapper.java Zobrazit soubor

@@ -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.TaOrgRefundApplication;
7
+import org.apache.ibatis.annotations.Param;
7 8
 
8 9
 /**
9 10
  * <p>
@@ -16,4 +17,13 @@ import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
16 17
 @Mapper
17 18
 public interface TaOrgRefundApplicationMapper extends BaseMapper<TaOrgRefundApplication> {
18 19
 
20
+    /**
21
+     * 计算退款冻结金额
22
+     *
23
+     * @param orgId
24
+     * @return
25
+     */
26
+    Integer countRefundBlockedAmount(@Param("orgId") Integer orgId);
27
+
28
+
19 29
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketHistoryMapper.java Zobrazit soubor

@@ -1,8 +1,10 @@
1 1
 package com.huiju.estateagents.redpack.mapper;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3 4
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4 5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 6
 import org.apache.ibatis.annotations.Mapper;
7
+import org.apache.ibatis.annotations.Param;
6 8
 import org.springframework.stereotype.Component;
7 9
 
8 10
 /**
@@ -17,4 +19,6 @@ import org.springframework.stereotype.Component;
17 19
 @Component
18 20
 public interface TaRedPacketHistoryMapper extends BaseMapper<TaRedPacketHistory> {
19 21
 
22
+    IPage<TaRedPacketHistory> listHistoryByCondition(IPage<TaRedPacketHistory> page,
23
+                                                     @Param("activityId") String activityId);
20 24
 }

+ 33
- 1
src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketPersonMapper.java Zobrazit soubor

@@ -1,10 +1,15 @@
1 1
 package com.huiju.estateagents.redpack.mapper;
2 2
 
3
-import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
4 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport;
6
+import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
5 7
 import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
6 9
 import org.springframework.stereotype.Component;
7 10
 
11
+import java.util.List;
12
+
8 13
 /**
9 14
  * <p>
10 15
  * 红包助力报名表  Mapper 接口
@@ -17,4 +22,31 @@ import org.springframework.stereotype.Component;
17 22
 @Component
18 23
 public interface TaRedPacketPersonMapper extends BaseMapper<TaRedPacketPerson> {
19 24
 
25
+    /**
26
+     * 获取红包活动排行榜
27
+     *
28
+     * @param page
29
+     * @param activityId
30
+     * @param orgId
31
+     * @param phone
32
+     * @return
33
+     */
34
+    IPage<TaRedPacketPerson> getRedPacketRankingList(IPage<TaRedPacketPerson> page,
35
+                                                     @Param("activityId") String activityId,
36
+                                                     @Param("orgId") Integer orgId,
37
+                                                     @Param("phone") String phone);
38
+
39
+    /**
40
+     * 导出红包活动排行榜
41
+     *
42
+     * @param activityId
43
+     * @param orgId
44
+     * @param phone
45
+     * @return
46
+     */
47
+    List<RedPacketRankingListExport> exportRedPacketRankingList(@Param("activityId") String activityId,
48
+                                                                @Param("orgId") Integer orgId,
49
+                                                                @Param("phone") String phone);
50
+
51
+
20 52
 }

+ 8
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgAccountService.java Zobrazit soubor

@@ -38,4 +38,12 @@ public interface ITaOrgAccountService extends IService<TaOrgAccount> {
38 38
      * @return
39 39
      */
40 40
     ResponseBean getOrgAccountById(Integer orgId);
41
+
42
+    /**
43
+     * 根据orgId获取账户信息
44
+     *
45
+     * @param orgId
46
+     * @return
47
+     */
48
+    ResponseBean getOrgAccountInfoByOrgId(Integer orgId);
41 49
 }

+ 100
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java Zobrazit soubor

@@ -3,10 +3,13 @@ package com.huiju.estateagents.redpack.service;
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
6 7
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
7 8
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
8 9
 
10
+import javax.servlet.http.HttpServletResponse;
9 11
 import java.time.LocalDate;
12
+import java.util.List;
10 13
 
11 14
 /**
12 15
  * <p>
@@ -19,6 +22,7 @@ import java.time.LocalDate;
19 22
 public interface ITaOrgOrderService extends IService<TaOrgOrder> {
20 23
     /**
21 24
      * 订单退款
25
+     *
22 26
      * @param id
23 27
      * @param refundApplication
24 28
      * @param userId
@@ -29,6 +33,7 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
29 33
 
30 34
     /**
31 35
      * 订单驳回
36
+     *
32 37
      * @param id
33 38
      * @param refundApplication
34 39
      * @param userId
@@ -38,6 +43,7 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
38 43
 
39 44
     /**
40 45
      * 订单列表
46
+     *
41 47
      * @param pg
42 48
      * @param orderType
43 49
      * @return
@@ -46,9 +52,103 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
46 52
 
47 53
     /**
48 54
      * 微信支付
55
+     *
49 56
      * @param taOrgOrder
50 57
      * @param remoteAddr
51 58
      * @return
52 59
      */
53 60
     ResponseBean payUnifiedOrder(TaOrgOrder taOrgOrder, String remoteAddr) throws Exception;
61
+
62
+    /**
63
+     * 创建充值订单
64
+     *
65
+     * @param amount
66
+     * @param orgId
67
+     * @param userId
68
+     * @return
69
+     */
70
+    ResponseBean saveCzOrder(Double amount, Integer orgId, Integer userId, String ip) throws Exception;
71
+
72
+    /**
73
+     * 创建退款订单
74
+     *
75
+     * @param amount
76
+     * @param orgId
77
+     * @param userId
78
+     * @return
79
+     */
80
+    ResponseBean saveRefundOrder(Double amount, Integer orgId, Integer userId);
81
+
82
+    /**
83
+     * 获取充值订单列表
84
+     *
85
+     * @param pageNum
86
+     * @param pageSize
87
+     * @param payStartTime
88
+     * @param payEndTime
89
+     * @param orderId
90
+     * @param tradeNo
91
+     * @param wxOrderId
92
+     * @param isOffline
93
+     * @param tradingStatus
94
+     * @return
95
+     */
96
+    ResponseBean listCzOrderByCondition(Integer pageNum, Integer pageSize, LocalDate payStartTime, LocalDate payEndTime, String orderId, String tradeNo,
97
+                                        String wxOrderId, Boolean isOffline, String tradingStatus, Integer orgId);
98
+
99
+    /**
100
+     * 导出充值订单列表
101
+     *
102
+     * @param payStartTime
103
+     * @param payEndTime
104
+     * @param orderId
105
+     * @param tradeNo
106
+     * @param wxOrderId
107
+     * @param isOffline
108
+     * @param tradingStatus
109
+     * @return
110
+     */
111
+    void exportCzOrderByCondition(LocalDate payStartTime, LocalDate payEndTime, String orderId, String tradeNo, String wxOrderId,
112
+                                  Boolean isOffline, String tradingStatus, Integer orgId, HttpServletResponse response) throws Exception;
113
+
114
+    /**
115
+     * 获取退款订单列表
116
+     *
117
+     * @param pageNum
118
+     * @param pageSize
119
+     * @param refundStartTime
120
+     * @param refundEndTime
121
+     * @param orderId
122
+     * @param auditStatus
123
+     * @param orgId
124
+     * @return
125
+     */
126
+    ResponseBean listRefundOrderByCondition(Integer pageNum, Integer pageSize, LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, Integer orgId);
127
+
128
+    /**
129
+     * 导出退款订单列表
130
+     *
131
+     * @param refundStartTime
132
+     * @param refundEndTime
133
+     * @param orderId
134
+     * @param auditStatus
135
+     * @param orgId
136
+     * @param response
137
+     * @throws Exception
138
+     */
139
+    void exportRefundOrderByCondition(LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, Integer orgId, HttpServletResponse response) throws Exception;
140
+
141
+    /**
142
+     * 条件查询红包发送记录
143
+     *
144
+     * @param pageNum
145
+     * @param pageSize
146
+     * @param orderId
147
+     * @param wxOrderId
148
+     * @param tradeNo
149
+     * @param status
150
+     * @param orgId
151
+     * @return
152
+     */
153
+    ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone,String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId);
54 154
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketHistoryService.java Zobrazit soubor

@@ -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.TaRedPacketHistory;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 
@@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaRedPacketHistoryService extends IService<TaRedPacketHistory> {
15 16
 
17
+    ResponseBean listHistoryByCondition(Integer pageNum, Integer pageSize, String activityId);
18
+
16 19
 }

+ 25
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketPersonService.java Zobrazit soubor

@@ -1,8 +1,11 @@
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.TaRedPacketPerson;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
5 6
 
7
+import javax.servlet.http.HttpServletResponse;
8
+
6 9
 /**
7 10
  * <p>
8 11
  * 红包助力报名表  服务类
@@ -13,4 +16,26 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 16
  */
14 17
 public interface ITaRedPacketPersonService extends IService<TaRedPacketPerson> {
15 18
 
19
+    /**
20
+     * 查询红包活动排行榜
21
+     *
22
+     * @param pageNum
23
+     * @param pageSize
24
+     * @param activityId
25
+     * @param phone
26
+     * @param orgId
27
+     * @return
28
+     */
29
+    ResponseBean getRedPacketRankingList(Integer pageNum, Integer pageSize, String activityId, String phone, Integer orgId);
30
+
31
+    /**
32
+     * 导出红包活动排行榜
33
+     *
34
+     * @param activityId
35
+     * @param phone
36
+     * @param orgId
37
+     * @param response
38
+     */
39
+    void exportRedPacketRankingList(String activityId, String phone, Integer orgId, HttpServletResponse response) throws Exception;
40
+
16 41
 }

+ 43
- 17
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgAccountServiceImpl.java Zobrazit soubor

@@ -5,6 +5,7 @@ import java.util.ArrayList;
5 5
 import java.util.Collections;
6 6
 import java.util.List;
7 7
 
8
+import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
8 9
 import org.apache.commons.collections.CollectionUtils;
9 10
 import org.apache.poi.ss.formula.functions.T;
10 11
 import org.springframework.beans.factory.annotation.Autowired;
@@ -72,10 +73,10 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
72 73
     private TaOrgRefundApplicationMapper taOrgRefundApplicationMapper;
73 74
 
74 75
     @Autowired
75
-    private TaOrgAccountBlockedMapper taOrgAccountBlockedMapper;
76
+    private TaUserMapper taUserMapper;
76 77
 
77 78
     @Autowired
78
-    private TaUserMapper taUserMapper;
79
+    private ITaOrgOrderService iTaOrgOrderService;
79 80
 
80 81
     @Autowired
81 82
     private TaContactMapper taContactMapper;
@@ -93,7 +94,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
93 94
 
94 95
         //更新系统账户充值金额
95 96
         TaOrgAccount rechargeAccount = assembleRechargeAccount(accountId, taOrgAccount);
96
-        synchronized (this){
97
+        synchronized (this) {
97 98
             taOrgAccountMapper.updateById(rechargeAccount);
98 99
         }
99 100
 
@@ -110,16 +111,16 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
110 111
         int taOrgAccountDetailedListInsertResult = taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
111 112
 
112 113
         //插入凭证记录
113
-        if (CollectionUtils.isNotEmpty(taOrgAccount.getCertificateList())){
114
+        if (CollectionUtils.isNotEmpty(taOrgAccount.getCertificateList())) {
114 115
             List<TaOrgAccountCertificate> taOrgAccountCertificateList = assembleAccountCertificate(orgId, taOrgAccount, taOrgAccountDetailedList.getSerialNo(), taOrgOrder.getOrderId(), userId, CommConstant.ITEM_TYPE_RECHARGE);
115 116
             taOrgAccountCertificateList.forEach(e -> {
116 117
                 taOrgAccountCertificateMapper.insert(e);
117 118
             });
118 119
         }
119 120
 
120
-        if (    taOrgOrderInsertResult < 1 ||
121
+        if (taOrgOrderInsertResult < 1 ||
121 122
                 taOrgOrderDetailInsertResult < 1 ||
122
-                taOrgAccountDetailedListInsertResult < 1){
123
+                taOrgAccountDetailedListInsertResult < 1) {
123 124
             responseBean.addError("充值失败");
124 125
             return responseBean;
125 126
         }
@@ -139,7 +140,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
139 140
 
140 141
         //更新系统账户余额
141 142
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(accountId);
142
-        if (selectOneAccount.getAvailableBalance() < taOrgAccount.getRefundAmount()){
143
+        if (selectOneAccount.getAvailableBalance() < taOrgAccount.getRefundAmount()) {
143 144
             responseBean.addError("退款额不能大于余额");
144 145
             return responseBean;
145 146
         }
@@ -159,7 +160,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
159 160
         int taOrgAccountDetailedListInsertResult = taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
160 161
 
161 162
         //插入凭证记录
162
-        if (CollectionUtils.isNotEmpty(taOrgAccount.getCertificateList())){
163
+        if (CollectionUtils.isNotEmpty(taOrgAccount.getCertificateList())) {
163 164
             List<TaOrgAccountCertificate> taOrgAccountCertificateList = assembleAccountCertificate(orgId, taOrgAccount, taOrgAccountDetailedList.getSerialNo(), taOrgOrder.getOrderId(), userId, CommConstant.ITEM_TYPE_REFUND);
164 165
             taOrgAccountCertificateList.forEach(e -> {
165 166
                 taOrgAccountCertificateMapper.insert(e);
@@ -169,7 +170,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
169 170
         if (taOrgOrderInsertResult < 1 ||
170 171
                 taOrgOrderInsertResult < 1 ||
171 172
                 taOrgOrderDetailInsertResult < 1 ||
172
-                taOrgAccountDetailedListInsertResult < 1){
173
+                taOrgAccountDetailedListInsertResult < 1) {
173 174
             responseBean.addError("退费失败");
174 175
             return responseBean;
175 176
         }
@@ -201,13 +202,33 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
201 202
         return responseBean;
202 203
     }
203 204
 
205
+    @Override
206
+    public ResponseBean getOrgAccountInfoByOrgId(Integer orgId) {
207
+        ResponseBean responseBean = new ResponseBean();
208
+
209
+        QueryWrapper<TaOrgAccount> orgAccountQueryWrapper = new QueryWrapper<>();
210
+        orgAccountQueryWrapper.eq("org_id", orgId);
211
+        orgAccountQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
212
+        TaOrgAccount orgAccount = getOne(orgAccountQueryWrapper);
213
+        if (orgAccount == null) {
214
+            responseBean.addError("fail");
215
+            return responseBean;
216
+        }
217
+
218
+        // 计算退款冻结金额
219
+        orgAccount.setRefundBlockedAmount(taOrgRefundApplicationMapper.countRefundBlockedAmount(orgId));
220
+        responseBean.addSuccess(orgAccount);
221
+        return responseBean;
222
+    }
223
+
204 224
     /**
205 225
      * 构造充值账户
226
+     *
206 227
      * @param accountId
207 228
      * @param taOrgAccount
208 229
      * @return
209 230
      */
210
-    private TaOrgAccount assembleRechargeAccount(String accountId, TaOrgAccount taOrgAccount){
231
+    private TaOrgAccount assembleRechargeAccount(String accountId, TaOrgAccount taOrgAccount) {
211 232
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(accountId);
212 233
 
213 234
         TaOrgAccount rechargeAccount = new TaOrgAccount();
@@ -221,6 +242,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
221 242
 
222 243
     /**
223 244
      * 构造交易凭证信息
245
+     *
224 246
      * @param orgId
225 247
      * @param taOrgAccount
226 248
      * @param accountSerialNo
@@ -228,7 +250,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
228 250
      * @param userId
229 251
      * @return
230 252
      */
231
-    public List<TaOrgAccountCertificate> assembleAccountCertificate(Integer orgId, TaOrgAccount taOrgAccount, Integer accountSerialNo, String orderId, Integer userId, String consumeType){
253
+    public List<TaOrgAccountCertificate> assembleAccountCertificate(Integer orgId, TaOrgAccount taOrgAccount, Integer accountSerialNo, String orderId, Integer userId, String consumeType) {
232 254
         TaUser taUser = selectUserById(userId);
233 255
         List<TaOrgAccountCertificate> taOrgAccountCertificateList = new ArrayList<>();
234 256
 
@@ -252,12 +274,13 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
252 274
 
253 275
     /**
254 276
      * 构造订单
277
+     *
255 278
      * @param orgId
256 279
      * @param amount
257 280
      * @param userId
258 281
      * @return
259 282
      */
260
-    private TaOrgOrder assembleTaOrgOrder(Integer orgId, Integer amount, Integer userId, String consumeType){
283
+    private TaOrgOrder assembleTaOrgOrder(Integer orgId, Integer amount, Integer userId, String consumeType) {
261 284
 
262 285
         TaUser taUser = selectUserById(userId);
263 286
         TaOrgOrder taOrgOrder = new TaOrgOrder();
@@ -277,12 +300,13 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
277 300
 
278 301
     /**
279 302
      * 构造交订单详情信息
303
+     *
280 304
      * @param orderId
281 305
      * @param orgId
282 306
      * @param amount
283 307
      * @return
284 308
      */
285
-    private TaOrgOrderDetail assembleTaOrgOrderDetail(String orderId, Integer orgId, Integer amount, String consumeType){
309
+    private TaOrgOrderDetail assembleTaOrgOrderDetail(String orderId, Integer orgId, Integer amount, String consumeType) {
286 310
         TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
287 311
 
288 312
         taOrgOrderDetail.setOrderId(orderId);
@@ -295,13 +319,14 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
295 319
 
296 320
     /**
297 321
      * 构造消费流水记录
322
+     *
298 323
      * @param orgId
299 324
      * @param taOrgAccount
300 325
      * @param orderId
301 326
      * @param userId
302 327
      * @return
303 328
      */
304
-    private TaOrgAccountDetailedList assembleAccountDetailList(Integer orgId, TaOrgAccount taOrgAccount, String orderId, Integer userId, String consumeType){
329
+    private TaOrgAccountDetailedList assembleAccountDetailList(Integer orgId, TaOrgAccount taOrgAccount, String orderId, Integer userId, String consumeType) {
305 330
 
306 331
         TaUser taUser = selectUserById(userId);
307 332
         TaOrgAccountDetailedList taOrgAccountDetailed = new TaOrgAccountDetailedList();
@@ -320,11 +345,12 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
320 345
 
321 346
     /**
322 347
      * 构造退费账户
348
+     *
323 349
      * @param accountId
324 350
      * @param taOrgAccount
325 351
      * @return
326 352
      */
327
-    private TaOrgAccount assembleRefundAccount(String accountId, TaOrgAccount taOrgAccount){
353
+    private TaOrgAccount assembleRefundAccount(String accountId, TaOrgAccount taOrgAccount) {
328 354
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(accountId);
329 355
 
330 356
         TaOrgAccount refundAccount = new TaOrgAccount();
@@ -337,14 +363,14 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
337 363
         return refundAccount;
338 364
     }
339 365
 
340
-    public TaOrgAccount selectTaOrgAccountById(String accountId){
366
+    public TaOrgAccount selectTaOrgAccountById(String accountId) {
341 367
         QueryWrapper<TaOrgAccount> selectOneQuery = new QueryWrapper<>();
342 368
         selectOneQuery.eq("account_id", accountId);
343 369
         TaOrgAccount selectOneAccount = taOrgAccountMapper.selectOne(selectOneQuery);
344 370
         return selectOneAccount;
345 371
     }
346 372
 
347
-    public TaUser selectUserById(Integer userId){
373
+    public TaUser selectUserById(Integer userId) {
348 374
         //获取操作人
349 375
         QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
350 376
         taUserQueryWrapper.eq("user_id", userId);

+ 212
- 23
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java Zobrazit soubor

@@ -1,7 +1,9 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.alibaba.excel.EasyExcel;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 8
 import com.huiju.estateagents.base.ResponseBean;
7 9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
@@ -12,6 +14,8 @@ import com.huiju.estateagents.common.wxpay.WXPay;
12 14
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
13 15
 import com.huiju.estateagents.common.wxpay.WxConfig;
14 16
 import com.huiju.estateagents.entity.TaWxPayConfig;
17
+import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
18
+import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
15 19
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
16 20
 import com.huiju.estateagents.redpack.entity.*;
17 21
 import com.huiju.estateagents.redpack.mapper.*;
@@ -23,10 +27,12 @@ import org.springframework.beans.factory.annotation.Value;
23 27
 import org.springframework.stereotype.Service;
24 28
 import org.springframework.transaction.annotation.Transactional;
25 29
 
30
+import javax.servlet.http.HttpServletResponse;
26 31
 import java.io.ByteArrayOutputStream;
27 32
 import java.io.InputStream;
28 33
 import java.net.HttpURLConnection;
29 34
 import java.net.URL;
35
+import java.net.URLEncoder;
30 36
 import java.time.LocalDate;
31 37
 import java.time.LocalDateTime;
32 38
 import java.util.ArrayList;
@@ -80,10 +86,10 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
80 86
     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) {
81 87
         IPage<TaOrgOrder> result = null;
82 88
 
83
-        if (CommConstant.ITEM_TYPE_RECHARGE.equals(orderType) || CommConstant.ITEM_TYPE_REFUND.equals(orderType)){
89
+        if (CommConstant.ITEM_TYPE_RECHARGE.equals(orderType) || CommConstant.ITEM_TYPE_REFUND.equals(orderType)) {
84 90
             result = taOrgOrderMapper.orderListByRechargeOrRefund(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, startDate, endDate);
85 91
             return result;
86
-        } else if (CommConstant.ITEM_TYPE_REDPACKAGE.equals(orderType)){
92
+        } else if (CommConstant.ITEM_TYPE_REDPACKAGE.equals(orderType)) {
87 93
             result = taOrgOrderMapper.orderListByConsume(pg, orderType, orgId, tradeNo, tradingStatus, receivePhone, itemType, startDate, endDate);
88 94
             return result;
89 95
         } else {
@@ -124,42 +130,218 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
124 130
         //终端IP
125 131
         data.put("spbill_create_ip", clientIp);
126 132
         //回调地址
127
-        data.put("notify_url", payNotify+CommConstant.ITEM_TYPE_RECHARGE);
133
+        data.put("notify_url", payNotify + CommConstant.ITEM_TYPE_RECHARGE);
128 134
         // 此处指定为APP支付
129 135
         data.put("trade_type", "NATIVE");
130 136
         Map<String, String> resp = wxpay.unifiedOrder(data);
131 137
         log.info("下单成功:{}", resp);
132
-        if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)){
138
+        if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)) {
133 139
             throw new Exception(resp.get("err_code_des"));
134 140
         }
135 141
 
136 142
         return ResponseBean.success(resp.get("code_url"));
137 143
     }
138 144
 
145
+    @Override
146
+    public ResponseBean saveCzOrder(Double amount, Integer orgId, Integer userId, String ip) throws Exception {
147
+        ResponseBean responseBean = new ResponseBean();
148
+
149
+        // 获取下单人名称
150
+        TaUser taUser = taUserMapper.selectById(userId);
151
+        if (taUser == null) {
152
+            responseBean.addError("fail");
153
+            return responseBean;
154
+        }
155
+
156
+        // 1.创建订单主表信息
157
+        TaOrgOrder taOrgOrder = new TaOrgOrder();
158
+        taOrgOrder.setOrgId(orgId);
159
+        taOrgOrder.setTradeNo(CommonUtils.generateTradeNo(CommConstant.RECHARGE));
160
+        taOrgOrder.setAmount(CommonUtils.yuanToFen(amount));
161
+        taOrgOrder.setCreateDate(LocalDateTime.now());
162
+        taOrgOrder.setStatus(CommConstant.STATUS_NORMAL);
163
+        taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_PROCESSING);
164
+        taOrgOrder.setIsOffline(false);
165
+        taOrgOrder.setUserId(userId);
166
+        taOrgOrder.setUserName(taUser.getUserName());
167
+        if (taOrgOrderMapper.insert(taOrgOrder) < 1) {
168
+            responseBean.addError("fail");
169
+            return responseBean;
170
+        }
171
+
172
+        // 2.创建订单详情表信息
173
+        TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
174
+        taOrgOrderDetail.setOrderId(taOrgOrder.getOrderId());
175
+        taOrgOrderDetail.setOrgId(orgId);
176
+        taOrgOrderDetail.setItemType(CommConstant.ITEM_TYPE_RECHARGE);
177
+        taOrgOrderDetail.setAmount(CommonUtils.yuanToFen(amount));
178
+        taOrgOrderDetail.setUnitPrice(CommonUtils.yuanToFen(amount));
179
+        taOrgOrderDetail.setQuantity(1);
180
+        taOrgOrderDetail.setStatus(CommConstant.STATUS_NORMAL);
181
+        if (taOrgOrderDetailMapper.insert(taOrgOrderDetail) < 1) {
182
+            taOrgOrderMapper.deleteById(taOrgOrder.getOrderId());
183
+            responseBean.addError("fail");
184
+            return responseBean;
185
+        }
186
+
187
+        // 3.请求微信接口获取支付二维码
188
+        return payUnifiedOrder(taOrgOrder, ip);
189
+    }
190
+
191
+    @Override
192
+    public ResponseBean saveRefundOrder(Double amount, Integer orgId, Integer userId) {
193
+        ResponseBean responseBean = new ResponseBean();
194
+
195
+        // 获取下单人名称
196
+        TaUser taUser = taUserMapper.selectById(userId);
197
+        if (taUser == null) {
198
+            responseBean.addError("fail");
199
+            return responseBean;
200
+        }
201
+
202
+        // 1.创建订单主表信息
203
+        TaOrgOrder taOrgOrder = new TaOrgOrder();
204
+        taOrgOrder.setOrgId(orgId);
205
+        taOrgOrder.setTradeNo(CommonUtils.generateTradeNo(CommConstant.REFUND));
206
+        taOrgOrder.setAmount(CommonUtils.yuanToFen(amount));
207
+        taOrgOrder.setCreateDate(LocalDateTime.now());
208
+        taOrgOrder.setStatus(CommConstant.STATUS_NORMAL);
209
+        taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_PROCESSING);
210
+        taOrgOrder.setIsOffline(false);
211
+        taOrgOrder.setUserId(userId);
212
+        taOrgOrder.setUserName(taUser.getUserName());
213
+        if (taOrgOrderMapper.insert(taOrgOrder) < 1) {
214
+            responseBean.addError("fail");
215
+            return responseBean;
216
+        }
217
+
218
+        // 2.创建订单详情表信息
219
+        TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
220
+        taOrgOrderDetail.setOrderId(taOrgOrder.getOrderId());
221
+        taOrgOrderDetail.setOrgId(orgId);
222
+        taOrgOrderDetail.setItemType(CommConstant.ITEM_TYPE_REFUND);
223
+        taOrgOrderDetail.setAmount(CommonUtils.yuanToFen(amount));
224
+        taOrgOrderDetail.setUnitPrice(CommonUtils.yuanToFen(amount));
225
+        taOrgOrderDetail.setQuantity(1);
226
+        taOrgOrderDetail.setStatus(CommConstant.STATUS_NORMAL);
227
+        if (taOrgOrderDetailMapper.insert(taOrgOrderDetail) < 1) {
228
+            taOrgOrderMapper.deleteById(taOrgOrder.getOrderId());
229
+            responseBean.addError("fail");
230
+            return responseBean;
231
+        }
232
+
233
+        // 3.创建账户腿狂申请表信息
234
+        TaOrgRefundApplication taOrgRefundApplication = new TaOrgRefundApplication();
235
+        taOrgRefundApplication.setOrgId(orgId);
236
+        taOrgRefundApplication.setUserId(userId);
237
+        taOrgRefundApplication.setUserName(taUser.getUserName());
238
+        taOrgRefundApplication.setAmount(CommonUtils.yuanToFen(amount));
239
+        taOrgRefundApplication.setAuditStatus(CommConstant.CHECK_STATUS_CHECKING);
240
+        taOrgRefundApplication.setOrderId(taOrgOrder.getOrderId());
241
+        taOrgRefundApplication.setStatus(CommConstant.STATUS_NORMAL);
242
+        taOrgRefundApplication.setCreateDate(LocalDateTime.now());
243
+        taOrgRefundApplication.setReason("线上申请退款");
244
+        if (taOrgRefundApplicationMapper.insert(taOrgRefundApplication) < 1) {
245
+            taOrgOrderMapper.deleteById(taOrgOrder.getOrderId());
246
+            taOrgOrderDetailMapper.deleteById(taOrgOrderDetail.getSerialNo());
247
+            responseBean.addError("fail");
248
+            return responseBean;
249
+        }
250
+
251
+        responseBean.addSuccess("success");
252
+        return responseBean;
253
+    }
254
+
255
+    @Override
256
+    public ResponseBean listCzOrderByCondition(Integer pageNum, Integer pageSize, LocalDate payStartTime, LocalDate payEndTime,
257
+                                               String orderId, String tradeNo, String wxOrderId, Boolean isOffline, String tradingStatus, Integer orgId) {
258
+        ResponseBean responseBean = new ResponseBean();
259
+        IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
260
+        pg = taOrgOrderMapper.listCzOrderByCondition(pg, payStartTime, payEndTime, orderId, tradeNo, wxOrderId, isOffline, tradingStatus, orgId);
261
+        if (CollectionUtils.isNotEmpty(pg.getRecords())) {
262
+            pg.getRecords().stream().forEach(r -> {
263
+                QueryWrapper<TaOrgAccountCertificate> queryWrapper = new QueryWrapper<>();
264
+                queryWrapper.eq("order_id", r.getOrderId());
265
+                queryWrapper.eq("org_id", orgId);
266
+                r.setCertificateList(taOrgAccountCertificateMapper.selectList(queryWrapper));
267
+            });
268
+        }
269
+        responseBean.addSuccess(pg);
270
+        return responseBean;
271
+    }
272
+
273
+    @Override
274
+    public void exportCzOrderByCondition(LocalDate payStartTime, LocalDate payEndTime, String orderId, String tradeNo,
275
+                                         String wxOrderId, Boolean isOffline, String tradingStatus, Integer orgId, HttpServletResponse response) throws Exception {
276
+        response.setContentType("application/octet-stream");
277
+        response.setCharacterEncoding("utf-8");
278
+        List<AccountPayRecordExport> records = taOrgOrderMapper.exportCzOrderByCondition(payStartTime, payEndTime, orderId, tradeNo, wxOrderId, isOffline, tradingStatus, orgId);
279
+        String fileName = URLEncoder.encode("充值订单", "UTF-8");
280
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
281
+        EasyExcel.write(response.getOutputStream(), AccountPayRecordExport.class).sheet("充值订单").doWrite(records);
282
+    }
283
+
284
+    @Override
285
+    public ResponseBean listRefundOrderByCondition(Integer pageNum, Integer pageSize, LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, Integer orgId) {
286
+        ResponseBean responseBean = new ResponseBean();
287
+        IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
288
+        pg = taOrgOrderMapper.listRefundOrderByCondition(pg, refundStartTime, refundEndTime, orderId, auditStatus, orgId);
289
+
290
+        if (CollectionUtils.isNotEmpty(pg.getRecords())) {
291
+            pg.getRecords().stream().forEach(r -> {
292
+                QueryWrapper<TaOrgAccountCertificate> queryWrapper = new QueryWrapper<>();
293
+                queryWrapper.eq("order_id", r.getOrderId());
294
+                queryWrapper.eq("org_id", orgId);
295
+                r.setCertificateList(taOrgAccountCertificateMapper.selectList(queryWrapper));
296
+            });
297
+        }
298
+        responseBean.addSuccess(pg);
299
+        return responseBean;
300
+    }
301
+
302
+    @Override
303
+    public void exportRefundOrderByCondition(LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, Integer orgId, HttpServletResponse response) throws Exception {
304
+        response.setContentType("application/octet-stream");
305
+        response.setCharacterEncoding("utf-8");
306
+        List<AccountRefundRecordExport> records = taOrgOrderMapper.exportRefundOrderByCondition(refundStartTime, refundEndTime, orderId, auditStatus, orgId);
307
+        String fileName = URLEncoder.encode("退款订单", "UTF-8");
308
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
309
+        EasyExcel.write(response.getOutputStream(), AccountRefundRecordExport.class).sheet("退款订单").doWrite(records);
310
+    }
311
+
312
+    @Override
313
+    public ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize,String phone,String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId) {
314
+        ResponseBean responseBean = new ResponseBean();
315
+        IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
316
+        responseBean.addSuccess(taOrgOrderMapper.listRedPacketRecords(pg,phone,activityId,orderId, wxOrderId, tradeNo, status, orgId));
317
+        return responseBean;
318
+    }
319
+
139 320
     /**
140 321
      * 获取每个小程序独立的微信账户
322
+     *
141 323
      * @param orgId
142 324
      * @return
143 325
      */
144 326
     private WxConfig getWxConfig(Integer orgId) throws Exception {
145 327
         //根据orgId获取支付配置
146 328
         QueryWrapper<TaWxPayConfig> taWxPayConfigQueryWrapper = new QueryWrapper<>();
147
-        taWxPayConfigQueryWrapper.eq("org_id",orgId);
329
+        taWxPayConfigQueryWrapper.eq("org_id", orgId);
148 330
         TaWxPayConfig taWxPayConfig = taWxPayConfigMapper.selectOne(taWxPayConfigQueryWrapper);
149
-        if (null == taWxPayConfig){
331
+        if (null == taWxPayConfig) {
150 332
             throw new Exception("请先完善支付信息");
151 333
         }
152
-        log.info("正在配置orgId为{}的微信支付参数,商户号为{}",orgId,taWxPayConfig.getMchId());
334
+        log.info("正在配置orgId为{}的微信支付参数,商户号为{}", orgId, taWxPayConfig.getMchId());
153 335
         //把库里的值赋值给微信
154 336
         URL urlConet = new URL(taWxPayConfig.getApiPath());
155
-        HttpURLConnection con = (HttpURLConnection)urlConet.openConnection();
337
+        HttpURLConnection con = (HttpURLConnection) urlConet.openConnection();
156 338
         con.setRequestMethod("GET");
157 339
         con.setConnectTimeout(4 * 1000);
158
-        InputStream inStream = con .getInputStream();
340
+        InputStream inStream = con.getInputStream();
159 341
         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
160 342
         byte[] buffer = new byte[2048];
161 343
         int len = 0;
162
-        while( (len=inStream.read(buffer)) != -1 ){
344
+        while ((len = inStream.read(buffer)) != -1) {
163 345
             outStream.write(buffer, 0, len);
164 346
         }
165 347
         inStream.close();
@@ -203,7 +385,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
203 385
         int taOrgAccountBlockedUpdateResult = updateOrgAccountBlock(refundApplication);
204 386
 
205 387
         //插入凭证记录
206
-        if (CollectionUtils.isNotEmpty(refundApplication.getCertificateList())){
388
+        if (CollectionUtils.isNotEmpty(refundApplication.getCertificateList())) {
207 389
             List<TaOrgAccountCertificate> taOrgAccountCertificateList = assembleAccountCertificate(refundApplication.getOrgId(), taOrgAccount, taOrgAccountDetailedList.getSerialNo(), taOrgOrder.getOrderId(), userId, CommConstant.ITEM_TYPE_REFUND);
208 390
             taOrgAccountCertificateList.forEach(e -> {
209 391
                 taOrgAccountCertificateMapper.insert(e);
@@ -214,7 +396,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
214 396
                 taOrgOrderDetailInsertResult < 1 ||
215 397
                 taOrgAccountDetailedListInsertResult < 1 ||
216 398
                 taOrgRefundApplicationUpdateResult < 1 ||
217
-                taOrgAccountBlockedUpdateResult < 1){
399
+                taOrgAccountBlockedUpdateResult < 1) {
218 400
             responseBean.addError("订单退款失败");
219 401
             return responseBean;
220 402
         }
@@ -241,7 +423,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
241 423
         int taOrgRefundApplicationUpdateResult = taOrgRefundApplicationMapper.update(updateRefundApplication, taOrgRefundApplicationQueryWrapper);
242 424
 
243 425
         if (taOrgAccountBlockedUpdateResult < 1 ||
244
-                taOrgRefundApplicationUpdateResult < 1){
426
+                taOrgRefundApplicationUpdateResult < 1) {
245 427
             responseBean.addError("驳回失败");
246 428
             return responseBean;
247 429
         }
@@ -252,22 +434,23 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
252 434
 
253 435
     /**
254 436
      * 构造充值账户
437
+     *
255 438
      * @param orgId
256 439
      * @param refundApplication
257 440
      * @return
258 441
      */
259
-    private TaOrgAccount assembleRefundAccount(Integer orgId, TaOrgRefundApplication refundApplication, String operateType){
442
+    private TaOrgAccount assembleRefundAccount(Integer orgId, TaOrgRefundApplication refundApplication, String operateType) {
260 443
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(orgId);
261 444
 
262 445
         TaOrgAccount rechargeAccount = new TaOrgAccount();
263 446
         rechargeAccount.setAccountId(selectOneAccount.getAccountId());
264 447
 
265
-        if (CommConstant.ITEM_TYPE_REFUND.equals(operateType)){
448
+        if (CommConstant.ITEM_TYPE_REFUND.equals(operateType)) {
266 449
             rechargeAccount.setRealBalance(selectOneAccount.getRealBalance() - refundApplication.getAmount());
267 450
             rechargeAccount.setTotalRefund(selectOneAccount.getTotalRefund() + refundApplication.getAmount());
268 451
         }
269 452
 
270
-        if (CommConstant.ITEM_TYPE_REJECT.equals(operateType)){
453
+        if (CommConstant.ITEM_TYPE_REJECT.equals(operateType)) {
271 454
             rechargeAccount.setAvailableBalance(refundApplication.getAmount());
272 455
         }
273 456
 
@@ -278,12 +461,13 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
278 461
 
279 462
     /**
280 463
      * 构造订单
464
+     *
281 465
      * @param orgId
282 466
      * @param amount
283 467
      * @param userId
284 468
      * @return
285 469
      */
286
-    private TaOrgOrder assembleTaOrgOrder(Integer orgId, Integer amount, Integer userId){
470
+    private TaOrgOrder assembleTaOrgOrder(Integer orgId, Integer amount, Integer userId) {
287 471
 
288 472
         TaUser taUser = selectUserById(userId);
289 473
         TaOrgOrder taOrgOrder = new TaOrgOrder();
@@ -303,12 +487,13 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
303 487
 
304 488
     /**
305 489
      * 构造交订单详情信息
490
+     *
306 491
      * @param orderId
307 492
      * @param orgId
308 493
      * @param amount
309 494
      * @return
310 495
      */
311
-    private TaOrgOrderDetail assembleTaOrgOrderDetail(String orderId, Integer orgId, Integer amount){
496
+    private TaOrgOrderDetail assembleTaOrgOrderDetail(String orderId, Integer orgId, Integer amount) {
312 497
         TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
313 498
 
314 499
         taOrgOrderDetail.setOrderId(orderId);
@@ -321,11 +506,12 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
321 506
 
322 507
     /**
323 508
      * 构造消费流水记录
509
+     *
324 510
      * @param refundApplication
325 511
      * @param userId
326 512
      * @return
327 513
      */
328
-    private TaOrgAccountDetailedList assembleAccountDetailList(TaOrgRefundApplication refundApplication, Integer userId){
514
+    private TaOrgAccountDetailedList assembleAccountDetailList(TaOrgRefundApplication refundApplication, Integer userId) {
329 515
 
330 516
         TaUser taUser = selectUserById(userId);
331 517
         TaOrgAccount taOrgAccount = selectTaOrgAccountById(refundApplication.getOrgId());
@@ -346,6 +532,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
346 532
 
347 533
     /**
348 534
      * 构造交易凭证信息
535
+     *
349 536
      * @param orgId
350 537
      * @param taOrgAccount
351 538
      * @param accountSerialNo
@@ -353,7 +540,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
353 540
      * @param userId
354 541
      * @return
355 542
      */
356
-    public List<TaOrgAccountCertificate> assembleAccountCertificate(Integer orgId, TaOrgAccount taOrgAccount, Integer accountSerialNo, String orderId, Integer userId, String consumeType){
543
+    public List<TaOrgAccountCertificate> assembleAccountCertificate(Integer orgId, TaOrgAccount taOrgAccount, Integer accountSerialNo, String orderId, Integer userId, String consumeType) {
357 544
         TaUser taUser = selectUserById(userId);
358 545
         List<TaOrgAccountCertificate> taOrgAccountCertificateList = new ArrayList<>();
359 546
 
@@ -377,6 +564,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
377 564
 
378 565
     /**
379 566
      * 构造订单退款申请
567
+     *
380 568
      * @param userId
381 569
      * @return
382 570
      */
@@ -391,7 +579,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
391 579
         return taOrgRefundApplication;
392 580
     }
393 581
 
394
-    private Integer updateOrgAccountBlock(TaOrgRefundApplication refundApplication){
582
+    private Integer updateOrgAccountBlock(TaOrgRefundApplication refundApplication) {
395 583
         //更新账户冻结记录
396 584
         TaOrgAccountBlocked taOrgAccountBlocked = new TaOrgAccountBlocked();
397 585
         taOrgAccountBlocked.setStatus(CommConstant.STATUS_UNACCALIMED);
@@ -400,7 +588,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
400 588
         return taOrgAccountBlockedMapper.update(taOrgAccountBlocked, taOrgAccountBlockedQueryWrapper);
401 589
     }
402 590
 
403
-    public TaOrgAccount selectTaOrgAccountById(Integer orgId){
591
+    public TaOrgAccount selectTaOrgAccountById(Integer orgId) {
404 592
         QueryWrapper<TaOrgAccount> selectOneQuery = new QueryWrapper<>();
405 593
         selectOneQuery.eq("org_id", orgId);
406 594
         TaOrgAccount selectOneAccount = taOrgAccountMapper.selectOne(selectOneQuery);
@@ -409,10 +597,11 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
409 597
 
410 598
     /**
411 599
      * 获取操作人
600
+     *
412 601
      * @param userId
413 602
      * @return
414 603
      */
415
-    public TaUser selectUserById(Integer userId){
604
+    public TaUser selectUserById(Integer userId) {
416 605
         //获取操作人
417 606
         QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
418 607
         taUserQueryWrapper.eq("user_id", userId);

+ 13
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHistoryServiceImpl.java Zobrazit soubor

@@ -1,9 +1,11 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.huiju.estateagents.base.ResponseBean;
3 4
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4 5
 import com.huiju.estateagents.redpack.mapper.TaRedPacketHistoryMapper;
5 6
 import com.huiju.estateagents.redpack.service.ITaRedPacketHistoryService;
6 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
+import org.springframework.beans.factory.annotation.Autowired;
7 9
 import org.springframework.stereotype.Service;
8 10
 
9 11
 /**
@@ -17,4 +19,15 @@ import org.springframework.stereotype.Service;
17 19
 @Service
18 20
 public class TaRedPacketHistoryServiceImpl extends ServiceImpl<TaRedPacketHistoryMapper, TaRedPacketHistory> implements ITaRedPacketHistoryService {
19 21
 
22
+    @Autowired
23
+    private TaRedPacketHistoryMapper taRedPacketHistoryMapper;
24
+
25
+    @Override
26
+    public ResponseBean listHistoryByCondition(Integer pageNum, Integer pageSize, String activityId) {
27
+        ResponseBean responseBean = new ResponseBean();
28
+
29
+
30
+
31
+        return responseBean;
32
+    }
20 33
 }

+ 33
- 1
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketPersonServiceImpl.java Zobrazit soubor

@@ -1,11 +1,21 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.alibaba.excel.EasyExcel;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport;
3 9
 import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
4 10
 import com.huiju.estateagents.redpack.mapper.TaRedPacketPersonMapper;
5 11
 import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
6
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12
+import org.springframework.beans.factory.annotation.Autowired;
7 13
 import org.springframework.stereotype.Service;
8 14
 
15
+import javax.servlet.http.HttpServletResponse;
16
+import java.net.URLEncoder;
17
+import java.util.List;
18
+
9 19
 /**
10 20
  * <p>
11 21
  * 红包助力报名表  服务实现类
@@ -17,4 +27,26 @@ import org.springframework.stereotype.Service;
17 27
 @Service
18 28
 public class TaRedPacketPersonServiceImpl extends ServiceImpl<TaRedPacketPersonMapper, TaRedPacketPerson> implements ITaRedPacketPersonService {
19 29
 
30
+    @Autowired
31
+    private TaRedPacketPersonMapper taRedPacketPersonMapper;
32
+
33
+    @Override
34
+    public ResponseBean getRedPacketRankingList(Integer pageNum, Integer pageSize, String activityId, String phone, Integer orgId) {
35
+        ResponseBean responseBean = new ResponseBean();
36
+        IPage<TaRedPacketPerson> pg = new Page<>(pageNum, pageSize);
37
+        responseBean.addSuccess(taRedPacketPersonMapper.getRedPacketRankingList(pg, activityId, orgId, phone));
38
+        return responseBean;
39
+    }
40
+
41
+    @Override
42
+    public void exportRedPacketRankingList(String activityId, String phone, Integer orgId, HttpServletResponse response) throws Exception{
43
+        response.setContentType("application/octet-stream");
44
+        response.setCharacterEncoding("utf-8");
45
+        List<RedPacketRankingListExport> records = taRedPacketPersonMapper.exportRedPacketRankingList(activityId,orgId,phone);
46
+        String fileName = URLEncoder.encode("排行榜", "UTF-8");
47
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
48
+        EasyExcel.write(response.getOutputStream(), RedPacketRankingListExport.class).sheet("排行榜").doWrite(records);
49
+    }
50
+
51
+
20 52
 }

+ 65
- 26
src/main/java/com/huiju/estateagents/sample/controller/TaContactController.java Zobrazit soubor

@@ -58,10 +58,10 @@ public class TaContactController extends BaseController {
58 58
             //使用分页插件
59 59
             IPage<TaContact> pg = new Page<>(pageNum, pageSize);
60 60
             QueryWrapper<TaContact> queryWrapper = new QueryWrapper<>();
61
-            queryWrapper.like(!StringUtils.isEmpty(contactName),"contact_name", contactName);
62
-            queryWrapper.like(!StringUtils.isEmpty(telephone),"telephone", telephone);
63
-            queryWrapper.like(!StringUtils.isEmpty(phone),"phone", phone);
64
-            queryWrapper.like(!StringUtils.isEmpty(job),"job", job);
61
+            queryWrapper.like(!StringUtils.isEmpty(contactName), "contact_name", contactName);
62
+            queryWrapper.like(!StringUtils.isEmpty(telephone), "telephone", telephone);
63
+            queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
64
+            queryWrapper.like(!StringUtils.isEmpty(job), "job", job);
65 65
             queryWrapper.ne("status", CommConstant.STATUS_DELETE);
66 66
             queryWrapper.orderByDesc("order_no", "create_date");
67 67
 
@@ -102,14 +102,13 @@ public class TaContactController extends BaseController {
102 102
 
103 103
     /**
104 104
      * 批量删除
105
-     *
106 105
      */
107 106
     @ResponseBody
108 107
     @RequestMapping(value = "/channel/taContact/batchDelete", method = RequestMethod.PUT)
109 108
     public ResponseBean batchDelete(@RequestBody List<TaContact> taContactList, HttpServletRequest request) {
110 109
         ResponseBean responseBean = new ResponseBean();
111 110
         try {
112
-            responseBean = iTaContactService.batchDelete(taContactList,getSysUserId(request));
111
+            responseBean = iTaContactService.batchDelete(taContactList, getSysUserId(request));
113 112
             logger.info("TaContactController.batchDelete 返回结果:", JSONObject.toJSONString(responseBean));
114 113
         } catch (Exception e) {
115 114
             e.printStackTrace();
@@ -164,34 +163,35 @@ public class TaContactController extends BaseController {
164 163
 
165 164
     /**
166 165
      * 联系人列表
166
+     *
167 167
      * @param pageNum
168 168
      * @param pageSize
169 169
      * @return
170 170
      */
171
-    @RequestMapping(value="/channel/taContact",method= RequestMethod.GET)
172
-    public ResponseBean getContactList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
173
-                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
174
-                                       @RequestParam(value ="contactName",required = false) String contactName,
175
-                                       @RequestParam(value ="telephone",required = false) String telephone,
176
-                                       @RequestParam(value ="phone",required = false) String phone,
177
-                                       @RequestParam(value ="job",required = false) String job){
171
+    @RequestMapping(value = "/channel/taContact", method = RequestMethod.GET)
172
+    public ResponseBean getContactList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
173
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
174
+                                       @RequestParam(value = "contactName", required = false) String contactName,
175
+                                       @RequestParam(value = "telephone", required = false) String telephone,
176
+                                       @RequestParam(value = "phone", required = false) String phone,
177
+                                       @RequestParam(value = "job", required = false) String job) {
178 178
         ResponseBean responseBean = new ResponseBean();
179 179
         try {
180 180
             //使用分页插件
181 181
             IPage<TaContact> pg = new Page<>(pageNum, pageSize);
182 182
             QueryWrapper<TaContact> queryWrapper = new QueryWrapper<>();
183
-            queryWrapper.like(!StringUtils.isEmpty(contactName),"contact_name",contactName);
184
-            queryWrapper.like(!StringUtils.isEmpty(telephone),"telephone",telephone);
185
-            queryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
186
-            queryWrapper.like(!StringUtils.isEmpty(job),"job",job);
183
+            queryWrapper.like(!StringUtils.isEmpty(contactName), "contact_name", contactName);
184
+            queryWrapper.like(!StringUtils.isEmpty(telephone), "telephone", telephone);
185
+            queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
186
+            queryWrapper.like(!StringUtils.isEmpty(job), "job", job);
187 187
             queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
188
-            queryWrapper.orderByDesc("order_no","create_date");
188
+            queryWrapper.orderByDesc("order_no", "create_date");
189 189
 
190 190
             IPage<TaContact> result = iTaContactService.page(pg, queryWrapper);
191 191
             responseBean.addSuccess(result);
192
-        }catch (Exception e){
192
+        } catch (Exception e) {
193 193
             e.printStackTrace();
194
-            logger.error("taContactList -=- {}",e.toString());
194
+            logger.error("taContactList -=- {}", e.toString());
195 195
             responseBean.addError(e.getMessage());
196 196
         }
197 197
         return responseBean;
@@ -199,18 +199,57 @@ public class TaContactController extends BaseController {
199 199
 
200 200
     /**
201 201
      * 根据样例id查询联系人信息
202
-     * @param id  实体ID
202
+     *
203
+     * @param id 实体ID
203 204
      */
204
-    @RequestMapping(value="/admin/taContact/{id}",method= RequestMethod.GET)
205
+    @RequestMapping(value = "/admin/taContact/{id}", method = RequestMethod.GET)
205 206
     public ResponseBean taContactInfoBySampleId(@PathVariable String id,
206
-                                                @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
207
-                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
207
+                                                @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
208
+                                                @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
208 209
         ResponseBean responseBean = new ResponseBean();
209 210
         try {
210 211
             responseBean.addSuccess(iTaContactService.taContactInfoBySampleId(id, pageNum, pageSize));
211
-        }catch (Exception e){
212
+        } catch (Exception e) {
212 213
             e.printStackTrace();
213
-            logger.error("taContactDelete -=- {}",e.toString());
214
+            logger.error("taContactDelete -=- {}", e.toString());
215
+            responseBean.addError(e.getMessage());
216
+        }
217
+        return responseBean;
218
+    }
219
+
220
+    /**
221
+     * 条件查询联系人列表
222
+     *
223
+     * @param pageNum
224
+     * @param pageSize
225
+     * @param contactName
226
+     * @param telephone
227
+     * @param phone
228
+     * @param job
229
+     * @return
230
+     */
231
+    @RequestMapping(value = "/admin/listContactByCondition", method = RequestMethod.GET)
232
+    public ResponseBean listContactByConditionForAdmin(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
233
+                                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
234
+                                                       String contactName, String telephone, String phone, String job, String contactType) {
235
+        ResponseBean responseBean = new ResponseBean();
236
+        try {
237
+            //使用分页插件
238
+            IPage<TaContact> pg = new Page<>(pageNum, pageSize);
239
+            QueryWrapper<TaContact> queryWrapper = new QueryWrapper<>();
240
+            queryWrapper.like(!StringUtils.isEmpty(contactName), "contact_name", contactName);
241
+            queryWrapper.like(!StringUtils.isEmpty(telephone), "telephone", telephone);
242
+            queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
243
+            queryWrapper.like(!StringUtils.isEmpty(job), "job", job);
244
+            queryWrapper.like(!StringUtils.isEmpty(contactType), "contact_type", contactType);
245
+            queryWrapper.ne("status", CommConstant.STATUS_DELETE);
246
+            queryWrapper.orderByDesc("order_no", "create_date");
247
+
248
+            IPage<TaContact> result = iTaContactService.page(pg, queryWrapper);
249
+            responseBean.addSuccess(result);
250
+        } catch (Exception e) {
251
+            e.printStackTrace();
252
+            logger.error("taContactList -=- {}", e.toString());
214 253
             responseBean.addError(e.getMessage());
215 254
         }
216 255
         return responseBean;

+ 167
- 1
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Zobrazit soubor

@@ -86,11 +86,177 @@
86 86
         GROUP BY t.order_id
87 87
     </select>
88 88
 
89
+    <select id="listCzOrderByCondition" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
90
+        SELECT
91
+          *
92
+        FROM
93
+          ta_org_order t
94
+        INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
95
+          AND t2.item_type = 'recharge'
96
+        WHERE
97
+            t.org_id = #{orgId}
98
+            AND t.`status` >- 1
99
+            <if test = " orderId != null and orderId != ''">
100
+                AND t.order_id like concat( '%',#{orderId},'%')
101
+            </if>
102
+            <if test = " tradeNo != null and tradeNo != ''">
103
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
104
+            </if>
105
+            <if test = " wxOrderId != null and wxOrderId != ''">
106
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
107
+            </if>
108
+            <if test = " isOffline != null">
109
+                AND t.is_offline = #{isOffline}
110
+            </if>
111
+            <if test = " payStartTime != null ">
112
+                AND t.pay_date &gt;= #{payStartTime}
113
+            </if>
114
+            <if test = " payStartTime != null and">
115
+                AND t.pay_date &lt;= #{payStartTime}
116
+            </if>
117
+            <if test = " tradingStatus != null">
118
+                AND t.trading_status = #{tradingStatus}
119
+            </if>
120
+        ORDER BY
121
+        t.create_date DESC
122
+    </select>
123
+
124
+    <select id="exportCzOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountPayRecordExport">
125
+        SELECT
126
+            t.order_id,
127
+            t.amount,
128
+            ( CASE t.is_offline WHEN TRUE THEN '运营手工充值' ELSE '业务线上充值' END ) isOffline,
129
+            t.create_date,
130
+            ( CASE t.trading_status WHEN 'success' THEN '已支付' WHEN 'processing' THEN '待支付' ELSE '已超时' END ) tradingStatus,
131
+            t.pay_date
132
+        FROM
133
+          ta_org_order t
134
+        INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'recharge'
135
+        WHERE
136
+            t.org_id = #{orgId}
137
+            AND t.`status` >- 1
138
+            <if test = " orderId != null and orderId != ''">
139
+                AND t.order_id like concat( '%',#{orderId},'%')
140
+            </if>
141
+            <if test = " tradeNo != null and tradeNo != ''">
142
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
143
+            </if>
144
+            <if test = " wxOrderId != null and wxOrderId != ''">
145
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
146
+            </if>
147
+            <if test = " isOffline != null">
148
+                AND t.is_offline = #{isOffline}
149
+            </if>
150
+            <if test = " payStartTime != null ">
151
+                AND t.pay_date &gt;= #{payStartTime}
152
+            </if>
153
+            <if test = " payStartTime != null and">
154
+                AND t.pay_date &lt;= #{payStartTime}
155
+            </if>
156
+            <if test = " tradingStatus != null">
157
+                AND t.trading_status = #{tradingStatus}
158
+            </if>
159
+        ORDER BY
160
+          t.create_date DESC
161
+    </select>
162
+
163
+    <select id="listRefundOrderByCondition" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
164
+        SELECT
165
+            t.*,
166
+            t3.audit_status,
167
+            t3.audit_result,
168
+        FROM
169
+            ta_org_order t
170
+        INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
171
+        LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
172
+        WHERE
173
+            t.org_id = #{orgId}
174
+            AND t.`status` > - 1
175
+            <if test=" orderId != null and orderId != ''">
176
+                AND t.order_id like concat( '%',#{orderId},'%')
177
+            </if>
178
+            <if test=" auditStatus != null and auditStatus != ''">
179
+                AND t3.audit_status = #{auditStatus}
180
+            </if>
181
+            <if test=" refundStartTime!= null">
182
+                AND t.create_date &gt;= #{refundStartTime}
183
+            </if>
184
+            <if test=" refundEndTime != null">
185
+                AND t.create_date &lt;= #{refundEndTime}
186
+            </if>
187
+        ORDER BY
188
+            t.create_date DESC
189
+    </select>
190
+
191
+    <select id="exportRefundOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport">
192
+        SELECT
193
+
194
+        FROM            t.order_id,
195
+        t.amount,
196
+        t.create_date,
197
+        ( CASE t3.audit_status WHEN 'agree' THEN '已退款' WHEN 'unagree' THEN '已驳回' ELSE '已申请' END ) tradingStatus,
198
+        t3.audit_result
199
+            ta_org_order t
200
+        INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
201
+        LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
202
+        WHERE
203
+            t.org_id = #{orgId}
204
+            AND t.`status` > - 1
205
+            <if test=" orderId != null and orderId != ''">
206
+                AND t.order_id like concat( '%',#{orderId},'%')
207
+            </if>
208
+            <if test=" auditStatus != null and auditStatus != ''">
209
+                AND t3.audit_status = #{auditStatus}
210
+            </if>
211
+            <if test=" refundStartTime!= null">
212
+                AND t.create_date &gt;= #{refundStartTime}
213
+            </if>
214
+            <if test=" refundEndTime != null">
215
+                AND t.create_date &lt;= #{refundEndTime}
216
+            </if>
217
+        ORDER BY
218
+        t.create_date DESC
219
+    </select>
220
+
89 221
     <select id="countTotalRechargeAmount" resultType="java.lang.Integer">
90 222
         select sum(t.amount) as amount from ta_org_order t
91 223
         left join ta_org_order_detail a on t.order_id = a.order_id where t.org_id = #{orgId}
92 224
         and a.item_type = 'recharge'
93 225
     </select>
94 226
 
95
-
227
+    <select id="listRedPacketRecords" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
228
+        SELECT
229
+            t.*,
230
+            t2.amount detailAmount,
231
+            t3.phone,
232
+            ifNull( t3.NAME, t3.nickname ) nickname,
233
+            t3.avatarurl
234
+        FROM
235
+            ta_org_order t
236
+            INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
237
+            LEFT JOIN ta_person t3 ON t2.receiver_id = t3.person_id
238
+        WHERE
239
+            t.org_id = #{orgId}
240
+            AND t2.target_id = #{activityId}
241
+            AND t2.target_type = 'redPacket'
242
+            AND t2.item_type = 'redPacket'
243
+            AND t.`status` >- 1
244
+            <if test = " orderId != null and orderId != ''">
245
+                AND t.order_id like concat( '%',#{orderId},'%')
246
+            </if>
247
+            <if test = " tradeNo != null and tradeNo != ''">
248
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
249
+            </if>
250
+            <if test = " wxOrderId != null and wxOrderId != ''">
251
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
252
+            </if>
253
+            <if test="status != null">
254
+                AND t.status = #{status}
255
+            </if>
256
+            <if test = "phone != null and phone != ''">
257
+                AND t3.phone like concat ('%',phone,'%')
258
+            </if>
259
+        ORDER BY
260
+            t.create_date DESC
261
+    </select>
96 262
 </mapper>

+ 11
- 0
src/main/resources/mapper/redpack/TaOrgRefundApplicationMapper.xml Zobrazit soubor

@@ -2,4 +2,15 @@
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.TaOrgRefundApplicationMapper">
4 4
 
5
+    <select id="countRefundBlockedAmount" resultType="java.lang.Integer">
6
+
7
+        SELECT
8
+            sum( t.amount )
9
+        FROM
10
+            ta_org_refund_application t
11
+        WHERE
12
+            t.org_id = #{orgId}
13
+            AND t.`status` = 0
14
+    </select>
15
+
5 16
 </mapper>

+ 2
- 0
src/main/resources/mapper/redpack/TaRedPacketHistoryMapper.xml Zobrazit soubor

@@ -2,4 +2,6 @@
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.TaRedPacketHistoryMapper">
4 4
 
5
+
6
+
5 7
 </mapper>

+ 45
- 0
src/main/resources/mapper/redpack/TaRedPacketPersonMapper.xml Zobrazit soubor

@@ -2,4 +2,49 @@
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.TaRedPacketPersonMapper">
4 4
 
5
+    <select id="getRedPacketRankingList" resultType="com.huiju.estateagents.redpack.entity.TaRedPacketPerson">
6
+        SELECT
7
+            t.*,
8
+            t2.phone,
9
+            t2.NAME,
10
+            t2.nickname nickname,
11
+            t2.avatarurl
12
+        FROM
13
+            ta_red_packet_person t
14
+            LEFT JOIN ta_person t2 ON t.miniapp_person_id = t2.person_id
15
+        WHERE
16
+            t.activity_id = #{activityId}
17
+            AND t.org_id = #{orgId}
18
+            AND t.is_signed_up = TRUE
19
+            <if test = "phone != null and phone != ''">
20
+                AND t2.phone like concat('%',#{phone},'%')
21
+            </if>
22
+        ORDER BY
23
+            t.votes DESC
24
+    </select>
25
+
26
+    <select id="exportRedPacketRankingList" resultType="com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport">
27
+        SELECT
28
+            t.votes,
29
+            t.crate_date,
30
+            t2.phone,
31
+            t2.NAME,
32
+            t2.nickname nickname,
33
+            t2.avatarurl
34
+        FROM
35
+            ta_red_packet_person t
36
+            LEFT JOIN ta_person t2 ON t.miniapp_person_id = t2.person_id
37
+        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>
44
+        ORDER BY
45
+            t.votes DESC
46
+    </select>
47
+
48
+
49
+
5 50
 </mapper>