Pārlūkot izejas kodu

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

# Conflicts:
#	src/main/java/com/huiju/estateagents/common/CommConstant.java
魏超 5 gadus atpakaļ
vecāks
revīzija
25a7e7d040

+ 19
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java Parādīt failu

19
 import com.huiju.estateagents.common.WxUtils;
19
 import com.huiju.estateagents.common.WxUtils;
20
 import com.huiju.estateagents.entity.*;
20
 import com.huiju.estateagents.entity.*;
21
 import com.huiju.estateagents.mapper.*;
21
 import com.huiju.estateagents.mapper.*;
22
+import com.huiju.estateagents.miniPackage.entity.TaUserPackages;
23
+import com.huiju.estateagents.miniPackage.mapper.TaUserPackagesMapper;
22
 import com.huiju.estateagents.service.*;
24
 import com.huiju.estateagents.service.*;
23
 import org.apache.commons.collections.CollectionUtils;
25
 import org.apache.commons.collections.CollectionUtils;
24
 import org.springframework.beans.factory.annotation.Autowired;
26
 import org.springframework.beans.factory.annotation.Autowired;
95
     @Autowired
97
     @Autowired
96
     private TaChannelProxyMapper taChannelProxyMapper;
98
     private TaChannelProxyMapper taChannelProxyMapper;
97
 
99
 
100
+    @Autowired
101
+    private TaUserPackagesMapper taUserPackagesMapper;
102
+
98
     @Autowired
103
     @Autowired
99
     private WxUtils wxUtils;
104
     private WxUtils wxUtils;
100
 
105
 
691
         cities.add(signUpEntity.getCity().toString());
696
         cities.add(signUpEntity.getCity().toString());
692
 
697
 
693
         TaUser taUser = new TaUser();
698
         TaUser taUser = new TaUser();
694
-        taUser.setUserName(signUpEntity.getCompany());
699
+        taUser.setUserName(signUpEntity.getPhone());
695
         taUser.setPhone(signUpEntity.getPhone());
700
         taUser.setPhone(signUpEntity.getPhone());
696
         taUser.setLoginPassword(signUpEntity.getPassword());
701
         taUser.setLoginPassword(signUpEntity.getPassword());
697
         taUser.setStatus(CommConstant.STATUS_NORMAL);
702
         taUser.setStatus(CommConstant.STATUS_NORMAL);
708
 
713
 
709
         taUser = newUserAndOrg(taUser, taChannelProxy.getChannelId());
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
         return taUser;
729
         return taUser;
712
     }
730
     }
713
 
731
 

+ 23
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Parādīt failu

574
      */
574
      */
575
     public static final String RED_PACKET = "RedPacket";
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
      */
902
      */
898
     public static final String FINANCE = "finance";
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
      */
947
      */
938
     public static final String YEAR = "year";
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 Parādīt failu

16
 import org.springframework.beans.factory.annotation.Autowired;
16
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.web.bind.annotation.*;
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
  * <p>
22
  * <p>
80
 
79
 
81
     /**
80
     /**
82
      * 保存对象
81
      * 保存对象
83
-     * @param taOfficeContact 实体对象
84
      * @return
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
         ResponseBean responseBean = new ResponseBean();
87
         ResponseBean responseBean = new ResponseBean();
91
         try {
88
         try {
92
-
93
             // 主键格式 20200611001  日期 + 数字,  数字 3 位, 前面补 0
89
             // 主键格式 20200611001  日期 + 数字,  数字 3 位, 前面补 0
94
             String today = DateUtils.todayCompact();
90
             String today = DateUtils.todayCompact();
95
             Integer no = dbUtils.nextVal(SEQ_PREFIX + "-" + today);
91
             Integer no = dbUtils.nextVal(SEQ_PREFIX + "-" + today);
96
             taOfficeContact.setSerialNo(StringUtils.lpad(no.toString(), "0", 3));
92
             taOfficeContact.setSerialNo(StringUtils.lpad(no.toString(), "0", 3));
97
-
93
+            taOfficeContact.setCreateDate(LocalDateTime.now());
94
+            taOfficeContact.setStatus(2);   // 待跟进
98
             if (iTaOfficeContactService.save(taOfficeContact)){
95
             if (iTaOfficeContactService.save(taOfficeContact)){
99
                 responseBean.addSuccess(taOfficeContact);
96
                 responseBean.addSuccess(taOfficeContact);
100
             }else {
97
             }else {
108
         return responseBean;
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
      * 根据id删除对象
109
      * 根据id删除对象
127
      * @param id  实体ID
110
      * @param id  实体ID
150
      * @param taOfficeContact 实体对象
133
      * @param taOfficeContact 实体对象
151
      * @return
134
      * @return
152
      */
135
      */
153
-    @RequestMapping(value="/taOfficeContact/{id}",method= RequestMethod.PUT)
136
+    @RequestMapping(value="/channel/taOfficeContact/{id}",method= RequestMethod.PUT)
154
     public ResponseBean taOfficeContactUpdate(@PathVariable String id,
137
     public ResponseBean taOfficeContactUpdate(@PathVariable String id,
155
                                         @RequestBody TaOfficeContact taOfficeContact){
138
                                         @RequestBody TaOfficeContact taOfficeContact){
156
         ResponseBean responseBean = new ResponseBean();
139
         ResponseBean responseBean = new ResponseBean();
157
         try {
140
         try {
141
+            taOfficeContact.setSerialNo(id);
158
             if (iTaOfficeContactService.updateById(taOfficeContact)){
142
             if (iTaOfficeContactService.updateById(taOfficeContact)){
159
                 responseBean.addSuccess(taOfficeContact);
143
                 responseBean.addSuccess(taOfficeContact);
160
             }else {
144
             }else {
172
      * 根据id查询对象
156
      * 根据id查询对象
173
      * @param id  实体ID
157
      * @param id  实体ID
174
      */
158
      */
175
-    @RequestMapping(value="/taOfficeContact/{id}",method= RequestMethod.GET)
159
+    @RequestMapping(value="/channel/taOfficeContact/{id}",method= RequestMethod.GET)
176
     public ResponseBean taOfficeContactGet(@PathVariable String id){
160
     public ResponseBean taOfficeContactGet(@PathVariable String id){
177
         ResponseBean responseBean = new ResponseBean();
161
         ResponseBean responseBean = new ResponseBean();
178
         try {
162
         try {

+ 2
- 2
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Parādīt failu

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

+ 1
- 1
src/main/java/com/huiju/estateagents/excel/redPacket/AccountPayRecordExport.java Parādīt failu

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

+ 28
- 0
src/main/java/com/huiju/estateagents/miniPackage/entity/TaUserPackages.java Parādīt failu

1
 package com.huiju.estateagents.miniPackage.entity;
1
 package com.huiju.estateagents.miniPackage.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;
74
      */
75
      */
75
     private Integer status;
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 Parādīt failu

99
      */
99
      */
100
     @RequestMapping(value = "/channel/taOrgOrder/rechargeOrderExport")
100
     @RequestMapping(value = "/channel/taOrgOrder/rechargeOrderExport")
101
     public void rechargeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
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
         response.setContentType("application/octet-stream");
110
         response.setContentType("application/octet-stream");
111
         response.setCharacterEncoding("utf-8");
111
         response.setCharacterEncoding("utf-8");
112
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
112
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
157
      */
157
      */
158
     @RequestMapping(value = "/channel/taOrgOrder/refundOrderExport")
158
     @RequestMapping(value = "/channel/taOrgOrder/refundOrderExport")
159
     public void refundOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
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
         response.setContentType("application/octet-stream");
167
         response.setContentType("application/octet-stream");
168
         response.setCharacterEncoding("utf-8");
168
         response.setCharacterEncoding("utf-8");
169
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
169
         response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
269
 
269
 
270
     /**
270
     /**
271
      * 查询接收人信息
271
      * 查询接收人信息
272
-     *
273
      */
272
      */
274
     @RequestMapping(value = "/channel/receiveInfo", method = RequestMethod.GET)
273
     @RequestMapping(value = "/channel/receiveInfo", method = RequestMethod.GET)
275
     public ResponseBean receiveInfoGet(@RequestParam(required = false) String phone,
274
     public ResponseBean receiveInfoGet(@RequestParam(required = false) String phone,
559
         }
558
         }
560
         return responseBean;
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 Parādīt failu

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

+ 2
- 2
src/main/java/com/huiju/estateagents/redpack/entity/RechargeOrder.java Parādīt failu

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

+ 12
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Parādīt failu

172
     @TableField(exist = false)
172
     @TableField(exist = false)
173
     private String name;
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 Parādīt failu

72
      * @return
72
      * @return
73
      */
73
      */
74
     List<RechargeOrder> rechargeListByConditionExport(@Param("itemType") String itemType,
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
     Map<String, Object> getRedPacketSendInfo(@Param("targetType") String targetType,
278
     Map<String, Object> getRedPacketSendInfo(@Param("targetType") String targetType,
279
                                              @Param("targetId") String targetId,
279
                                              @Param("targetId") String targetId,
280
                                              @Param("orgId") Integer orgId);
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 Parādīt failu

163
      * @param response
163
      * @param response
164
      * @throws Exception
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
      * @throws Exception
210
      * @throws Exception
211
      */
211
      */
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;
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 Parādīt failu

20
 import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
20
 import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
21
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
21
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
22
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
22
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
23
+import com.huiju.estateagents.mapper.TaOrgMapper;
23
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
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
 import com.huiju.estateagents.redpack.entity.*;
29
 import com.huiju.estateagents.redpack.entity.*;
25
 import com.huiju.estateagents.redpack.mapper.*;
30
 import com.huiju.estateagents.redpack.mapper.*;
26
 import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
31
 import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
95
     private TaWxPayConfigMapper taWxPayConfigMapper;
100
     private TaWxPayConfigMapper taWxPayConfigMapper;
96
 
101
 
97
     @Autowired
102
     @Autowired
98
-    private TaContactMapper taContactMapper;
103
+    private ITaOrgAccountService taOrgAccountService;
99
 
104
 
100
     @Autowired
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
     @Override
114
     @Override
104
     public IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg,
115
     public IPage<TaOrgOrder> listByCondition(IPage<TaOrgOrder> pg,
158
         return urlList;
169
         return urlList;
159
     }
170
     }
160
 
171
 
161
-    public Integer calculateAvailableAmount(Integer orgId){
172
+    public Integer calculateAvailableAmount(Integer orgId) {
162
         TaOrgAccount taOrgAccount = taOrgAccountMapper.getOrgAccountById(orgId);
173
         TaOrgAccount taOrgAccount = taOrgAccountMapper.getOrgAccountById(orgId);
163
 
174
 
164
         //查询总充值金额
175
         //查询总充值金额
172
 
183
 
173
         return balance;
184
         return balance;
174
     }
185
     }
186
+
175
     /**
187
     /**
176
      * 微信支付
188
      * 微信支付
177
      *
189
      *
512
         EasyExcel.write(response.getOutputStream(), AccountConsumeRecordExport.class).sheet("消费订单").doWrite(records);
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 Parādīt failu

16
 import org.springframework.web.bind.annotation.*;
16
 import org.springframework.web.bind.annotation.*;
17
 
17
 
18
 import javax.servlet.http.HttpServletRequest;
18
 import javax.servlet.http.HttpServletRequest;
19
-import java.math.BigDecimal;
20
 import java.time.LocalDateTime;
19
 import java.time.LocalDateTime;
21
-import java.util.ArrayList;
22
 import java.util.List;
20
 import java.util.List;
23
 
21
 
24
 
22
 
239
     @RequestMapping(value = "/admin/listContactByCondition", method = RequestMethod.GET)
237
     @RequestMapping(value = "/admin/listContactByCondition", method = RequestMethod.GET)
240
     public ResponseBean listContactByConditionForAdmin(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
238
     public ResponseBean listContactByConditionForAdmin(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
241
                                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
239
                                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
240
+                                                       @RequestParam(value = "contactType") String contactType,
242
                                                        String contactName, String telephone, String phone, String job) {
241
                                                        String contactName, String telephone, String phone, String job) {
243
         ResponseBean responseBean = new ResponseBean();
242
         ResponseBean responseBean = new ResponseBean();
244
         try {
243
         try {
249
             queryWrapper.like(!StringUtils.isEmpty(telephone), "telephone", telephone);
248
             queryWrapper.like(!StringUtils.isEmpty(telephone), "telephone", telephone);
250
             queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
249
             queryWrapper.like(!StringUtils.isEmpty(phone), "phone", phone);
251
             queryWrapper.like(!StringUtils.isEmpty(job), "job", job);
250
             queryWrapper.like(!StringUtils.isEmpty(job), "job", job);
252
-            queryWrapper.like("contact_type", CommConstant.FINANCE);
251
+            queryWrapper.like("contact_type", contactType);
253
             queryWrapper.ne("status", CommConstant.STATUS_DELETE);
252
             queryWrapper.ne("status", CommConstant.STATUS_DELETE);
254
             queryWrapper.orderByDesc("order_no", "create_date");
253
             queryWrapper.orderByDesc("order_no", "create_date");
255
 
254
 
269
      * @param id 实体ID
268
      * @param id 实体ID
270
      */
269
      */
271
     @RequestMapping(value = "/channel/taContactFinance/{id}", method = RequestMethod.PUT)
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
         ResponseBean responseBean = new ResponseBean();
272
         ResponseBean responseBean = new ResponseBean();
274
         TaContact contact = iTaContactService.getById(id);
273
         TaContact contact = iTaContactService.getById(id);
275
         try {
274
         try {
276
             TaContact taContact = new TaContact();
275
             TaContact taContact = new TaContact();
277
             taContact.setContactId(id);
276
             taContact.setContactId(id);
278
-            taContact.setContactType(CommConstant.FINANCE);
277
+            taContact.setContactType(contact.getContactType() + "," + contactType);
279
             if (!StringUtils.isEmpty(contact.getOrderNo())){
278
             if (!StringUtils.isEmpty(contact.getOrderNo())){
280
                 taContact.setOrderNo(contact.getOrderNo());
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
             if (iTaContactService.updateById(taContact)) {
288
             if (iTaContactService.updateById(taContact)) {
283
                 responseBean.addSuccess(taContact);
289
                 responseBean.addSuccess(taContact);
284
             } else {
290
             } else {
296
      * 删除财务联系人
302
      * 删除财务联系人
297
      */
303
      */
298
     @RequestMapping(value = "/channel/taContactFinanceDel", method = RequestMethod.PUT)
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
         ResponseBean responseBean = new ResponseBean();
306
         ResponseBean responseBean = new ResponseBean();
301
         try {
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
             taContacts.forEach(e -> {
315
             taContacts.forEach(e -> {
303
-                e.setContactType(e.getContactType().replaceAll( CommConstant.CONCAT_TYPE_FINANCE,""));
316
+                e.setContactType(e.getContactType().replaceAll(finalReplaceType,""));
304
             });
317
             });
305
             if (iTaContactService.updateBatchById(taContacts)) {
318
             if (iTaContactService.updateBatchById(taContacts)) {
306
                 responseBean.addSuccess(taContacts);
319
                 responseBean.addSuccess(taContacts);

+ 19
- 0
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Parādīt failu

532
         and t3.org_id = #{orgId}
532
         and t3.org_id = #{orgId}
533
     </select>
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
 </mapper>
554
 </mapper>