Bläddra i källkod

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

# Conflicts:
#	src/main/java/com/huiju/estateagents/common/CommConstant.java
魏超 4 år sedan
förälder
incheckning
25a7e7d040

+ 19
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java Visa fil

@@ -19,6 +19,8 @@ import com.huiju.estateagents.common.StringUtils;
19 19
 import com.huiju.estateagents.common.WxUtils;
20 20
 import com.huiju.estateagents.entity.*;
21 21
 import com.huiju.estateagents.mapper.*;
22
+import com.huiju.estateagents.miniPackage.entity.TaUserPackages;
23
+import com.huiju.estateagents.miniPackage.mapper.TaUserPackagesMapper;
22 24
 import com.huiju.estateagents.service.*;
23 25
 import org.apache.commons.collections.CollectionUtils;
24 26
 import org.springframework.beans.factory.annotation.Autowired;
@@ -95,6 +97,9 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
95 97
     @Autowired
96 98
     private TaChannelProxyMapper taChannelProxyMapper;
97 99
 
100
+    @Autowired
101
+    private TaUserPackagesMapper taUserPackagesMapper;
102
+
98 103
     @Autowired
99 104
     private WxUtils wxUtils;
100 105
 
@@ -691,7 +696,7 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
691 696
         cities.add(signUpEntity.getCity().toString());
692 697
 
693 698
         TaUser taUser = new TaUser();
694
-        taUser.setUserName(signUpEntity.getCompany());
699
+        taUser.setUserName(signUpEntity.getPhone());
695 700
         taUser.setPhone(signUpEntity.getPhone());
696 701
         taUser.setLoginPassword(signUpEntity.getPassword());
697 702
         taUser.setStatus(CommConstant.STATUS_NORMAL);
@@ -708,6 +713,19 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
708 713
 
709 714
         taUser = newUserAndOrg(taUser, taChannelProxy.getChannelId());
710 715
 
716
+        // 试用账户给一个虚拟的套餐
717
+        TaUserPackages packages = new TaUserPackages();
718
+        packages.setOrgId(taUser.getOrgId());
719
+        packages.setUserId(taUser.getUserId());
720
+        packages.setPackId(CommConstant.SYS_VIRTUAL_PACKAGE_ID);     // 虚拟ID
721
+        packages.setCreateDate(taUser.getCreateDate());
722
+        packages.setStartDate(taUser.getCreateDate());
723
+        packages.setEndDate(taUser.getExpDate());
724
+        packages.setRuleId(CommConstant.SYS_ROLE_TRIAL);  // 内置试用角色
725
+        packages.setStatus(CommConstant.STATUS_NORMAL);
726
+
727
+        taUserPackagesMapper.insert(packages);
728
+
711 729
         return taUser;
712 730
     }
713 731
 

+ 23
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Visa fil

@@ -574,6 +574,11 @@ public class CommConstant {
574 574
      */
575 575
     public static final String RED_PACKET = "RedPacket";
576 576
 
577
+    /**
578
+     * 套餐类型标识
579
+     */
580
+    public static final String PACKAGE = "Package";
581
+
577 582
     /**
578 583
      * 系统参数  通知消息次时间间隔
579 584
      */
@@ -897,6 +902,11 @@ public class CommConstant {
897 902
      */
898 903
     public static final String FINANCE = "finance";
899 904
 
905
+    /**
906
+     * 人员类型---销售
907
+     */
908
+    public static final String SELL = "sell";
909
+
900 910
     /**
901 911
      * 审核状态-审核中
902 912
      */
@@ -937,5 +947,18 @@ public class CommConstant {
937 947
      */
938 948
     public static final String YEAR = "year";
939 949
 
950
+    /**
951
+     * 需要替换推广联系人类型
952
+     */
953
+    public static final String CONCAT_TYPE_PROMOTE = "promote,|,promote|promote";
954
+
955
+    /**
956
+     * 内置虚拟套餐 ID
957
+     */
958
+    public static final Integer SYS_VIRTUAL_PACKAGE_ID = -1;
940 959
 
960
+    /**
961
+     * 内置试用人员角色
962
+     */
963
+    public static final Integer SYS_ROLE_TRIAL = -1;
941 964
 }

+ 9
- 25
src/main/java/com/huiju/estateagents/controller/TaOfficeContactController.java Visa fil

@@ -16,8 +16,7 @@ import org.slf4j.LoggerFactory;
16 16
 import org.springframework.beans.factory.annotation.Autowired;
17 17
 import org.springframework.web.bind.annotation.*;
18 18
 
19
-import javax.servlet.http.HttpServletRequest;
20
-import javax.servlet.http.HttpServletResponse;
19
+import java.time.LocalDateTime;
21 20
 
22 21
 /**
23 22
  * <p>
@@ -80,21 +79,19 @@ public class TaOfficeContactController extends BaseController {
80 79
 
81 80
     /**
82 81
      * 保存对象
83
-     * @param taOfficeContact 实体对象
84 82
      * @return
85 83
      */
86
-    @RequestMapping(value="/office/taOfficeContact",method= RequestMethod.POST)
87
-    public ResponseBean taOfficeContactAdd(@RequestBody TaOfficeContact taOfficeContact, HttpServletRequest request, HttpServletResponse response){
88
-        response.setHeader("Access-Control-Allow-Origin","*");
89
-        response.setHeader("Access-Control-Allow-Methods","*");
84
+    @CrossOrigin(origins = "*", maxAge = 3600)
85
+    @RequestMapping(value="/official/taOfficeContact",method= RequestMethod.POST)
86
+    public ResponseBean taOfficeContactAdd(@RequestBody TaOfficeContact taOfficeContact){
90 87
         ResponseBean responseBean = new ResponseBean();
91 88
         try {
92
-
93 89
             // 主键格式 20200611001  日期 + 数字,  数字 3 位, 前面补 0
94 90
             String today = DateUtils.todayCompact();
95 91
             Integer no = dbUtils.nextVal(SEQ_PREFIX + "-" + today);
96 92
             taOfficeContact.setSerialNo(StringUtils.lpad(no.toString(), "0", 3));
97
-
93
+            taOfficeContact.setCreateDate(LocalDateTime.now());
94
+            taOfficeContact.setStatus(2);   // 待跟进
98 95
             if (iTaOfficeContactService.save(taOfficeContact)){
99 96
                 responseBean.addSuccess(taOfficeContact);
100 97
             }else {
@@ -108,20 +105,6 @@ public class TaOfficeContactController extends BaseController {
108 105
         return responseBean;
109 106
     }
110 107
 
111
-    /**
112
-     * 保存对象
113
-     * @param taOfficeContact 实体对象
114
-     * @return
115
-     */
116
-    @RequestMapping(value="/office/taOfficeContact",method= RequestMethod.OPTIONS)
117
-    public ResponseBean taOfficeContactOptions(@RequestBody TaOfficeContact taOfficeContact, HttpServletRequest request, HttpServletResponse response){
118
-        response.setHeader("Access-Control-Allow-Origin","*");
119
-        response.setHeader("Access-Control-Allow-Methods","*");
120
-        response.setCharacterEncoding("utf-8");
121
-
122
-        return ResponseBean.success("success");
123
-    }
124
-
125 108
     /**
126 109
      * 根据id删除对象
127 110
      * @param id  实体ID
@@ -150,11 +133,12 @@ public class TaOfficeContactController extends BaseController {
150 133
      * @param taOfficeContact 实体对象
151 134
      * @return
152 135
      */
153
-    @RequestMapping(value="/taOfficeContact/{id}",method= RequestMethod.PUT)
136
+    @RequestMapping(value="/channel/taOfficeContact/{id}",method= RequestMethod.PUT)
154 137
     public ResponseBean taOfficeContactUpdate(@PathVariable String id,
155 138
                                         @RequestBody TaOfficeContact taOfficeContact){
156 139
         ResponseBean responseBean = new ResponseBean();
157 140
         try {
141
+            taOfficeContact.setSerialNo(id);
158 142
             if (iTaOfficeContactService.updateById(taOfficeContact)){
159 143
                 responseBean.addSuccess(taOfficeContact);
160 144
             }else {
@@ -172,7 +156,7 @@ public class TaOfficeContactController extends BaseController {
172 156
      * 根据id查询对象
173 157
      * @param id  实体ID
174 158
      */
175
-    @RequestMapping(value="/taOfficeContact/{id}",method= RequestMethod.GET)
159
+    @RequestMapping(value="/channel/taOfficeContact/{id}",method= RequestMethod.GET)
176 160
     public ResponseBean taOfficeContactGet(@PathVariable String id){
177 161
         ResponseBean responseBean = new ResponseBean();
178 162
         try {

+ 2
- 2
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Visa fil

@@ -19,7 +19,7 @@ public class AccountConsumeRecordExport {
19 19
 
20 20
 
21 21
     @ColumnWidth(15)
22
-    @ExcelProperty(value = "消费金额(元)", index = 1)
22
+    @ExcelProperty(value = "金额(元)", index = 1)
23 23
     private String amount;
24 24
 
25 25
 
@@ -33,7 +33,7 @@ public class AccountConsumeRecordExport {
33 33
     private String activityName;
34 34
 
35 35
     @ColumnWidth(15)
36
-    @ExcelProperty(value = "消费下单时间", index = 4)
36
+    @ExcelProperty(value = "下单时间", index = 4)
37 37
     private String createDate;
38 38
 
39 39
 

+ 1
- 1
src/main/java/com/huiju/estateagents/excel/redPacket/AccountPayRecordExport.java Visa fil

@@ -19,7 +19,7 @@ public class AccountPayRecordExport {
19 19
 
20 20
 
21 21
     @ColumnWidth(15)
22
-    @ExcelProperty(value = "充值金额(元)", index = 1)
22
+    @ExcelProperty(value = "金额(元)", index = 1)
23 23
     private String amount;
24 24
 
25 25
 

+ 28
- 0
src/main/java/com/huiju/estateagents/miniPackage/entity/TaUserPackages.java Visa fil

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.miniPackage.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
@@ -74,5 +75,32 @@ public class TaUserPackages implements Serializable {
74 75
      */
75 76
     private Integer status;
76 77
 
78
+    /**
79
+     * 支付方式
80
+     */
81
+    private Integer payType;
77 82
 
83
+    /**
84
+     * 套餐名称
85
+     */
86
+    @TableField(exist = false)
87
+    private String standName;
88
+
89
+    /**
90
+     * 显示名称
91
+     */
92
+    @TableField(exist = false)
93
+    private String name;
94
+
95
+    /**
96
+     * 套餐价格 单位分
97
+     */
98
+    @TableField(exist = false)
99
+    private Integer price;
100
+
101
+    /**
102
+     * 时长
103
+     */
104
+    @TableField(exist = false)
105
+    private Integer amount;
78 106
 }

+ 55
- 16
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Visa fil

@@ -99,14 +99,14 @@ public class TaOrgOrderController extends BaseController {
99 99
      */
100 100
     @RequestMapping(value = "/channel/taOrgOrder/rechargeOrderExport")
101 101
     public void rechargeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
102
-                                                   @RequestParam(value = "isOffline", required = false) Boolean isOffline,
103
-                                                   @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
104
-                                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
105
-                                                   @RequestParam(value = "startDate", required = false) String startDate,
106
-                                                   @RequestParam(value = "endDate", required = false) String endDate,
107
-                                                   @RequestParam(value = "orderType", required = false) String orderType,
108
-                                                   @RequestParam(value = "orgId", required = false) Integer orgId,
109
-                                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
102
+                                    @RequestParam(value = "isOffline", required = false) Boolean isOffline,
103
+                                    @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
104
+                                    @RequestParam(value = "miniAppName", required = false) String miniAppName,
105
+                                    @RequestParam(value = "startDate", required = false) String startDate,
106
+                                    @RequestParam(value = "endDate", required = false) String endDate,
107
+                                    @RequestParam(value = "orderType", required = false) String orderType,
108
+                                    @RequestParam(value = "orgId", required = false) Integer orgId,
109
+                                    HttpServletRequest request, HttpServletResponse response) throws IOException {
110 110
         response.setContentType("application/octet-stream");
111 111
         response.setCharacterEncoding("utf-8");
112 112
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
@@ -157,13 +157,13 @@ public class TaOrgOrderController extends BaseController {
157 157
      */
158 158
     @RequestMapping(value = "/channel/taOrgOrder/refundOrderExport")
159 159
     public void refundOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
160
-                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
161
-                                   @RequestParam(value = "startDate", required = false) String startDate,
162
-                                   @RequestParam(value = "endDate", required = false) String endDate,
163
-                                   @RequestParam(value = "orderType", required = false) String orderType,
164
-                                   @RequestParam(value = "orgId", required = false) Integer orgId,
165
-                                   @RequestParam(value = "auditStatus", required = false) String auditStatus,
166
-                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
160
+                                  @RequestParam(value = "miniAppName", required = false) String miniAppName,
161
+                                  @RequestParam(value = "startDate", required = false) String startDate,
162
+                                  @RequestParam(value = "endDate", required = false) String endDate,
163
+                                  @RequestParam(value = "orderType", required = false) String orderType,
164
+                                  @RequestParam(value = "orgId", required = false) Integer orgId,
165
+                                  @RequestParam(value = "auditStatus", required = false) String auditStatus,
166
+                                  HttpServletRequest request, HttpServletResponse response) throws IOException {
167 167
         response.setContentType("application/octet-stream");
168 168
         response.setCharacterEncoding("utf-8");
169 169
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
@@ -269,7 +269,6 @@ public class TaOrgOrderController extends BaseController {
269 269
 
270 270
     /**
271 271
      * 查询接收人信息
272
-     *
273 272
      */
274 273
     @RequestMapping(value = "/channel/receiveInfo", method = RequestMethod.GET)
275 274
     public ResponseBean receiveInfoGet(@RequestParam(required = false) String phone,
@@ -559,4 +558,44 @@ public class TaOrgOrderController extends BaseController {
559 558
         }
560 559
         return responseBean;
561 560
     }
561
+
562
+    /**
563
+     * 根据tradeNo获取订单详情
564
+     *
565
+     * @param tradeNo
566
+     * @param orgId
567
+     * @return
568
+     */
569
+    @RequestMapping(value = "/channel/taOrgOrder/getOrderDetailByTradeNo", method = RequestMethod.GET)
570
+    public ResponseBean getOrderDetailByTradeNo(String tradeNo, Integer orgId) {
571
+        ResponseBean responseBean = new ResponseBean();
572
+        try {
573
+            responseBean = iTaOrgOrderService.getOrderDetailByTradeNo(tradeNo, orgId);
574
+        } catch (Exception e) {
575
+            logger.error("getOrderDetailByTradeNo 异常:", e);
576
+            responseBean.addError(e.getMessage());
577
+        }
578
+        return responseBean;
579
+    }
580
+
581
+    /**
582
+     * 根据tradeNo获取订单详情
583
+     *
584
+     * @param tradeNo
585
+     * @param request
586
+     * @return
587
+     */
588
+    @RequestMapping(value = "/admin/orgOrder/getOrderDetailByTradeNo", method = RequestMethod.GET)
589
+    public ResponseBean getOrderDetailByTradeNoForAdmin(String tradeNo, HttpServletRequest request) {
590
+        ResponseBean responseBean = new ResponseBean();
591
+        try {
592
+            responseBean = iTaOrgOrderService.getOrderDetailByTradeNo(tradeNo, getOrgId(request));
593
+        } catch (Exception e) {
594
+            logger.error("getOrderDetailByTradeNo 异常:", e);
595
+            responseBean.addError(e.getMessage());
596
+        }
597
+        return responseBean;
598
+    }
599
+
600
+
562 601
 }

+ 2
- 2
src/main/java/com/huiju/estateagents/redpack/entity/ConsumeOrder.java Visa fil

@@ -27,7 +27,7 @@ public class ConsumeOrder {
27 27
      * 消费金额
28 28
      */
29 29
     @ColumnWidth(15)
30
-    @ExcelProperty(value = "消费金额", index = 2)
30
+    @ExcelProperty(value = "金额", index = 2)
31 31
     private String amount;
32 32
 
33 33
     /**
@@ -48,7 +48,7 @@ public class ConsumeOrder {
48 48
      * 消费下单时间
49 49
      */
50 50
     @ColumnWidth(15)
51
-    @ExcelProperty(value = "消费下单时间", index = 5)
51
+    @ExcelProperty(value = "下单时间", index = 5)
52 52
     private String createDate;
53 53
 
54 54
     /**

+ 2
- 2
src/main/java/com/huiju/estateagents/redpack/entity/RechargeOrder.java Visa fil

@@ -20,14 +20,14 @@ public class RechargeOrder {
20 20
      * 充值组织
21 21
      */
22 22
     @ColumnWidth(15)
23
-    @ExcelProperty(value = "充值组织", index = 1)
23
+    @ExcelProperty(value = "公司", index = 1)
24 24
     private String miniAppName;
25 25
 
26 26
     /**
27 27
      * 充值金额
28 28
      */
29 29
     @ColumnWidth(15)
30
-    @ExcelProperty(value = "充值金额", index = 2)
30
+    @ExcelProperty(value = "金额", index = 2)
31 31
     private String amount;
32 32
 
33 33
     /**

+ 12
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Visa fil

@@ -172,4 +172,16 @@ public class TaOrgOrder implements Serializable {
172 172
     @TableField(exist = false)
173 173
     private String name;
174 174
 
175
+    /**
176
+     * 对象ID
177
+     */
178
+    @TableField(exist = false)
179
+    private String targetId;
180
+
181
+    /**
182
+     * 消费类型信息(红包活动/套餐详情)
183
+     */
184
+    @TableField(exist = false)
185
+    private Object consumeInfo;
186
+
175 187
 }

+ 17
- 7
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java Visa fil

@@ -72,13 +72,13 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
72 72
      * @return
73 73
      */
74 74
     List<RechargeOrder> rechargeListByConditionExport(@Param("itemType") String itemType,
75
-                                                          @Param("tradeNo") String tradeNo,
76
-                                                          @Param("isOffline") Boolean isOffline,
77
-                                                          @Param("tradingStatus") String tradingStatus,
78
-                                                          @Param("startDate") String startDate,
79
-                                                          @Param("endDate") String endDate,
80
-                                                          @Param("miniAppName") String miniAppName,
81
-                                                          @Param("orgId") Integer orgId);
75
+                                                      @Param("tradeNo") String tradeNo,
76
+                                                      @Param("isOffline") Boolean isOffline,
77
+                                                      @Param("tradingStatus") String tradingStatus,
78
+                                                      @Param("startDate") String startDate,
79
+                                                      @Param("endDate") String endDate,
80
+                                                      @Param("miniAppName") String miniAppName,
81
+                                                      @Param("orgId") Integer orgId);
82 82
 
83 83
     /**
84 84
      * 消费订单导出
@@ -278,4 +278,14 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
278 278
     Map<String, Object> getRedPacketSendInfo(@Param("targetType") String targetType,
279 279
                                              @Param("targetId") String targetId,
280 280
                                              @Param("orgId") Integer orgId);
281
+
282
+    /**
283
+     * 根据tradeNo获取订单详情
284
+     *
285
+     * @param tradeNo
286
+     * @param orgId
287
+     * @return
288
+     */
289
+    List<TaOrgOrder> getOrderDetailByTradeNo(@Param("tradeNo") String tradeNo,
290
+                                             @Param("orgId") Integer orgId);
281 291
 }

+ 10
- 1
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java Visa fil

@@ -163,7 +163,7 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
163 163
      * @param response
164 164
      * @throws Exception
165 165
      */
166
-    void exportRefundOrderByCondition(LocalDateTime refundStartTime, LocalDateTime refundEndTime, String orderId, String auditStatus, String wxOrderId,String tradeNo, Integer orgId, HttpServletResponse response) throws Exception;
166
+    void exportRefundOrderByCondition(LocalDateTime refundStartTime, LocalDateTime refundEndTime, String orderId, String auditStatus, String wxOrderId, String tradeNo, Integer orgId, HttpServletResponse response) throws Exception;
167 167
 
168 168
     /**
169 169
      * 条件查询红包发送记录
@@ -210,4 +210,13 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
210 210
      * @throws Exception
211 211
      */
212 212
     void exportConsumeOrderByCondition(LocalDateTime startTime, LocalDateTime endTime, String orderId, String tradingStatus, String consumeType, String phone, String wxOrderId, String tradeNo, Integer orgId, HttpServletResponse response) throws Exception;
213
+
214
+    /**
215
+     * 根据tradeNo查询订单详情
216
+     *
217
+     * @param tradeNo
218
+     * @param orgId
219
+     * @return
220
+     */
221
+    ResponseBean getOrderDetailByTradeNo(String tradeNo, Integer orgId);
213 222
 }

+ 55
- 3
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java Visa fil

@@ -20,7 +20,12 @@ import com.huiju.estateagents.entity.TaWxPayConfig;
20 20
 import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
21 21
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
22 22
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
23
+import com.huiju.estateagents.mapper.TaOrgMapper;
23 24
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
25
+import com.huiju.estateagents.miniPackage.entity.SysVipPackage;
26
+import com.huiju.estateagents.miniPackage.entity.TaUserPackages;
27
+import com.huiju.estateagents.miniPackage.mapper.SysVipPackageMapper;
28
+import com.huiju.estateagents.miniPackage.mapper.TaUserPackagesMapper;
24 29
 import com.huiju.estateagents.redpack.entity.*;
25 30
 import com.huiju.estateagents.redpack.mapper.*;
26 31
 import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
@@ -95,10 +100,16 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
95 100
     private TaWxPayConfigMapper taWxPayConfigMapper;
96 101
 
97 102
     @Autowired
98
-    private TaContactMapper taContactMapper;
103
+    private ITaOrgAccountService taOrgAccountService;
99 104
 
100 105
     @Autowired
101
-    private ITaOrgAccountService taOrgAccountService;
106
+    private TaRedPacketMapper taRedPacketMapper;
107
+
108
+    @Autowired
109
+    private TaUserPackagesMapper taUserPackagesMapper;
110
+
111
+    @Autowired
112
+    private SysVipPackageMapper sysVipPackageMapper;
102 113
 
103 114
     @Override
104 115
     public IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg,
@@ -158,7 +169,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
158 169
         return urlList;
159 170
     }
160 171
 
161
-    public Integer calculateAvailableAmount(Integer orgId){
172
+    public Integer calculateAvailableAmount(Integer orgId) {
162 173
         TaOrgAccount taOrgAccount = taOrgAccountMapper.getOrgAccountById(orgId);
163 174
 
164 175
         //查询总充值金额
@@ -172,6 +183,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
172 183
 
173 184
         return balance;
174 185
     }
186
+
175 187
     /**
176 188
      * 微信支付
177 189
      *
@@ -512,6 +524,46 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
512 524
         EasyExcel.write(response.getOutputStream(), AccountConsumeRecordExport.class).sheet("消费订单").doWrite(records);
513 525
     }
514 526
 
527
+    @Override
528
+    public ResponseBean getOrderDetailByTradeNo(String tradeNo, Integer orgId) {
529
+        ResponseBean responseBean = new ResponseBean();
530
+
531
+        // 查询订单信息
532
+        List<TaOrgOrder> orgOrders = taOrgOrderMapper.getOrderDetailByTradeNo(tradeNo,orgId);
533
+        if(CollectionUtils.isEmpty(orgOrders)){
534
+            responseBean.addError("订单不存在");
535
+            return responseBean;
536
+        }
537
+
538
+        TaOrgOrder orgOrder = orgOrders.get(0);
539
+
540
+        // 红包活动订单
541
+        if (CommConstant.RED_PACKET.equals(orgOrder.getConsumeType())) {
542
+            String activityId = orgOrder.getTargetId();
543
+            TaRedPacket taRedPacket = taRedPacketMapper.selectById(activityId);
544
+            if(null != taRedPacket){
545
+                orgOrder.setConsumeInfo(taRedPacket);
546
+            }
547
+        }
548
+
549
+        // 购买套餐订单
550
+        if (CommConstant.PACKAGE.equals(orgOrder.getConsumeType())) {
551
+            Integer userPackId = Integer.parseInt(orgOrder.getTargetId());
552
+            TaUserPackages taUserPackages = taUserPackagesMapper.selectById(userPackId);
553
+            if(null != taUserPackages){
554
+                SysVipPackage sysVipPackage = sysVipPackageMapper.selectById(taUserPackages.getPackId());
555
+                taUserPackages.setStandName(sysVipPackage.getStandName());
556
+                taUserPackages.setName(sysVipPackage.getName());
557
+                taUserPackages.setPrice(sysVipPackage.getPrice());
558
+                taUserPackages.setAmount(sysVipPackage.getAmount());
559
+                orgOrder.setConsumeInfo(taUserPackages);
560
+            }
561
+        }
562
+
563
+        responseBean.addSuccess(orgOrder);
564
+        return responseBean;
565
+    }
566
+
515 567
     /**
516 568
      * 获取每个小程序独立的微信账户
517 569
      *

+ 20
- 7
src/main/java/com/huiju/estateagents/sample/controller/TaContactController.java Visa fil

@@ -16,9 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
16 16
 import org.springframework.web.bind.annotation.*;
17 17
 
18 18
 import javax.servlet.http.HttpServletRequest;
19
-import java.math.BigDecimal;
20 19
 import java.time.LocalDateTime;
21
-import java.util.ArrayList;
22 20
 import java.util.List;
23 21
 
24 22
 
@@ -239,6 +237,7 @@ public class TaContactController extends BaseController {
239 237
     @RequestMapping(value = "/admin/listContactByCondition", method = RequestMethod.GET)
240 238
     public ResponseBean listContactByConditionForAdmin(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
241 239
                                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
240
+                                                       @RequestParam(value = "contactType") String contactType,
242 241
                                                        String contactName, String telephone, String phone, String job) {
243 242
         ResponseBean responseBean = new ResponseBean();
244 243
         try {
@@ -249,7 +248,7 @@ public class TaContactController extends BaseController {
249 248
             queryWrapper.like(!StringUtils.isEmpty(telephone), "telephone", telephone);
250 249
             queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
251 250
             queryWrapper.like(!StringUtils.isEmpty(job), "job", job);
252
-            queryWrapper.like("contact_type", CommConstant.FINANCE);
251
+            queryWrapper.like("contact_type", contactType);
253 252
             queryWrapper.ne("status", CommConstant.STATUS_DELETE);
254 253
             queryWrapper.orderByDesc("order_no", "create_date");
255 254
 
@@ -269,16 +268,23 @@ public class TaContactController extends BaseController {
269 268
      * @param id 实体ID
270 269
      */
271 270
     @RequestMapping(value = "/channel/taContactFinance/{id}", method = RequestMethod.PUT)
272
-    public ResponseBean taContactInfoAdd(@PathVariable Integer id) {
271
+    public ResponseBean taContactInfoAdd(@PathVariable Integer id,@RequestParam String contactType) {
273 272
         ResponseBean responseBean = new ResponseBean();
274 273
         TaContact contact = iTaContactService.getById(id);
275 274
         try {
276 275
             TaContact taContact = new TaContact();
277 276
             taContact.setContactId(id);
278
-            taContact.setContactType(CommConstant.FINANCE);
277
+            taContact.setContactType(contact.getContactType() + "," + contactType);
279 278
             if (!StringUtils.isEmpty(contact.getOrderNo())){
280 279
                 taContact.setOrderNo(contact.getOrderNo());
281 280
             }
281
+            QueryWrapper<TaContact> queryWrapper = new QueryWrapper<>();
282
+            queryWrapper.like("contact_type", contactType);
283
+            queryWrapper.ne("status", CommConstant.STATUS_DELETE);
284
+            List<TaContact> list = iTaContactService.list(queryWrapper);
285
+            if (contactType.equals(CommConstant.SELL) && list.size() >= 9){
286
+                return ResponseBean.error("最多维护9个人", ResponseBean.ERROR_UNAVAILABLE);
287
+            }
282 288
             if (iTaContactService.updateById(taContact)) {
283 289
                 responseBean.addSuccess(taContact);
284 290
             } else {
@@ -296,11 +302,18 @@ public class TaContactController extends BaseController {
296 302
      * 删除财务联系人
297 303
      */
298 304
     @RequestMapping(value = "/channel/taContactFinanceDel", method = RequestMethod.PUT)
299
-    public ResponseBean taContactInfoAdd(@RequestBody List<TaContact> taContacts) {
305
+    public ResponseBean taContactInfoAdd(@RequestBody List<TaContact> taContacts,@RequestParam String contactType) {
300 306
         ResponseBean responseBean = new ResponseBean();
301 307
         try {
308
+            String replaceType = CommConstant.CONCAT_TYPE_PROMOTE;
309
+            if (contactType.equals(CommConstant.FINANCE)){
310
+                replaceType = CommConstant.CONCAT_TYPE_FINANCE;
311
+            }else if (contactType.equals(CommConstant.SELL)){
312
+                replaceType = CommConstant.SELL;
313
+            }
314
+            String finalReplaceType = replaceType;
302 315
             taContacts.forEach(e -> {
303
-                e.setContactType(e.getContactType().replaceAll( CommConstant.CONCAT_TYPE_FINANCE,""));
316
+                e.setContactType(e.getContactType().replaceAll(finalReplaceType,""));
304 317
             });
305 318
             if (iTaContactService.updateBatchById(taContacts)) {
306 319
                 responseBean.addSuccess(taContacts);

+ 19
- 0
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Visa fil

@@ -532,4 +532,23 @@
532 532
         and t3.org_id = #{orgId}
533 533
     </select>
534 534
 
535
+    <select id="getOrderDetailByTradeNo" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
536
+        SELECT
537
+            t.*,
538
+            t2.item_type consumeType,
539
+            t2.target_id,
540
+            t3.nickname,
541
+            t3.phone,
542
+            t3.name,
543
+            t4.name miniappName
544
+        FROM
545
+            ta_org_order t
546
+            INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
547
+            LEFT JOIN ta_person t3 ON t2.receiver_id = t3.person_id
548
+            LEFT JOIN ta_org t4 ON t.org_id = t4.org_id
549
+        WHERE
550
+            t.org_id = #{orgId}
551
+            AND t.trade_no = #{tradeNo}
552
+    </select>
553
+
535 554
 </mapper>