Browse Source

新需求

魏超 4 years ago
parent
commit
628a9e734e

+ 10
- 0
src/main/java/com/huiju/estateagents/common/NumberUtils.java View File

@@ -1,4 +1,14 @@
1 1
 package com.huiju.estateagents.common;
2 2
 
3
+import java.math.BigDecimal;
4
+
3 5
 public class NumberUtils {
6
+    /**
7
+     * 元转分(乘以100)
8
+     * @param amount 金额 分(支持大数字,16位以上)
9
+     * @return
10
+     */
11
+    public static Integer yuanToFen(String amount){
12
+        return new BigDecimal(amount).multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
13
+    }
4 14
 }

+ 61
- 16
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java View File

@@ -101,37 +101,82 @@ public class TaOrgOrderController extends BaseController {
101 101
     }
102 102
 
103 103
     /**
104
-     * 订单导出
104
+     * 充值订单导出
105 105
      *
106 106
      * @return
107 107
      */
108
-    @GetMapping(value = "/channel/taOrgOrder/orgOrderExport")
109
-    public void selectActivityVisitPersonNumExport(@RequestParam(value = "orderType", required = false) String orderType,
110
-                                                   @RequestParam(value = "orgId", required = false) Integer orgId,
111
-                                                   @RequestParam(value = "tradeNo", required = false) String tradeNo,
108
+    @RequestMapping(value = "/channel/taOrgOrder/rechargeOrderExport")
109
+    public void rechargeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
112 110
                                                    @RequestParam(value = "isOffline", required = false) Integer isOffline,
113 111
                                                    @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
114
-                                                   @RequestParam(value = "receivePhone", required = false) String receivePhone,
115
-                                                   @RequestParam(value = "itemType", required = false) String itemType,
116 112
                                                    @RequestParam(value = "miniAppName", required = false) String miniAppName,
117 113
                                                    @RequestParam(value = "startDate", required = false) String startDate,
118 114
                                                    @RequestParam(value = "endDate", required = false) String endDate,
115
+                                                   @RequestParam(value = "orderType", required = false) String orderType,
119 116
                                                    HttpServletRequest request, HttpServletResponse response) throws IOException {
120 117
         response.setContentType("application/octet-stream");
121 118
         response.setCharacterEncoding("utf-8");
122 119
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
123
-        ExcelWriter excelWriter = null;
124
-        if (CommConstant.ITEM_TYPE_RECHARGE.equals(orderType)) {
125
-            excelWriter = EasyExcel.write(response.getOutputStream(), RechargeOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
126
-        } else if (CommConstant.ITEM_TYPE_REFUND.equals(orderType)) {
127
-            excelWriter = EasyExcel.write(response.getOutputStream(), RefundOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
128
-        } else {
129
-            excelWriter = EasyExcel.write(response.getOutputStream(), ConsumeOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
130
-        }
120
+
121
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), RechargeOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
122
+        WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
123
+
124
+        // 设置 sheet, 同一个sheet只需要设置一次
125
+        List<RechargeOrder> data = iTaOrgOrderService.rechargeListByConditionExport(orderType, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName);
126
+        excelWriter.write(data, writeSheet);
127
+        // finish 会帮忙关闭流
128
+        excelWriter.finish();
129
+    }
130
+
131
+    /**
132
+     * 消费订单导出
133
+     *
134
+     * @return
135
+     */
136
+    @RequestMapping(value = "/channel/taOrgOrder/consumeOrderExport")
137
+    public void consumeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
138
+                                   @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
139
+                                   @RequestParam(value = "receivePhone", required = false) String receivePhone,
140
+                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
141
+                                   @RequestParam(value = "startDate", required = false) String startDate,
142
+                                   @RequestParam(value = "endDate", required = false) String endDate,
143
+                                   @RequestParam(value = "orderType", required = false) String orderType,
144
+                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
145
+        response.setContentType("application/octet-stream");
146
+        response.setCharacterEncoding("utf-8");
147
+        response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
148
+
149
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), RechargeOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
150
+        WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
131 151
 
132 152
         // 设置 sheet, 同一个sheet只需要设置一次
153
+        List<ConsumeOrder> data = iTaOrgOrderService.consumeListByConditionExport(orderType, tradeNo, receivePhone, tradingStatus, startDate, endDate, miniAppName);
154
+        excelWriter.write(data, writeSheet);
155
+        // finish 会帮忙关闭流
156
+        excelWriter.finish();
157
+    }
158
+
159
+    /**
160
+     * 退款订单导出
161
+     *
162
+     * @return
163
+     */
164
+    @RequestMapping(value = "/channel/taOrgOrder/refundOrderExport")
165
+    public void refundOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
166
+                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
167
+                                   @RequestParam(value = "startDate", required = false) String startDate,
168
+                                   @RequestParam(value = "endDate", required = false) String endDate,
169
+                                   @RequestParam(value = "orderType", required = false) String orderType,
170
+                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
171
+        response.setContentType("application/octet-stream");
172
+        response.setCharacterEncoding("utf-8");
173
+        response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
174
+
175
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), RefundOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
133 176
         WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
134
-        List<TaOrgOrder> data = iTaOrgOrderService.listByConditionExport(orderType, orgId, tradeNo, isOffline, tradingStatus, receivePhone, itemType, startDate, endDate, miniAppName);
177
+
178
+        // 设置 sheet, 同一个sheet只需要设置一次
179
+        List<RefundOrder> data = iTaOrgOrderService.refundListByConditionExport(orderType, tradeNo, startDate, endDate, miniAppName);
135 180
         excelWriter.write(data, writeSheet);
136 181
         // finish 会帮忙关闭流
137 182
         excelWriter.finish();

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/entity/ConsumeOrder.java View File

@@ -42,7 +42,7 @@ public class ConsumeOrder {
42 42
      */
43 43
     @ColumnWidth(15)
44 44
     @ExcelProperty(value = "消费下单时间", index = 5)
45
-    private LocalDateTime createDate;
45
+    private String createDate;
46 46
 
47 47
     /**
48 48
      * 接收人手机号

+ 2
- 2
src/main/java/com/huiju/estateagents/redpack/entity/RechargeOrder.java View File

@@ -42,7 +42,7 @@ public class RechargeOrder {
42 42
      */
43 43
     @ColumnWidth(15)
44 44
     @ExcelProperty(value = "下单时间", index = 4)
45
-    private LocalDateTime createDate;
45
+    private String createDate;
46 46
 
47 47
     /**
48 48
      * 充值状态
@@ -56,5 +56,5 @@ public class RechargeOrder {
56 56
      */
57 57
     @ColumnWidth(15)
58 58
     @ExcelProperty(value = "支付时间", index = 6)
59
-    private LocalDateTime payDate;
59
+    private String payDate;
60 60
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/entity/RefundOrder.java View File

@@ -35,7 +35,7 @@ public class RefundOrder {
35 35
      */
36 36
     @ColumnWidth(15)
37 37
     @ExcelProperty(value = "退款创建时间", index = 3)
38
-    private LocalDateTime createDate;
38
+    private String createDate;
39 39
 
40 40
     /**
41 41
      * 退款状态

+ 2
- 2
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccount.java View File

@@ -89,13 +89,13 @@ public class TaOrgAccount implements Serializable {
89 89
      * 充值金额
90 90
      */
91 91
     @TableField(exist = false)
92
-    private Integer rechargeAmount;
92
+    private String rechargeAmount;
93 93
 
94 94
     /**
95 95
      * 退费金额
96 96
      */
97 97
     @TableField(exist = false)
98
-    private Integer refundAmount;
98
+    private String refundAmount;
99 99
 
100 100
     /**
101 101
      * 退款冻结金额

+ 28
- 20
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java View File

@@ -11,6 +11,9 @@ import org.apache.ibatis.annotations.Param;
11 11
 
12 12
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
13 13
 import com.baomidou.mybatisplus.core.metadata.IPage;
14
+import com.huiju.estateagents.redpack.entity.ConsumeOrder;
15
+import com.huiju.estateagents.redpack.entity.RechargeOrder;
16
+import com.huiju.estateagents.redpack.entity.RefundOrder;
14 17
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
15 18
 
16 19
 /**
@@ -63,34 +66,39 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
63 66
     /**
64 67
      * 充值退款订单导出
65 68
      *
66
-     * @param orderType
67 69
      * @return
68 70
      */
69
-    List<TaOrgOrder> orderListByRechargeOrRefundExport(@Param("orderType") String orderType,
70
-                                                       @Param("orgId") Integer orgId,
71
-                                                       @Param("tradeNo") String tradeNo,
72
-                                                       @Param("isOffline") Integer isOffline,
73
-                                                       @Param("tradingStatus") String tradingStatus,
74
-                                                       @Param("startDate") String startDate,
75
-                                                       @Param("endDate") String endDate,
76
-                                                       @Param("miniAppName") String miniAppName);
71
+    List<RechargeOrder> orderListByRechargeOrRefundExport(@Param("itemType") String itemType,
72
+                                                          @Param("tradeNo") String tradeNo,
73
+                                                          @Param("isOffline") Integer isOffline,
74
+                                                          @Param("tradingStatus") String tradingStatus,
75
+                                                          @Param("startDate") String startDate,
76
+                                                          @Param("endDate") String endDate,
77
+                                                          @Param("miniAppName") String miniAppName);
77 78
 
78 79
     /**
79 80
      * 消费订单导出
80 81
      *
81
-     * @param orderType
82
-     * @param orgId
83 82
      * @return
84 83
      */
85
-    List<TaOrgOrder> orderListByConsumeExport(@Param("orderType") String orderType,
86
-                                              @Param("orgId") Integer orgId,
87
-                                              @Param("tradeNo") String tradeNo,
88
-                                              @Param("tradingStatus") String tradingStatus,
89
-                                              @Param("receivePhone") String receivePhone,
90
-                                              @Param("itemType") String itemType,
91
-                                              @Param("startDate") String startDate,
92
-                                              @Param("endDate") String endDate,
93
-                                              @Param("miniAppName") String miniAppName);
84
+    List<ConsumeOrder> orderListByConsumeExport(@Param("itemType") String itemType,
85
+                                                @Param("tradeNo") String tradeNo,
86
+                                                @Param("receivePhone") String receivePhone,
87
+                                                @Param("tradingStatus") String tradingStatus,
88
+                                                @Param("startDate") String startDate,
89
+                                                @Param("endDate") String endDate,
90
+                                                @Param("miniAppName") String miniAppName);
91
+
92
+    /**
93
+     * 退款订单导出
94
+     *
95
+     * @return
96
+     */
97
+    List<RefundOrder> orderListByRefundExport(@Param("itemType") String itemType,
98
+                                               @Param("tradeNo") String tradeNo,
99
+                                               @Param("startDate") String startDate,
100
+                                               @Param("endDate") String endDate,
101
+                                               @Param("miniAppName") String miniAppName);
94 102
 
95 103
     /**
96 104
      * 获取充值订单列表

+ 20
- 3
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java View File

@@ -4,6 +4,9 @@ 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 6
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
7
+import com.huiju.estateagents.redpack.entity.ConsumeOrder;
8
+import com.huiju.estateagents.redpack.entity.RechargeOrder;
9
+import com.huiju.estateagents.redpack.entity.RefundOrder;
7 10
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
8 11
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
9 12
 
@@ -51,12 +54,26 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
51 54
     IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg, String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, String startDate, String endDate, String miniAppName);
52 55
 
53 56
     /**
54
-     * 订单列表导出
57
+     * 充值订单列表导出
58
+     *
59
+     * @return
60
+     */
61
+    List<RechargeOrder> rechargeListByConditionExport(String itemType, String tradeNo, Integer isOffline, String tradingStatus, String startDate, String endDate, String miniAppName);
62
+
63
+    /**
64
+     * 消费订单列表导出
55 65
      *
56
-     * @param orderType
57 66
      * @return
58 67
      */
59
-    List<TaOrgOrder> listByConditionExport(String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, String startDate, String endDate, String miniAppName);
68
+    List<ConsumeOrder> consumeListByConditionExport(String itemType, String tradeNo, String receivePhone, String tradingStatus, String startDate, String endDate, String miniAppName);
69
+
70
+    /**
71
+     * 退款订单列表导出
72
+     *
73
+     * @return
74
+     */
75
+    List<RefundOrder> refundListByConditionExport(String itemType, String tradeNo, String startDate, String endDate, String miniAppName);
76
+
60 77
 
61 78
     /**
62 79
      * 微信支付

+ 30
- 24
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgAccountServiceImpl.java View File

@@ -7,6 +7,7 @@ import java.util.List;
7 7
 
8 8
 import com.huiju.estateagents.center.sysUser.entity.SysUser;
9 9
 import com.huiju.estateagents.center.sysUser.mapper.SysUserMapper;
10
+import com.huiju.estateagents.common.NumberUtils;
10 11
 import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
11 12
 import org.apache.commons.collections.CollectionUtils;
12 13
 import org.apache.poi.ss.formula.functions.T;
@@ -130,10 +131,13 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
130 131
             return responseBean;
131 132
         }
132 133
 
133
-//        TaContact taContact = selectSmsContactUser();
134
-//        String[] smsParams = {"业务平台充值成功", taOrgOrder.getTradeNo() + taOrgAccount.getMiniappName()};
135
-//        // 短信发送
136
-//        sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_RECHARGE, smsParams);
134
+//        List<TaContact> taContacts = selectSmsContactUser();
135
+//        if (CollectionUtils.isNotEmpty(taContacts)){
136
+//            TaContact taContact = taContacts.get(0);
137
+//            String[] smsParams = {"业务平台充值成功", taOrgOrder.getTradeNo() + taOrgAccount.getMiniappName()};
138
+//            // 短信发送
139
+//            sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_RECHARGE, smsParams);
140
+//        }
137 141
 
138 142
         return responseBean;
139 143
     }
@@ -145,7 +149,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
145 149
 
146 150
         //更新系统账户余额
147 151
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(accountId);
148
-        if (selectOneAccount.getAvailableBalance() < taOrgAccount.getRefundAmount()) {
152
+        if (selectOneAccount.getAvailableBalance() < NumberUtils.yuanToFen(taOrgAccount.getRefundAmount())) {
149 153
             responseBean.addError("退款额不能大于余额");
150 154
             return responseBean;
151 155
         }
@@ -180,10 +184,13 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
180 184
             return responseBean;
181 185
         }
182 186
 
183
-        TaContact taContact = selectSmsContactUser();
184
-        String[] smsParams = {"业务平台退款申请", taOrgOrder.getTradeNo() + taOrgAccount.getMiniappName()};
185
-        // 短信发送
186
-        sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_REFUND, smsParams);
187
+//        List<TaContact> taContacts = selectSmsContactUser();
188
+//        if (CollectionUtils.isNotEmpty(taContacts)){
189
+//            TaContact taContact = taContacts.get(0);
190
+//            String[] smsParams = {"业务平台退款申请", taOrgOrder.getTradeNo() + taOrgAccount.getMiniappName()};
191
+//            // 短信发送
192
+//            sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_REFUND, smsParams);
193
+//        }
187 194
 
188 195
         return responseBean;
189 196
     }
@@ -237,8 +244,8 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
237 244
 
238 245
         TaOrgAccount rechargeAccount = new TaOrgAccount();
239 246
         rechargeAccount.setAccountId(accountId);
240
-        rechargeAccount.setAvailableBalance(selectOneAccount.getAvailableBalance() + taOrgAccount.getRechargeAmount());
241
-        rechargeAccount.setRealBalance(selectOneAccount.getRealBalance() + taOrgAccount.getRechargeAmount());
247
+        rechargeAccount.setAvailableBalance(selectOneAccount.getAvailableBalance() + NumberUtils.yuanToFen(taOrgAccount.getRechargeAmount()));
248
+        rechargeAccount.setRealBalance(selectOneAccount.getRealBalance() + NumberUtils.yuanToFen(taOrgAccount.getRechargeAmount()));
242 249
         rechargeAccount.setModifyDate(LocalDateTime.now());
243 250
 
244 251
         return rechargeAccount;
@@ -284,17 +291,17 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
284 291
      * @param userId
285 292
      * @return
286 293
      */
287
-    private TaOrgOrder assembleTaOrgOrder(Integer orgId, Integer amount, Integer userId, String consumeType) {
294
+    private TaOrgOrder assembleTaOrgOrder(Integer orgId, String amount, Integer userId, String consumeType) {
288 295
 
289 296
         SysUser taUser = selectUserById(userId);
290 297
         TaOrgOrder taOrgOrder = new TaOrgOrder();
291 298
         taOrgOrder.setOrgId(orgId);
292 299
         taOrgOrder.setTradeNo(CommonUtils.generateTradeNo(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? CommConstant.RECHARGE : CommConstant.REFUND));
293
-        taOrgOrder.setAmount(amount);
300
+        taOrgOrder.setAmount(NumberUtils.yuanToFen(amount));
294 301
         taOrgOrder.setCreateDate(LocalDateTime.now());
295 302
         taOrgOrder.setExpiryDate(LocalDateTime.now());
296 303
         taOrgOrder.setRemark(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? "线下账户缴费" : "线下账户退费");
297
-        taOrgOrder.setTradingStatus(String.valueOf(CommConstant.STATUS_NORMAL));
304
+        taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_SUCCESS);
298 305
         taOrgOrder.setIsOffline(true);
299 306
         taOrgOrder.setUserId(userId);
300 307
         taOrgOrder.setUserName(taUser.getUserName());
@@ -310,13 +317,13 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
310 317
      * @param amount
311 318
      * @return
312 319
      */
313
-    private TaOrgOrderDetail assembleTaOrgOrderDetail(String orderId, Integer orgId, Integer amount, String consumeType) {
320
+    private TaOrgOrderDetail assembleTaOrgOrderDetail(String orderId, Integer orgId, String amount, String consumeType) {
314 321
         TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
315 322
 
316 323
         taOrgOrderDetail.setOrderId(orderId);
317 324
         taOrgOrderDetail.setOrgId(orgId);
318 325
         taOrgOrderDetail.setItemType(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? CommConstant.ITEM_TYPE_RECHARGE : CommConstant.ITEM_TYPE_REFUND);
319
-        taOrgOrderDetail.setAmount(amount);
326
+        taOrgOrderDetail.setAmount(NumberUtils.yuanToFen(amount));
320 327
 
321 328
         return taOrgOrderDetail;
322 329
     }
@@ -336,7 +343,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
336 343
         TaOrgAccountDetailedList taOrgAccountDetailed = new TaOrgAccountDetailedList();
337 344
         taOrgAccountDetailed.setAccountId(accountId);
338 345
         taOrgAccountDetailed.setOrgId(orgId);
339
-        taOrgAccountDetailed.setAmount(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? taOrgAccount.getRechargeAmount() : taOrgAccount.getRefundAmount());
346
+        taOrgAccountDetailed.setAmount(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? NumberUtils.yuanToFen(taOrgAccount.getRechargeAmount()) : NumberUtils.yuanToFen(taOrgAccount.getRefundAmount()));
340 347
         //1收入,-1支出
341 348
         taOrgAccountDetailed.setSignType(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? CommConstant.STATUS_NORMAL : CommConstant.STATUS_DELETE);
342 349
         taOrgAccountDetailed.setRemark(CommConstant.ITEM_TYPE_RECHARGE.equals(consumeType) ? "线下账户缴费" : "线下账户退费");
@@ -359,9 +366,9 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
359 366
 
360 367
         TaOrgAccount refundAccount = new TaOrgAccount();
361 368
         refundAccount.setAccountId(accountId);
362
-        refundAccount.setAvailableBalance(selectOneAccount.getAvailableBalance() - taOrgAccount.getRefundAmount());
363
-        refundAccount.setRealBalance(selectOneAccount.getRealBalance() - taOrgAccount.getRefundAmount());
364
-        refundAccount.setTotalRefund(taOrgAccount.getRefundAmount() + selectOneAccount.getTotalRefund());
369
+        refundAccount.setAvailableBalance(selectOneAccount.getAvailableBalance() - NumberUtils.yuanToFen(taOrgAccount.getRefundAmount()));
370
+        refundAccount.setRealBalance(selectOneAccount.getRealBalance() - NumberUtils.yuanToFen(taOrgAccount.getRefundAmount()));
371
+        refundAccount.setTotalRefund(NumberUtils.yuanToFen(taOrgAccount.getRefundAmount()) + selectOneAccount.getTotalRefund());
365 372
         refundAccount.setModifyDate(LocalDateTime.now());
366 373
 
367 374
         return refundAccount;
@@ -407,11 +414,10 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
407 414
         return success ? null : "短信发送失败";
408 415
     }
409 416
 
410
-    public TaContact selectSmsContactUser(){
411
-        //获取操作人
417
+    public List<TaContact> selectSmsContactUser(){
412 418
         QueryWrapper<TaContact> taContactQueryWrapper = new QueryWrapper<>();
413 419
         taContactQueryWrapper.eq("contact_Type", CommConstant.FINANCE);
414
-        TaContact taContact = taContactMapper.selectOne(taContactQueryWrapper);
415
-        return taContact;
420
+        List<TaContact> taContacts = taContactMapper.selectList(taContactQueryWrapper);
421
+        return taContacts;
416 422
     }
417 423
 }

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

@@ -109,17 +109,21 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
109 109
     }
110 110
 
111 111
     @Override
112
-    public List<TaOrgOrder> listByConditionExport(String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, String startDate, String endDate, String miniAppName) {
113
-        List<TaOrgOrder> result = new ArrayList<>();
114
-        if (CommConstant.ITEM_TYPE_RECHARGE.equals(orderType) || CommConstant.ITEM_TYPE_REFUND.equals(orderType)) {
115
-            result = taOrgOrderMapper.orderListByRechargeOrRefundExport(orderType, orgId, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName);
116
-            return result;
117
-        } else if (CommConstant.ITEM_TYPE_REDPACKAGE.equals(orderType)) {
118
-            result = taOrgOrderMapper.orderListByConsumeExport(orderType, orgId, tradeNo, tradingStatus, receivePhone, itemType, startDate, endDate, miniAppName);
119
-            return result;
120
-        } else {
121
-            return result;
122
-        }
112
+    public List<RechargeOrder> rechargeListByConditionExport(String itemType, String tradeNo, Integer isOffline, String tradingStatus, String startDate, String endDate, String miniAppName) {
113
+        List<RechargeOrder> result = taOrgOrderMapper.orderListByRechargeOrRefundExport(itemType, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName);
114
+        return result;
115
+    }
116
+
117
+    @Override
118
+    public List<ConsumeOrder> consumeListByConditionExport(String itemType, String tradeNo, String receivePhone, String tradingStatus, String startDate, String endDate, String miniAppName) {
119
+        List<ConsumeOrder> result = taOrgOrderMapper.orderListByConsumeExport(itemType, tradeNo, receivePhone, tradingStatus, startDate, endDate, miniAppName);
120
+        return result;
121
+    }
122
+
123
+    @Override
124
+    public List<RefundOrder> refundListByConditionExport(String itemType, String tradeNo, String startDate, String endDate, String miniAppName) {
125
+        List<RefundOrder> result = taOrgOrderMapper.orderListByRefundExport(itemType, tradeNo, startDate, endDate, miniAppName);
126
+        return result;
123 127
     }
124 128
 
125 129
     /**

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

@@ -100,32 +100,21 @@
100 100
         GROUP BY t.order_id
101 101
     </select>
102 102
 
103
-    <select id="orderListByRechargeOrRefundExport" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
103
+    <select id="orderListByRechargeOrRefundExport" resultType="com.huiju.estateagents.redpack.entity.RechargeOrder">
104 104
         select
105
-        t.trade_no,
106
-        t.amount,
105
+        t.trade_no as tradeNo,
106
+        t.amount as amount,
107 107
         b.name as miniAppName,
108
-        t.is_offline,
109
-        t.create_date,
110
-        t.trading_status,
111
-        t.pay_date
112
-        <if test="orderType == 'recharge' || orderType == 'refund'">
113
-            d.audit_status,
114
-            d.audit_result,
115
-        </if>
116
-        GROUP_CONCAT(c.url) as certificateList
108
+        if(t.is_offline = 1, '业务线上充值', '运营手工充值') as isOffline,
109
+        t.create_date as createDate,
110
+        if(t.trading_status = 'processing', '进行中', if(t.trading_status = 'success', '已支付','已超时')) as tradingStatus,
111
+        t.pay_date as payDate
117 112
         From ta_org_order t
118 113
         left join ta_org_order_detail a on t.order_id = a.order_id
119 114
         left join ta_miniapp b on t.org_id = b.org_id
120 115
         left join ta_org_account_certificate c on t.order_id = c.order_id
121
-        <if test="orderType == 'recharge' || orderType == 'refund'">
122
-            left join ta_org_refund_application d on d.org_id = t.org_id
123
-        </if>
124 116
         where
125
-        a.item_type = #{orderType}
126
-        <if test="orgId != null and orgId != ''">
127
-            and t.org_id = #{orgId}
128
-        </if>
117
+        a.item_type = #{itemType}
129 118
         <if test="tradeNo != null and tradeNo != ''">
130 119
             and t.trade_no like concat('%', #{tradeNo}, '%')
131 120
         </if>
@@ -147,14 +136,14 @@
147 136
         GROUP BY t.order_id
148 137
     </select>
149 138
 
150
-    <select id="orderListByConsumeExport" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
139
+    <select id="orderListByConsumeExport" resultType="com.huiju.estateagents.redpack.entity.ConsumeOrder">
151 140
         select
152
-        t.trade_no,
141
+        t.trade_no as tradeNo,
153 142
         b.name as miniAppName,
154
-        t.amount,
155
-        t.create_date,
156
-        c.phone,
157
-        t.trading_status,
143
+        t.amount as amount,
144
+        t.create_date as createDate,
145
+        c.phone as phone,
146
+        if(t.trading_status = 'success', '成功','失败') as tradingStatus,
158 147
         "红包" as consumeType,
159 148
         d.`name` as activityName
160 149
         From ta_org_order t
@@ -163,10 +152,7 @@
163 152
         left join ta_person c on a.receiver_id = c.person_id
164 153
         left join ta_drainage d on a.target_id = d.drainage_id
165 154
         where
166
-        a.item_type = #{orderType}
167
-        <if test="orgId != null and orgId != ''">
168
-            and t.org_id = #{orgId}
169
-        </if>
155
+        a.item_type = #{itemType}
170 156
         <if test="tradeNo != null and tradeNo != ''">
171 157
             and t.trade_no like concat('%', #{tradeNo}, '%')
172 158
         </if>
@@ -182,9 +168,6 @@
182 168
         <if test="receivePhone != null and receivePhone != ''">
183 169
             and c.receivePhone like concat('%', #{receivePhone}, '%')
184 170
         </if>
185
-        <if test="itemType != null and itemType != ''">
186
-            and a.item_type = #{itemType}
187
-        </if>
188 171
         <if test="miniAppName != null and miniAppName != ''">
189 172
             and b.name like concat('%', #{miniAppName}, '%')
190 173
         </if>
@@ -471,4 +454,34 @@
471 454
         ORDER BY
472 455
             t.create_date DESC
473 456
     </select>
457
+
458
+    <select id="orderListByRefundExport" resultType="com.huiju.estateagents.redpack.entity.RefundOrder">
459
+        select
460
+        t.trade_no as tradeNo,
461
+        t.amount as amount,
462
+        b.name as miniAppName,
463
+        t.create_date as createDate,
464
+        d.audit_result as auditResult,
465
+        if(d.audit_status = 'checking', '未审核', if(d.audit_status = 'unAgree', '不同意','同意')) as auditStatus
466
+        From ta_org_order t
467
+        left join ta_org_order_detail a on t.order_id = a.order_id
468
+        left join ta_miniapp b on t.org_id = b.org_id
469
+        left join ta_org_account_certificate c on t.order_id = c.order_id
470
+        left join ta_org_refund_application d on d.org_id = t.org_id
471
+        where
472
+        a.item_type = #{itemType}
473
+        <if test="tradeNo != null and tradeNo != ''">
474
+            and t.trade_no like concat('%', #{tradeNo}, '%')
475
+        </if>
476
+        <if test="startDate != null and startDate != ''">
477
+            and t.create_date > #{startDate}
478
+        </if>
479
+        <if test="endDate != null and endDate != ''">
480
+            and t.create_date &lt; #{endDate}
481
+        </if>
482
+        <if test="miniAppName != null and miniAppName != ''">
483
+            and b.name like concat('%', #{miniAppName}, '%')
484
+        </if>
485
+        GROUP BY t.order_id
486
+    </select>
474 487
 </mapper>