소스 검색

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

魏超 5 년 전
부모
커밋
a53a7d065b
29개의 변경된 파일1547개의 추가작업 그리고 172개의 파일을 삭제
  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 파일 보기

1
 package com.huiju.estateagents.common;
1
 package com.huiju.estateagents.common;
2
 
2
 
3
+import java.math.BigDecimal;
3
 import java.text.SimpleDateFormat;
4
 import java.text.SimpleDateFormat;
4
 import java.util.Date;
5
 import java.util.Date;
5
 import java.util.Random;
6
 import java.util.Random;
35
         return uuid;
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
         String sdf = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
46
         String sdf = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
40
         int randNum = (int) (new Random().nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取5位随机数
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 파일 보기

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 파일 보기

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 파일 보기

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 파일 보기

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 파일 보기

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

+ 227
- 46
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java 파일 보기

2
 
2
 
3
 import java.time.LocalDate;
3
 import java.time.LocalDate;
4
 import java.time.LocalDateTime;
4
 import java.time.LocalDateTime;
5
+import java.util.HashMap;
6
+import java.util.Map;
5
 
7
 
6
 import javax.servlet.http.HttpServletRequest;
8
 import javax.servlet.http.HttpServletRequest;
9
+import javax.servlet.http.HttpServletResponse;
7
 
10
 
11
+import com.alibaba.fastjson.JSON;
8
 import org.slf4j.Logger;
12
 import org.slf4j.Logger;
9
 import org.slf4j.LoggerFactory;
13
 import org.slf4j.LoggerFactory;
10
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
29
 
33
 
30
 /**
34
 /**
31
  * <p>
35
  * <p>
32
-    * 组织订单表  前端控制器
33
-    * </p>
36
+ * 组织订单表  前端控制器
37
+ * </p>
34
  *
38
  *
35
  * @author fxf
39
  * @author fxf
36
  * @since 2020-06-03
40
  * @since 2020-06-03
50
 
54
 
51
     /**
55
     /**
52
      * 分页查询列表
56
      * 分页查询列表
57
+     *
53
      * @param pageNum
58
      * @param pageNum
54
      * @param pageSize
59
      * @param pageSize
55
      * @return
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
                                        @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
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
         ResponseBean responseBean = new ResponseBean();
74
         ResponseBean responseBean = new ResponseBean();
70
         try {
75
         try {
71
             //使用分页插件
76
             //使用分页插件
72
-		    IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
77
+            IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
73
             IPage<TaOrgOrder> result = iTaOrgOrderService.listByCondition(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, receivePhone, itemType, startDate, endDate);
78
             IPage<TaOrgOrder> result = iTaOrgOrderService.listByCondition(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, receivePhone, itemType, startDate, endDate);
74
             responseBean.addSuccess(result);
79
             responseBean.addSuccess(result);
75
-        }catch (Exception e){
80
+        } catch (Exception e) {
76
             e.printStackTrace();
81
             e.printStackTrace();
77
-            logger.error("taOrgOrderList -=- {}",e.toString());
82
+            logger.error("taOrgOrderList -=- {}", e.toString());
78
             responseBean.addError(e.getMessage());
83
             responseBean.addError(e.getMessage());
79
         }
84
         }
80
         return responseBean;
85
         return responseBean;
82
 
87
 
83
     /**
88
     /**
84
      * 保存对象
89
      * 保存对象
90
+     *
85
      * @param taOrgOrder 实体对象
91
      * @param taOrgOrder 实体对象
86
      * @return
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
         ResponseBean responseBean = new ResponseBean();
96
         ResponseBean responseBean = new ResponseBean();
91
         try {
97
         try {
92
-            if (iTaOrgOrderService.save(taOrgOrder)){
98
+            if (iTaOrgOrderService.save(taOrgOrder)) {
93
                 responseBean.addSuccess(taOrgOrder);
99
                 responseBean.addSuccess(taOrgOrder);
94
-            }else {
100
+            } else {
95
                 responseBean.addError("fail");
101
                 responseBean.addError("fail");
96
             }
102
             }
97
-        }catch (Exception e){
103
+        } catch (Exception e) {
98
             e.printStackTrace();
104
             e.printStackTrace();
99
-            logger.error("taOrgOrderAdd -=- {}",e.toString());
105
+            logger.error("taOrgOrderAdd -=- {}", e.toString());
100
             responseBean.addError(e.getMessage());
106
             responseBean.addError(e.getMessage());
101
         }
107
         }
102
         return responseBean;
108
         return responseBean;
104
 
110
 
105
     /**
111
     /**
106
      * 根据id删除对象
112
      * 根据id删除对象
107
-     * @param id  实体ID
113
+     *
114
+     * @param id 实体ID
108
      */
115
      */
109
     @ResponseBody
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
         ResponseBean responseBean = new ResponseBean();
119
         ResponseBean responseBean = new ResponseBean();
113
         try {
120
         try {
114
-            if(iTaOrgOrderService.removeById(id)){
121
+            if (iTaOrgOrderService.removeById(id)) {
115
                 responseBean.addSuccess("success");
122
                 responseBean.addSuccess("success");
116
-            }else {
123
+            } else {
117
                 responseBean.addError("fail");
124
                 responseBean.addError("fail");
118
             }
125
             }
119
-        }catch (Exception e){
126
+        } catch (Exception e) {
120
             e.printStackTrace();
127
             e.printStackTrace();
121
-            logger.error("taOrgOrderDelete -=- {}",e.toString());
128
+            logger.error("taOrgOrderDelete -=- {}", e.toString());
122
             responseBean.addError(e.getMessage());
129
             responseBean.addError(e.getMessage());
123
         }
130
         }
124
         return responseBean;
131
         return responseBean;
126
 
133
 
127
     /**
134
     /**
128
      * 修改对象
135
      * 修改对象
129
-     * @param id  实体ID
136
+     *
137
+     * @param id         实体ID
130
      * @param taOrgOrder 实体对象
138
      * @param taOrgOrder 实体对象
131
      * @return
139
      * @return
132
      */
140
      */
133
-    @RequestMapping(value="/taOrgOrder/{id}",method= RequestMethod.PUT)
141
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.PUT)
134
     public ResponseBean taOrgOrderUpdate(@PathVariable Integer id,
142
     public ResponseBean taOrgOrderUpdate(@PathVariable Integer id,
135
-                                        @RequestBody TaOrgOrder taOrgOrder){
143
+                                         @RequestBody TaOrgOrder taOrgOrder) {
136
         ResponseBean responseBean = new ResponseBean();
144
         ResponseBean responseBean = new ResponseBean();
137
         try {
145
         try {
138
-            if (iTaOrgOrderService.updateById(taOrgOrder)){
146
+            if (iTaOrgOrderService.updateById(taOrgOrder)) {
139
                 responseBean.addSuccess(taOrgOrder);
147
                 responseBean.addSuccess(taOrgOrder);
140
-            }else {
148
+            } else {
141
                 responseBean.addError("fail");
149
                 responseBean.addError("fail");
142
             }
150
             }
143
-        }catch (Exception e){
151
+        } catch (Exception e) {
144
             e.printStackTrace();
152
             e.printStackTrace();
145
-            logger.error("taOrgOrderUpdate -=- {}",e.toString());
153
+            logger.error("taOrgOrderUpdate -=- {}", e.toString());
146
             responseBean.addError(e.getMessage());
154
             responseBean.addError(e.getMessage());
147
         }
155
         }
148
         return responseBean;
156
         return responseBean;
150
 
158
 
151
     /**
159
     /**
152
      * 根据id查询对象
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
         ResponseBean responseBean = new ResponseBean();
166
         ResponseBean responseBean = new ResponseBean();
158
         try {
167
         try {
159
             responseBean.addSuccess(iTaOrgOrderService.getById(id));
168
             responseBean.addSuccess(iTaOrgOrderService.getById(id));
160
-        }catch (Exception e){
169
+        } catch (Exception e) {
161
             e.printStackTrace();
170
             e.printStackTrace();
162
-            logger.error("taOrgOrderDelete -=- {}",e.toString());
171
+            logger.error("taOrgOrderDelete -=- {}", e.toString());
163
             responseBean.addError(e.getMessage());
172
             responseBean.addError(e.getMessage());
164
         }
173
         }
165
         return responseBean;
174
         return responseBean;
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
         ResponseBean responseBean = new ResponseBean();
184
         ResponseBean responseBean = new ResponseBean();
175
         try {
185
         try {
176
             QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
186
             QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
177
             taPersonQueryWrapper.eq("phone", id);
187
             taPersonQueryWrapper.eq("phone", id);
178
             taPersonQueryWrapper.eq("org_id", getOrgId(request));
188
             taPersonQueryWrapper.eq("org_id", getOrgId(request));
179
             responseBean.addSuccess(iTaPersonService.getOne(taPersonQueryWrapper));
189
             responseBean.addSuccess(iTaPersonService.getOne(taPersonQueryWrapper));
180
-        }catch (Exception e){
190
+        } catch (Exception e) {
181
             e.printStackTrace();
191
             e.printStackTrace();
182
-            logger.error("receiveInfoGet -=- {}",e.toString());
192
+            logger.error("receiveInfoGet -=- {}", e.toString());
183
             responseBean.addError(e.getMessage());
193
             responseBean.addError(e.getMessage());
184
         }
194
         }
185
         return responseBean;
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 파일 보기

1
 package com.huiju.estateagents.redpack.controller;
1
 package com.huiju.estateagents.redpack.controller;
2
 
2
 
3
+import com.alibaba.fastjson.JSON;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
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
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
12
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
10
 import org.slf4j.Logger;
13
 import org.slf4j.Logger;
11
 import org.slf4j.LoggerFactory;
14
 import org.slf4j.LoggerFactory;
12
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.web.bind.annotation.*;
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
  * <p>
24
  * <p>
17
  * 红包助力活动  前端控制器
25
  * 红包助力活动  前端控制器
29
     @Autowired
37
     @Autowired
30
     public ITaRedPacketService iTaRedPacketService;
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
         }
156
         }
143
         return responseBean;
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 파일 보기

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

+ 6
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccount.java 파일 보기

97
     @TableField(exist = false)
97
     @TableField(exist = false)
98
     private Integer refundAmount;
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 파일 보기

102
     private String miniAppName;
102
     private String miniAppName;
103
 
103
 
104
     @TableField(exist = false)
104
     @TableField(exist = false)
105
-    private List<String> certificateList;
105
+    private List<TaOrgAccountCertificate> certificateList;
106
 
106
 
107
     @TableField(exist = false)
107
     @TableField(exist = false)
108
     private String auditStatus;
108
     private String auditStatus;
109
 
109
 
110
+    @TableField(exist = false)
111
+    private String auditResult;
112
+
110
     @TableField(exist = false)
113
     @TableField(exist = false)
111
     private String phone;
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 파일 보기

1
 package com.huiju.estateagents.redpack.entity;
1
 package com.huiju.estateagents.redpack.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import java.time.LocalDateTime;
6
 import java.time.LocalDateTime;
6
 import java.io.Serializable;
7
 import java.io.Serializable;
89
      */
90
      */
90
     private Integer packetStatus;
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 파일 보기

1
 package com.huiju.estateagents.redpack.mapper;
1
 package com.huiju.estateagents.redpack.mapper;
2
 
2
 
3
 import java.time.LocalDate;
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
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Mapper;
6
 import org.apache.ibatis.annotations.Param;
9
 import org.apache.ibatis.annotations.Param;
7
 
10
 
22
 
25
 
23
     /**
26
     /**
24
      * 充值退款订单
27
      * 充值退款订单
28
+     *
25
      * @param pg
29
      * @param pg
26
      * @param orderType
30
      * @param orderType
27
      * @return
31
      * @return
37
 
41
 
38
     /**
42
     /**
39
      * 消费订单
43
      * 消费订单
44
+     *
40
      * @param pg
45
      * @param pg
41
      * @param orderType
46
      * @param orderType
42
      * @param orgId
47
      * @param orgId
52
                                          @Param("startDate") LocalDate startDate,
57
                                          @Param("startDate") LocalDate startDate,
53
                                          @Param("endDate") LocalDate endDate);
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
      * @param orgId
144
      * @param orgId
58
      * @return
145
      * @return
59
      */
146
      */
60
     Integer countTotalRechargeAmount(@Param("orgId") Integer orgId);
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 파일 보기

4
 
4
 
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
6
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
7
+import org.apache.ibatis.annotations.Param;
7
 
8
 
8
 /**
9
 /**
9
  * <p>
10
  * <p>
16
 @Mapper
17
 @Mapper
17
 public interface TaOrgRefundApplicationMapper extends BaseMapper<TaOrgRefundApplication> {
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 파일 보기

1
 package com.huiju.estateagents.redpack.mapper;
1
 package com.huiju.estateagents.redpack.mapper;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
 import org.apache.ibatis.annotations.Mapper;
6
 import org.apache.ibatis.annotations.Mapper;
7
+import org.apache.ibatis.annotations.Param;
6
 import org.springframework.stereotype.Component;
8
 import org.springframework.stereotype.Component;
7
 
9
 
8
 /**
10
 /**
17
 @Component
19
 @Component
18
 public interface TaRedPacketHistoryMapper extends BaseMapper<TaRedPacketHistory> {
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 파일 보기

1
 package com.huiju.estateagents.redpack.mapper;
1
 package com.huiju.estateagents.redpack.mapper;
2
 
2
 
3
-import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
6
 import org.springframework.stereotype.Component;
9
 import org.springframework.stereotype.Component;
7
 
10
 
11
+import java.util.List;
12
+
8
 /**
13
 /**
9
  * <p>
14
  * <p>
10
  * 红包助力报名表  Mapper 接口
15
  * 红包助力报名表  Mapper 接口
17
 @Component
22
 @Component
18
 public interface TaRedPacketPersonMapper extends BaseMapper<TaRedPacketPerson> {
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 파일 보기

38
      * @return
38
      * @return
39
      */
39
      */
40
     ResponseBean getOrgAccountById(Integer orgId);
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 파일 보기

3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
6
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
7
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
7
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
8
 import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
8
 
9
 
10
+import javax.servlet.http.HttpServletResponse;
9
 import java.time.LocalDate;
11
 import java.time.LocalDate;
12
+import java.util.List;
10
 
13
 
11
 /**
14
 /**
12
  * <p>
15
  * <p>
19
 public interface ITaOrgOrderService extends IService<TaOrgOrder> {
22
 public interface ITaOrgOrderService extends IService<TaOrgOrder> {
20
     /**
23
     /**
21
      * 订单退款
24
      * 订单退款
25
+     *
22
      * @param id
26
      * @param id
23
      * @param refundApplication
27
      * @param refundApplication
24
      * @param userId
28
      * @param userId
29
 
33
 
30
     /**
34
     /**
31
      * 订单驳回
35
      * 订单驳回
36
+     *
32
      * @param id
37
      * @param id
33
      * @param refundApplication
38
      * @param refundApplication
34
      * @param userId
39
      * @param userId
38
 
43
 
39
     /**
44
     /**
40
      * 订单列表
45
      * 订单列表
46
+     *
41
      * @param pg
47
      * @param pg
42
      * @param orderType
48
      * @param orderType
43
      * @return
49
      * @return
46
 
52
 
47
     /**
53
     /**
48
      * 微信支付
54
      * 微信支付
55
+     *
49
      * @param taOrgOrder
56
      * @param taOrgOrder
50
      * @param remoteAddr
57
      * @param remoteAddr
51
      * @return
58
      * @return
52
      */
59
      */
53
     ResponseBean payUnifiedOrder(TaOrgOrder taOrgOrder, String remoteAddr) throws Exception;
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 파일 보기

1
 package com.huiju.estateagents.redpack.service;
1
 package com.huiju.estateagents.redpack.service;
2
 
2
 
3
+import com.huiju.estateagents.base.ResponseBean;
3
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 
6
 
13
  */
14
  */
14
 public interface ITaRedPacketHistoryService extends IService<TaRedPacketHistory> {
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 파일 보기

1
 package com.huiju.estateagents.redpack.service;
1
 package com.huiju.estateagents.redpack.service;
2
 
2
 
3
+import com.huiju.estateagents.base.ResponseBean;
3
 import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
4
 import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 import com.baomidou.mybatisplus.extension.service.IService;
5
 
6
 
7
+import javax.servlet.http.HttpServletResponse;
8
+
6
 /**
9
 /**
7
  * <p>
10
  * <p>
8
  * 红包助力报名表  服务类
11
  * 红包助力报名表  服务类
13
  */
16
  */
14
 public interface ITaRedPacketPersonService extends IService<TaRedPacketPerson> {
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 파일 보기

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

+ 212
- 23
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java 파일 보기

1
 package com.huiju.estateagents.redpack.service.impl;
1
 package com.huiju.estateagents.redpack.service.impl;
2
 
2
 
3
+import com.alibaba.excel.EasyExcel;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
12
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
14
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
13
 import com.huiju.estateagents.common.wxpay.WxConfig;
15
 import com.huiju.estateagents.common.wxpay.WxConfig;
14
 import com.huiju.estateagents.entity.TaWxPayConfig;
16
 import com.huiju.estateagents.entity.TaWxPayConfig;
17
+import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
18
+import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
15
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
19
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
16
 import com.huiju.estateagents.redpack.entity.*;
20
 import com.huiju.estateagents.redpack.entity.*;
17
 import com.huiju.estateagents.redpack.mapper.*;
21
 import com.huiju.estateagents.redpack.mapper.*;
23
 import org.springframework.stereotype.Service;
27
 import org.springframework.stereotype.Service;
24
 import org.springframework.transaction.annotation.Transactional;
28
 import org.springframework.transaction.annotation.Transactional;
25
 
29
 
30
+import javax.servlet.http.HttpServletResponse;
26
 import java.io.ByteArrayOutputStream;
31
 import java.io.ByteArrayOutputStream;
27
 import java.io.InputStream;
32
 import java.io.InputStream;
28
 import java.net.HttpURLConnection;
33
 import java.net.HttpURLConnection;
29
 import java.net.URL;
34
 import java.net.URL;
35
+import java.net.URLEncoder;
30
 import java.time.LocalDate;
36
 import java.time.LocalDate;
31
 import java.time.LocalDateTime;
37
 import java.time.LocalDateTime;
32
 import java.util.ArrayList;
38
 import java.util.ArrayList;
80
     public IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg, String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, LocalDate startDate, LocalDate endDate) {
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
         IPage<TaOrgOrder> result = null;
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
             result = taOrgOrderMapper.orderListByRechargeOrRefund(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, startDate, endDate);
90
             result = taOrgOrderMapper.orderListByRechargeOrRefund(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, startDate, endDate);
85
             return result;
91
             return result;
86
-        } else if (CommConstant.ITEM_TYPE_REDPACKAGE.equals(orderType)){
92
+        } else if (CommConstant.ITEM_TYPE_REDPACKAGE.equals(orderType)) {
87
             result = taOrgOrderMapper.orderListByConsume(pg, orderType, orgId, tradeNo, tradingStatus, receivePhone, itemType, startDate, endDate);
93
             result = taOrgOrderMapper.orderListByConsume(pg, orderType, orgId, tradeNo, tradingStatus, receivePhone, itemType, startDate, endDate);
88
             return result;
94
             return result;
89
         } else {
95
         } else {
124
         //终端IP
130
         //终端IP
125
         data.put("spbill_create_ip", clientIp);
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
         // 此处指定为APP支付
134
         // 此处指定为APP支付
129
         data.put("trade_type", "NATIVE");
135
         data.put("trade_type", "NATIVE");
130
         Map<String, String> resp = wxpay.unifiedOrder(data);
136
         Map<String, String> resp = wxpay.unifiedOrder(data);
131
         log.info("下单成功:{}", resp);
137
         log.info("下单成功:{}", resp);
132
-        if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)){
138
+        if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)) {
133
             throw new Exception(resp.get("err_code_des"));
139
             throw new Exception(resp.get("err_code_des"));
134
         }
140
         }
135
 
141
 
136
         return ResponseBean.success(resp.get("code_url"));
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
      * @param orgId
323
      * @param orgId
142
      * @return
324
      * @return
143
      */
325
      */
144
     private WxConfig getWxConfig(Integer orgId) throws Exception {
326
     private WxConfig getWxConfig(Integer orgId) throws Exception {
145
         //根据orgId获取支付配置
327
         //根据orgId获取支付配置
146
         QueryWrapper<TaWxPayConfig> taWxPayConfigQueryWrapper = new QueryWrapper<>();
328
         QueryWrapper<TaWxPayConfig> taWxPayConfigQueryWrapper = new QueryWrapper<>();
147
-        taWxPayConfigQueryWrapper.eq("org_id",orgId);
329
+        taWxPayConfigQueryWrapper.eq("org_id", orgId);
148
         TaWxPayConfig taWxPayConfig = taWxPayConfigMapper.selectOne(taWxPayConfigQueryWrapper);
330
         TaWxPayConfig taWxPayConfig = taWxPayConfigMapper.selectOne(taWxPayConfigQueryWrapper);
149
-        if (null == taWxPayConfig){
331
+        if (null == taWxPayConfig) {
150
             throw new Exception("请先完善支付信息");
332
             throw new Exception("请先完善支付信息");
151
         }
333
         }
152
-        log.info("正在配置orgId为{}的微信支付参数,商户号为{}",orgId,taWxPayConfig.getMchId());
334
+        log.info("正在配置orgId为{}的微信支付参数,商户号为{}", orgId, taWxPayConfig.getMchId());
153
         //把库里的值赋值给微信
335
         //把库里的值赋值给微信
154
         URL urlConet = new URL(taWxPayConfig.getApiPath());
336
         URL urlConet = new URL(taWxPayConfig.getApiPath());
155
-        HttpURLConnection con = (HttpURLConnection)urlConet.openConnection();
337
+        HttpURLConnection con = (HttpURLConnection) urlConet.openConnection();
156
         con.setRequestMethod("GET");
338
         con.setRequestMethod("GET");
157
         con.setConnectTimeout(4 * 1000);
339
         con.setConnectTimeout(4 * 1000);
158
-        InputStream inStream = con .getInputStream();
340
+        InputStream inStream = con.getInputStream();
159
         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
341
         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
160
         byte[] buffer = new byte[2048];
342
         byte[] buffer = new byte[2048];
161
         int len = 0;
343
         int len = 0;
162
-        while( (len=inStream.read(buffer)) != -1 ){
344
+        while ((len = inStream.read(buffer)) != -1) {
163
             outStream.write(buffer, 0, len);
345
             outStream.write(buffer, 0, len);
164
         }
346
         }
165
         inStream.close();
347
         inStream.close();
203
         int taOrgAccountBlockedUpdateResult = updateOrgAccountBlock(refundApplication);
385
         int taOrgAccountBlockedUpdateResult = updateOrgAccountBlock(refundApplication);
204
 
386
 
205
         //插入凭证记录
387
         //插入凭证记录
206
-        if (CollectionUtils.isNotEmpty(refundApplication.getCertificateList())){
388
+        if (CollectionUtils.isNotEmpty(refundApplication.getCertificateList())) {
207
             List<TaOrgAccountCertificate> taOrgAccountCertificateList = assembleAccountCertificate(refundApplication.getOrgId(), taOrgAccount, taOrgAccountDetailedList.getSerialNo(), taOrgOrder.getOrderId(), userId, CommConstant.ITEM_TYPE_REFUND);
389
             List<TaOrgAccountCertificate> taOrgAccountCertificateList = assembleAccountCertificate(refundApplication.getOrgId(), taOrgAccount, taOrgAccountDetailedList.getSerialNo(), taOrgOrder.getOrderId(), userId, CommConstant.ITEM_TYPE_REFUND);
208
             taOrgAccountCertificateList.forEach(e -> {
390
             taOrgAccountCertificateList.forEach(e -> {
209
                 taOrgAccountCertificateMapper.insert(e);
391
                 taOrgAccountCertificateMapper.insert(e);
214
                 taOrgOrderDetailInsertResult < 1 ||
396
                 taOrgOrderDetailInsertResult < 1 ||
215
                 taOrgAccountDetailedListInsertResult < 1 ||
397
                 taOrgAccountDetailedListInsertResult < 1 ||
216
                 taOrgRefundApplicationUpdateResult < 1 ||
398
                 taOrgRefundApplicationUpdateResult < 1 ||
217
-                taOrgAccountBlockedUpdateResult < 1){
399
+                taOrgAccountBlockedUpdateResult < 1) {
218
             responseBean.addError("订单退款失败");
400
             responseBean.addError("订单退款失败");
219
             return responseBean;
401
             return responseBean;
220
         }
402
         }
241
         int taOrgRefundApplicationUpdateResult = taOrgRefundApplicationMapper.update(updateRefundApplication, taOrgRefundApplicationQueryWrapper);
423
         int taOrgRefundApplicationUpdateResult = taOrgRefundApplicationMapper.update(updateRefundApplication, taOrgRefundApplicationQueryWrapper);
242
 
424
 
243
         if (taOrgAccountBlockedUpdateResult < 1 ||
425
         if (taOrgAccountBlockedUpdateResult < 1 ||
244
-                taOrgRefundApplicationUpdateResult < 1){
426
+                taOrgRefundApplicationUpdateResult < 1) {
245
             responseBean.addError("驳回失败");
427
             responseBean.addError("驳回失败");
246
             return responseBean;
428
             return responseBean;
247
         }
429
         }
252
 
434
 
253
     /**
435
     /**
254
      * 构造充值账户
436
      * 构造充值账户
437
+     *
255
      * @param orgId
438
      * @param orgId
256
      * @param refundApplication
439
      * @param refundApplication
257
      * @return
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
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(orgId);
443
         TaOrgAccount selectOneAccount = selectTaOrgAccountById(orgId);
261
 
444
 
262
         TaOrgAccount rechargeAccount = new TaOrgAccount();
445
         TaOrgAccount rechargeAccount = new TaOrgAccount();
263
         rechargeAccount.setAccountId(selectOneAccount.getAccountId());
446
         rechargeAccount.setAccountId(selectOneAccount.getAccountId());
264
 
447
 
265
-        if (CommConstant.ITEM_TYPE_REFUND.equals(operateType)){
448
+        if (CommConstant.ITEM_TYPE_REFUND.equals(operateType)) {
266
             rechargeAccount.setRealBalance(selectOneAccount.getRealBalance() - refundApplication.getAmount());
449
             rechargeAccount.setRealBalance(selectOneAccount.getRealBalance() - refundApplication.getAmount());
267
             rechargeAccount.setTotalRefund(selectOneAccount.getTotalRefund() + refundApplication.getAmount());
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
             rechargeAccount.setAvailableBalance(refundApplication.getAmount());
454
             rechargeAccount.setAvailableBalance(refundApplication.getAmount());
272
         }
455
         }
273
 
456
 
278
 
461
 
279
     /**
462
     /**
280
      * 构造订单
463
      * 构造订单
464
+     *
281
      * @param orgId
465
      * @param orgId
282
      * @param amount
466
      * @param amount
283
      * @param userId
467
      * @param userId
284
      * @return
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
         TaUser taUser = selectUserById(userId);
472
         TaUser taUser = selectUserById(userId);
289
         TaOrgOrder taOrgOrder = new TaOrgOrder();
473
         TaOrgOrder taOrgOrder = new TaOrgOrder();
303
 
487
 
304
     /**
488
     /**
305
      * 构造交订单详情信息
489
      * 构造交订单详情信息
490
+     *
306
      * @param orderId
491
      * @param orderId
307
      * @param orgId
492
      * @param orgId
308
      * @param amount
493
      * @param amount
309
      * @return
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
         TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
497
         TaOrgOrderDetail taOrgOrderDetail = new TaOrgOrderDetail();
313
 
498
 
314
         taOrgOrderDetail.setOrderId(orderId);
499
         taOrgOrderDetail.setOrderId(orderId);
321
 
506
 
322
     /**
507
     /**
323
      * 构造消费流水记录
508
      * 构造消费流水记录
509
+     *
324
      * @param refundApplication
510
      * @param refundApplication
325
      * @param userId
511
      * @param userId
326
      * @return
512
      * @return
327
      */
513
      */
328
-    private TaOrgAccountDetailedList assembleAccountDetailList(TaOrgRefundApplication refundApplication, Integer userId){
514
+    private TaOrgAccountDetailedList assembleAccountDetailList(TaOrgRefundApplication refundApplication, Integer userId) {
329
 
515
 
330
         TaUser taUser = selectUserById(userId);
516
         TaUser taUser = selectUserById(userId);
331
         TaOrgAccount taOrgAccount = selectTaOrgAccountById(refundApplication.getOrgId());
517
         TaOrgAccount taOrgAccount = selectTaOrgAccountById(refundApplication.getOrgId());
346
 
532
 
347
     /**
533
     /**
348
      * 构造交易凭证信息
534
      * 构造交易凭证信息
535
+     *
349
      * @param orgId
536
      * @param orgId
350
      * @param taOrgAccount
537
      * @param taOrgAccount
351
      * @param accountSerialNo
538
      * @param accountSerialNo
353
      * @param userId
540
      * @param userId
354
      * @return
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
         TaUser taUser = selectUserById(userId);
544
         TaUser taUser = selectUserById(userId);
358
         List<TaOrgAccountCertificate> taOrgAccountCertificateList = new ArrayList<>();
545
         List<TaOrgAccountCertificate> taOrgAccountCertificateList = new ArrayList<>();
359
 
546
 
377
 
564
 
378
     /**
565
     /**
379
      * 构造订单退款申请
566
      * 构造订单退款申请
567
+     *
380
      * @param userId
568
      * @param userId
381
      * @return
569
      * @return
382
      */
570
      */
391
         return taOrgRefundApplication;
579
         return taOrgRefundApplication;
392
     }
580
     }
393
 
581
 
394
-    private Integer updateOrgAccountBlock(TaOrgRefundApplication refundApplication){
582
+    private Integer updateOrgAccountBlock(TaOrgRefundApplication refundApplication) {
395
         //更新账户冻结记录
583
         //更新账户冻结记录
396
         TaOrgAccountBlocked taOrgAccountBlocked = new TaOrgAccountBlocked();
584
         TaOrgAccountBlocked taOrgAccountBlocked = new TaOrgAccountBlocked();
397
         taOrgAccountBlocked.setStatus(CommConstant.STATUS_UNACCALIMED);
585
         taOrgAccountBlocked.setStatus(CommConstant.STATUS_UNACCALIMED);
400
         return taOrgAccountBlockedMapper.update(taOrgAccountBlocked, taOrgAccountBlockedQueryWrapper);
588
         return taOrgAccountBlockedMapper.update(taOrgAccountBlocked, taOrgAccountBlockedQueryWrapper);
401
     }
589
     }
402
 
590
 
403
-    public TaOrgAccount selectTaOrgAccountById(Integer orgId){
591
+    public TaOrgAccount selectTaOrgAccountById(Integer orgId) {
404
         QueryWrapper<TaOrgAccount> selectOneQuery = new QueryWrapper<>();
592
         QueryWrapper<TaOrgAccount> selectOneQuery = new QueryWrapper<>();
405
         selectOneQuery.eq("org_id", orgId);
593
         selectOneQuery.eq("org_id", orgId);
406
         TaOrgAccount selectOneAccount = taOrgAccountMapper.selectOne(selectOneQuery);
594
         TaOrgAccount selectOneAccount = taOrgAccountMapper.selectOne(selectOneQuery);
409
 
597
 
410
     /**
598
     /**
411
      * 获取操作人
599
      * 获取操作人
600
+     *
412
      * @param userId
601
      * @param userId
413
      * @return
602
      * @return
414
      */
603
      */
415
-    public TaUser selectUserById(Integer userId){
604
+    public TaUser selectUserById(Integer userId) {
416
         //获取操作人
605
         //获取操作人
417
         QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
606
         QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
418
         taUserQueryWrapper.eq("user_id", userId);
607
         taUserQueryWrapper.eq("user_id", userId);

+ 13
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketHistoryServiceImpl.java 파일 보기

1
 package com.huiju.estateagents.redpack.service.impl;
1
 package com.huiju.estateagents.redpack.service.impl;
2
 
2
 
3
+import com.huiju.estateagents.base.ResponseBean;
3
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4
 import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
4
 import com.huiju.estateagents.redpack.mapper.TaRedPacketHistoryMapper;
5
 import com.huiju.estateagents.redpack.mapper.TaRedPacketHistoryMapper;
5
 import com.huiju.estateagents.redpack.service.ITaRedPacketHistoryService;
6
 import com.huiju.estateagents.redpack.service.ITaRedPacketHistoryService;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
9
 import org.springframework.stereotype.Service;
8
 
10
 
9
 /**
11
 /**
17
 @Service
19
 @Service
18
 public class TaRedPacketHistoryServiceImpl extends ServiceImpl<TaRedPacketHistoryMapper, TaRedPacketHistory> implements ITaRedPacketHistoryService {
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 파일 보기

1
 package com.huiju.estateagents.redpack.service.impl;
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
 import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
9
 import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
4
 import com.huiju.estateagents.redpack.mapper.TaRedPacketPersonMapper;
10
 import com.huiju.estateagents.redpack.mapper.TaRedPacketPersonMapper;
5
 import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
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
 import org.springframework.stereotype.Service;
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
  * <p>
20
  * <p>
11
  * 红包助力报名表  服务实现类
21
  * 红包助力报名表  服务实现类
17
 @Service
27
 @Service
18
 public class TaRedPacketPersonServiceImpl extends ServiceImpl<TaRedPacketPersonMapper, TaRedPacketPerson> implements ITaRedPacketPersonService {
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 파일 보기

58
             //使用分页插件
58
             //使用分页插件
59
             IPage<TaContact> pg = new Page<>(pageNum, pageSize);
59
             IPage<TaContact> pg = new Page<>(pageNum, pageSize);
60
             QueryWrapper<TaContact> queryWrapper = new QueryWrapper<>();
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
             queryWrapper.ne("status", CommConstant.STATUS_DELETE);
65
             queryWrapper.ne("status", CommConstant.STATUS_DELETE);
66
             queryWrapper.orderByDesc("order_no", "create_date");
66
             queryWrapper.orderByDesc("order_no", "create_date");
67
 
67
 
102
 
102
 
103
     /**
103
     /**
104
      * 批量删除
104
      * 批量删除
105
-     *
106
      */
105
      */
107
     @ResponseBody
106
     @ResponseBody
108
     @RequestMapping(value = "/channel/taContact/batchDelete", method = RequestMethod.PUT)
107
     @RequestMapping(value = "/channel/taContact/batchDelete", method = RequestMethod.PUT)
109
     public ResponseBean batchDelete(@RequestBody List<TaContact> taContactList, HttpServletRequest request) {
108
     public ResponseBean batchDelete(@RequestBody List<TaContact> taContactList, HttpServletRequest request) {
110
         ResponseBean responseBean = new ResponseBean();
109
         ResponseBean responseBean = new ResponseBean();
111
         try {
110
         try {
112
-            responseBean = iTaContactService.batchDelete(taContactList,getSysUserId(request));
111
+            responseBean = iTaContactService.batchDelete(taContactList, getSysUserId(request));
113
             logger.info("TaContactController.batchDelete 返回结果:", JSONObject.toJSONString(responseBean));
112
             logger.info("TaContactController.batchDelete 返回结果:", JSONObject.toJSONString(responseBean));
114
         } catch (Exception e) {
113
         } catch (Exception e) {
115
             e.printStackTrace();
114
             e.printStackTrace();
164
 
163
 
165
     /**
164
     /**
166
      * 联系人列表
165
      * 联系人列表
166
+     *
167
      * @param pageNum
167
      * @param pageNum
168
      * @param pageSize
168
      * @param pageSize
169
      * @return
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
         ResponseBean responseBean = new ResponseBean();
178
         ResponseBean responseBean = new ResponseBean();
179
         try {
179
         try {
180
             //使用分页插件
180
             //使用分页插件
181
             IPage<TaContact> pg = new Page<>(pageNum, pageSize);
181
             IPage<TaContact> pg = new Page<>(pageNum, pageSize);
182
             QueryWrapper<TaContact> queryWrapper = new QueryWrapper<>();
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
             queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
187
             queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
188
-            queryWrapper.orderByDesc("order_no","create_date");
188
+            queryWrapper.orderByDesc("order_no", "create_date");
189
 
189
 
190
             IPage<TaContact> result = iTaContactService.page(pg, queryWrapper);
190
             IPage<TaContact> result = iTaContactService.page(pg, queryWrapper);
191
             responseBean.addSuccess(result);
191
             responseBean.addSuccess(result);
192
-        }catch (Exception e){
192
+        } catch (Exception e) {
193
             e.printStackTrace();
193
             e.printStackTrace();
194
-            logger.error("taContactList -=- {}",e.toString());
194
+            logger.error("taContactList -=- {}", e.toString());
195
             responseBean.addError(e.getMessage());
195
             responseBean.addError(e.getMessage());
196
         }
196
         }
197
         return responseBean;
197
         return responseBean;
199
 
199
 
200
     /**
200
     /**
201
      * 根据样例id查询联系人信息
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
     public ResponseBean taContactInfoBySampleId(@PathVariable String id,
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
         ResponseBean responseBean = new ResponseBean();
209
         ResponseBean responseBean = new ResponseBean();
209
         try {
210
         try {
210
             responseBean.addSuccess(iTaContactService.taContactInfoBySampleId(id, pageNum, pageSize));
211
             responseBean.addSuccess(iTaContactService.taContactInfoBySampleId(id, pageNum, pageSize));
211
-        }catch (Exception e){
212
+        } catch (Exception e) {
212
             e.printStackTrace();
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
             responseBean.addError(e.getMessage());
253
             responseBean.addError(e.getMessage());
215
         }
254
         }
216
         return responseBean;
255
         return responseBean;

+ 167
- 1
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml 파일 보기

86
         GROUP BY t.order_id
86
         GROUP BY t.order_id
87
     </select>
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
     <select id="countTotalRechargeAmount" resultType="java.lang.Integer">
221
     <select id="countTotalRechargeAmount" resultType="java.lang.Integer">
90
         select sum(t.amount) as amount from ta_org_order t
222
         select sum(t.amount) as amount from ta_org_order t
91
         left join ta_org_order_detail a on t.order_id = a.order_id where t.org_id = #{orgId}
223
         left join ta_org_order_detail a on t.order_id = a.order_id where t.org_id = #{orgId}
92
         and a.item_type = 'recharge'
224
         and a.item_type = 'recharge'
93
     </select>
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
 </mapper>
262
 </mapper>

+ 11
- 0
src/main/resources/mapper/redpack/TaOrgRefundApplicationMapper.xml 파일 보기

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaOrgRefundApplicationMapper">
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
 </mapper>
16
 </mapper>

+ 2
- 0
src/main/resources/mapper/redpack/TaRedPacketHistoryMapper.xml 파일 보기

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaRedPacketHistoryMapper">
3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaRedPacketHistoryMapper">
4
 
4
 
5
+
6
+
5
 </mapper>
7
 </mapper>

+ 45
- 0
src/main/resources/mapper/redpack/TaRedPacketPersonMapper.xml 파일 보기

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaRedPacketPersonMapper">
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
 </mapper>
50
 </mapper>