Kaynağa Gözat

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

魏超 4 yıl önce
ebeveyn
işleme
0d5776dd33

+ 30
- 0
src/main/java/com/huiju/estateagents/entity/TaCustomerFrom.java Dosyayı Görüntüle

@@ -148,4 +148,34 @@ public class TaCustomerFrom implements Serializable {
148 148
      * 推广码ID
149 149
      */
150 150
     private Integer qrCodeId;
151
+
152
+    /**
153
+     * 用户头像
154
+     */
155
+    @TableField(exist = false)
156
+    private String avatarurl;
157
+
158
+    /**
159
+     * 分享人昵称
160
+     */
161
+    @TableField(exist = false)
162
+    private String sharePersonNickname;
163
+
164
+    /**
165
+     * 分享人手机号
166
+     */
167
+    @TableField(exist = false)
168
+    private String sharePersonPhone;
169
+
170
+    /**
171
+     * 用户昵称
172
+     */
173
+    @TableField(exist = false)
174
+    private String nickname;
175
+
176
+    /**
177
+     * 用户名
178
+     */
179
+    @TableField(exist = false)
180
+    private String name;
151 181
 }

+ 15
- 27
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Dosyayı Görüntüle

@@ -1,42 +1,17 @@
1 1
 package com.huiju.estateagents.redpack.controller;
2 2
 
3
-import java.io.IOException;
4
-import java.time.LocalDate;
5
-import java.time.LocalDateTime;
6
-import java.util.HashMap;
7
-import java.util.List;
8
-import java.util.Map;
9
-
10
-import javax.servlet.http.HttpServletRequest;
11
-import javax.servlet.http.HttpServletResponse;
12
-
13 3
 import com.alibaba.excel.EasyExcel;
14 4
 import com.alibaba.excel.ExcelWriter;
15 5
 import com.alibaba.excel.write.metadata.WriteSheet;
16 6
 import com.alibaba.fastjson.JSON;
17
-import com.huiju.estateagents.bo.request.SaveCzOrderRequestBO;
18
-import com.huiju.estateagents.bo.request.SaveRefundOrderRequestBO;
19
-import org.slf4j.Logger;
20
-import org.slf4j.LoggerFactory;
21
-import org.springframework.beans.factory.annotation.Autowired;
22
-import org.springframework.format.annotation.DateTimeFormat;
23
-import org.springframework.web.bind.annotation.GetMapping;
24
-import org.springframework.web.bind.annotation.PathVariable;
25
-import org.springframework.web.bind.annotation.RequestBody;
26
-import org.springframework.web.bind.annotation.RequestMapping;
27
-import org.springframework.web.bind.annotation.RequestMethod;
28
-import org.springframework.web.bind.annotation.RequestParam;
29
-import org.springframework.web.bind.annotation.ResponseBody;
30
-import org.springframework.web.bind.annotation.RestController;
31
-
32 7
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
33 8
 import com.baomidou.mybatisplus.core.metadata.IPage;
34 9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
35 10
 import com.huiju.estateagents.base.BaseController;
36 11
 import com.huiju.estateagents.base.ResponseBean;
37
-import com.huiju.estateagents.common.CommConstant;
12
+import com.huiju.estateagents.bo.request.SaveCzOrderRequestBO;
13
+import com.huiju.estateagents.bo.request.SaveRefundOrderRequestBO;
38 14
 import com.huiju.estateagents.entity.TaPerson;
39
-import com.huiju.estateagents.excel.ActivityStatistics.VisitPersonNum;
40 15
 import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
41 16
 import com.huiju.estateagents.redpack.entity.ConsumeOrder;
42 17
 import com.huiju.estateagents.redpack.entity.RechargeOrder;
@@ -44,6 +19,19 @@ import com.huiju.estateagents.redpack.entity.RefundOrder;
44 19
 import com.huiju.estateagents.redpack.entity.TaOrgOrder;
45 20
 import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
46 21
 import com.huiju.estateagents.service.ITaPersonService;
22
+import org.slf4j.Logger;
23
+import org.slf4j.LoggerFactory;
24
+import org.springframework.beans.factory.annotation.Autowired;
25
+import org.springframework.format.annotation.DateTimeFormat;
26
+import org.springframework.web.bind.annotation.*;
27
+
28
+import javax.servlet.http.HttpServletRequest;
29
+import javax.servlet.http.HttpServletResponse;
30
+import java.io.IOException;
31
+import java.time.LocalDate;
32
+import java.util.HashMap;
33
+import java.util.List;
34
+import java.util.Map;
47 35
 
48 36
 /**
49 37
  * <p>

+ 10
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgAccountService.java Dosyayı Görüntüle

@@ -3,6 +3,9 @@ package com.huiju.estateagents.redpack.service;
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.redpack.entity.TaOrgAccount;
6
+import com.huiju.estateagents.sample.entity.TaContact;
7
+
8
+import java.util.List;
6 9
 
7 10
 /**
8 11
  * <p>
@@ -15,6 +18,7 @@ import com.huiju.estateagents.redpack.entity.TaOrgAccount;
15 18
 public interface ITaOrgAccountService extends IService<TaOrgAccount> {
16 19
     /**
17 20
      * 账户充值接口
21
+     *
18 22
      * @param accountId
19 23
      * @param taOrgAccount
20 24
      * @param orgId
@@ -24,6 +28,7 @@ public interface ITaOrgAccountService extends IService<TaOrgAccount> {
24 28
 
25 29
     /**
26 30
      * 账户退费接口
31
+     *
27 32
      * @param accountId
28 33
      * @param taOrgAccount
29 34
      * @param orgId
@@ -34,6 +39,7 @@ public interface ITaOrgAccountService extends IService<TaOrgAccount> {
34 39
 
35 40
     /**
36 41
      * 账户详情接口
42
+     *
37 43
      * @param orgId
38 44
      * @return
39 45
      */
@@ -46,4 +52,8 @@ public interface ITaOrgAccountService extends IService<TaOrgAccount> {
46 52
      * @return
47 53
      */
48 54
     ResponseBean getOrgAccountInfoByOrgId(Integer orgId);
55
+
56
+    String sendSmsMessage(String tel, String type, String[] params);
57
+
58
+    List<TaContact> selectSmsContactUser();
49 59
 }

+ 3
- 1
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgAccountServiceImpl.java Dosyayı Görüntüle

@@ -395,7 +395,8 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
395 395
         return taUser;
396 396
     }
397 397
 
398
-    private String sendSmsMessage(String tel, String type, String[] params) {
398
+    @Override
399
+    public String sendSmsMessage(String tel, String type, String[] params) {
399 400
         if (StringUtils.isEmpty(tel) || StringUtils.isEmpty(type)) {
400 401
             return "短信发送失败: 没有手机号或者短信模板";
401 402
         }
@@ -420,6 +421,7 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
420 421
         return success ? null : "短信发送失败";
421 422
     }
422 423
 
424
+    @Override
423 425
     public List<TaContact> selectSmsContactUser(){
424 426
         QueryWrapper<TaContact> taContactQueryWrapper = new QueryWrapper<>();
425 427
         taContactQueryWrapper.eq("contact_Type", CommConstant.FINANCE);

+ 69
- 44
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java Dosyayı Görüntüle

@@ -1,31 +1,8 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
-import java.io.ByteArrayOutputStream;
4
-import java.io.InputStream;
5
-import java.net.HttpURLConnection;
6
-import java.net.URL;
7
-import java.net.URLEncoder;
8
-import java.time.LocalDate;
9
-import java.time.LocalDateTime;
10
-import java.util.ArrayList;
11
-import java.util.Arrays;
12
-import java.util.HashMap;
13
-import java.util.List;
14
-import java.util.Map;
15
-import java.util.stream.Collectors;
16
-
17
-import javax.servlet.http.HttpServletResponse;
18
-
19
-import org.apache.commons.collections.CollectionUtils;
20
-import org.springframework.beans.factory.annotation.Autowired;
21
-import org.springframework.beans.factory.annotation.Value;
22
-import org.springframework.stereotype.Service;
23
-import org.springframework.transaction.annotation.Transactional;
24
-
25 3
 import com.alibaba.excel.EasyExcel;
26 4
 import com.alibaba.fastjson.JSONObject;
27 5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
28
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
29 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
30 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
31 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,7 +13,6 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
36 13
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
37 14
 import com.huiju.estateagents.common.CommConstant;
38 15
 import com.huiju.estateagents.common.CommonUtils;
39
-import com.huiju.estateagents.common.StringUtils;
40 16
 import com.huiju.estateagents.common.wxpay.WXPay;
41 17
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
42 18
 import com.huiju.estateagents.common.wxpay.WxConfig;
@@ -45,26 +21,34 @@ import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
45 21
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
46 22
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
47 23
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
48
-import com.huiju.estateagents.redpack.entity.ConsumeOrder;
49
-import com.huiju.estateagents.redpack.entity.RechargeOrder;
50
-import com.huiju.estateagents.redpack.entity.RefundOrder;
51
-import com.huiju.estateagents.redpack.entity.TaOrgAccount;
52
-import com.huiju.estateagents.redpack.entity.TaOrgAccountBlocked;
53
-import com.huiju.estateagents.redpack.entity.TaOrgAccountCertificate;
54
-import com.huiju.estateagents.redpack.entity.TaOrgAccountDetailedList;
55
-import com.huiju.estateagents.redpack.entity.TaOrgOrder;
56
-import com.huiju.estateagents.redpack.entity.TaOrgOrderDetail;
57
-import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
58
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountBlockedMapper;
59
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountCertificateMapper;
60
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountDetailedListMapper;
61
-import com.huiju.estateagents.redpack.mapper.TaOrgAccountMapper;
62
-import com.huiju.estateagents.redpack.mapper.TaOrgOrderDetailMapper;
63
-import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
64
-import com.huiju.estateagents.redpack.mapper.TaOrgRefundApplicationMapper;
24
+import com.huiju.estateagents.redpack.entity.*;
25
+import com.huiju.estateagents.redpack.mapper.*;
26
+import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
65 27
 import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
66
-
28
+import com.huiju.estateagents.sample.entity.TaContact;
29
+import com.huiju.estateagents.sample.mapper.TaContactMapper;
67 30
 import lombok.extern.slf4j.Slf4j;
31
+import org.apache.commons.collections.CollectionUtils;
32
+import org.springframework.beans.factory.annotation.Autowired;
33
+import org.springframework.beans.factory.annotation.Value;
34
+import org.springframework.stereotype.Service;
35
+import org.springframework.transaction.annotation.Transactional;
36
+
37
+import javax.servlet.http.HttpServletResponse;
38
+import java.io.ByteArrayOutputStream;
39
+import java.io.InputStream;
40
+import java.net.HttpURLConnection;
41
+import java.net.URL;
42
+import java.net.URLEncoder;
43
+import java.time.LocalDate;
44
+import java.time.LocalDateTime;
45
+import java.util.ArrayList;
46
+import java.util.HashMap;
47
+import java.util.List;
48
+import java.util.Map;
49
+import java.util.concurrent.ExecutorService;
50
+import java.util.concurrent.Executors;
51
+import java.util.stream.Collectors;
68 52
 
69 53
 /**
70 54
  * <p>
@@ -111,6 +95,12 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
111 95
     @Autowired
112 96
     private TaWxPayConfigMapper taWxPayConfigMapper;
113 97
 
98
+    @Autowired
99
+    private TaContactMapper taContactMapper;
100
+
101
+    @Autowired
102
+    private ITaOrgAccountService taOrgAccountService;
103
+
114 104
     @Override
115 105
     public IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg, String orderType, Integer orgId, String tradeNo, Integer isOffline, String tradingStatus, String receivePhone, String itemType, String startDate, String endDate, String miniAppName, String auditStatus) {
116 106
         IPage<TaOrgOrder> result = pg;
@@ -148,7 +138,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
148 138
         return result;
149 139
     }
150 140
 
151
-    public List<String> getCertificateByOrderId(String orderId){
141
+    public List<String> getCertificateByOrderId(String orderId) {
152 142
         List<String> urlList = new ArrayList<>();
153 143
         QueryWrapper<TaOrgAccountCertificate> taOrgAccountCertificateQueryWrapper = new QueryWrapper<>();
154 144
         taOrgAccountCertificateQueryWrapper.eq("order_id", orderId);
@@ -156,6 +146,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
156 146
         urlList = taOrgAccountCertificates.stream().map(TaOrgAccountCertificate::getUrl).collect(Collectors.toList());
157 147
         return urlList;
158 148
     }
149
+
159 150
     /**
160 151
      * 微信支付
161 152
      *
@@ -257,6 +248,18 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
257 248
             return payResult;
258 249
         }
259 250
 
251
+        // 4.发送短信
252
+        ExecutorService threadPool = Executors.newCachedThreadPool();
253
+        threadPool.execute(() -> {
254
+            List<TaContact> taContacts = taOrgAccountService.selectSmsContactUser();
255
+            if (CollectionUtils.isNotEmpty(taContacts)) {
256
+                TaContact taContact = taContacts.get(0);
257
+                String[] smsParams = {"业务平台充值提醒", taOrgOrder.getTradeNo()};
258
+                // 短信发送
259
+                taOrgAccountService.sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_RECHARGE, smsParams);
260
+            }
261
+        });
262
+
260 263
         JSONObject obj = new JSONObject();
261 264
         obj.put("amount", amount);
262 265
         obj.put("realAmount", realAmount);
@@ -348,8 +351,30 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
348 351
             return responseBean;
349 352
         }
350 353
 
351
-        // 5.更新账户新金额
354
+        // 5.创建冻结表数据
355
+        TaOrgAccountBlocked taOrgAccountBlocked = new TaOrgAccountBlocked();
356
+        taOrgAccountBlocked.setAccountId(taOrgAccount.getAccountId());
357
+        taOrgAccountBlocked.setBlockedBalance(amount);
358
+        taOrgAccountBlocked.setBlockedReason("线上退款申请");
359
+        taOrgAccountBlocked.setCreateDate(LocalDateTime.now());
360
+        taOrgAccountBlocked.setStatus(CommConstant.STATUS_NORMAL);
361
+        taOrgAccountBlocked.setOrgId(orgId);
362
+        taOrgAccountBlockedMapper.insert(taOrgAccountBlocked);
363
+
364
+        // 6.更新账户新金额
352 365
         taOrgAccountMapper.updateAvailableBalanceById(taOrgAccount.getAccountId(), amount);
366
+
367
+        // 7.发送短信
368
+        ExecutorService threadPool = Executors.newCachedThreadPool();
369
+        threadPool.execute(() -> {
370
+            List<TaContact> taContacts = taOrgAccountService.selectSmsContactUser();
371
+            if (CollectionUtils.isNotEmpty(taContacts)) {
372
+                TaContact taContact = taContacts.get(0);
373
+                String[] smsParams = {"业务平台退款申请", taOrgOrder.getTradeNo()};
374
+                // 短信发送
375
+                taOrgAccountService.sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_RECHARGE, smsParams);
376
+            }
377
+        });
353 378
         responseBean.addSuccess(taOrgOrder);
354 379
         return responseBean;
355 380
     }

+ 1
- 0
src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java Dosyayı Görüntüle

@@ -190,6 +190,7 @@ public class WxPayServiceImpl implements IWxPayService {
190 190
         taOrgAccountDetailedList.setOrgId(taOrgOrder.getOrgId());
191 191
         taOrgAccountDetailedList.setSignType(1);
192 192
         taOrgAccountDetailedList.setStatus(CommConstant.STATUS_NORMAL);
193
+        taOrgAccountDetailedList.setRemark("线上充值");
193 194
         taOrgAccountDetailedListMapper.insert(taOrgAccountDetailedList);
194 195
         //添加账户金额
195 196
         taOrgAccount.setAvailableBalance(taOrgAccount.getAvailableBalance() + taOrgOrder.getAmount());

+ 1
- 1
src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java Dosyayı Görüntüle

@@ -562,8 +562,8 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
562 562
         try {
563 563
             logger.info("发送微信红包请求参数:{}", JSONObject.toJSONString(build));
564 564
             WxPaySendRedpackResult wxPaySendRedpackResult = wxPayService.sendRedpack(build);
565
+            logger.info("发送微信红包返回结果:{}", JSONObject.toJSONString(wxPaySendRedpackResult));
565 566
             String resultCode = wxPaySendRedpackResult.getResultCode();
566
-            logger.info("发送微信红包返回结果:{}", resultCode);
567 567
             if (resultCode.equals("SUCCESS")) {
568 568
                 taRedPacketMoney.setPacketSendedNum(taRedPacketMoney.getPacketSendedNum() + 1);
569 569
                 taRedPacketmonetMapper.updateById(taRedPacketMoney);

+ 4
- 3
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Dosyayı Görüntüle

@@ -374,9 +374,10 @@
374 374
     <select id = "listConsumeOrderByCondition" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
375 375
         SELECT
376 376
             t.*,
377
-            t3.phone
377
+            t3.phone,
378
+            t2.consume_type,
378 379
             <if test="consumeType == 'RedPacket'">
379
-                ,t4.name
380
+                ,t4.name activityName
380 381
             </if>
381 382
         FROM
382 383
             ta_org_order t
@@ -428,7 +429,7 @@
428 429
             t.amount,
429 430
             ( CASE t2.item_type WHEN 'RedPacket' THEN '红包' ELSE '' END ) consumeType,
430 431
             <if test="consumeType == 'RedPacket'">
431
-                t4.name,
432
+                t4.name activityName,
432 433
             </if>
433 434
             t.create_date,
434 435
             t3.phone,