소스 검색

新需求

魏超 5 년 전
부모
커밋
8db6dd6871

+ 4
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java 파일 보기

@@ -879,4 +879,8 @@ public class CommConstant {
879 879
      */
880 880
     public static final String TRADING_STATUS_PROCESSING = "processing";
881 881
 
882
+    /**
883
+     * 人员类型---财务
884
+     */
885
+    public static final String FINANCE = "finance";
882 886
 }

+ 8
- 3
src/main/java/com/huiju/estateagents/redpack/controller/TaH5TemplateController.java 파일 보기

@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
16 16
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17 17
 import com.huiju.estateagents.base.BaseController;
18 18
 import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.common.StringUtils;
19 20
 import com.huiju.estateagents.redpack.entity.TaH5Template;
20 21
 import com.huiju.estateagents.redpack.service.ITaH5TemplateService;
21 22
 
@@ -28,7 +29,7 @@ import com.huiju.estateagents.redpack.service.ITaH5TemplateService;
28 29
  * @since 2020-06-03
29 30
  */
30 31
 @RestController
31
-@RequestMapping("/")
32
+@RequestMapping("/api")
32 33
 public class TaH5TemplateController extends BaseController {
33 34
 
34 35
     private final Logger logger = LoggerFactory.getLogger(TaH5TemplateController.class);
@@ -43,14 +44,18 @@ public class TaH5TemplateController extends BaseController {
43 44
      * @param pageSize
44 45
      * @return
45 46
      */
46
-    @RequestMapping(value="/taH5Template",method= RequestMethod.GET)
47
+    @RequestMapping(value="/channel/taH5Template",method= RequestMethod.GET)
47 48
     public ResponseBean taH5TemplateList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
-									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+									    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50
+                                        @RequestParam(value ="h5TemplateId", required = false) String h5TemplateId,
51
+                                        @RequestParam(value ="name", required = false) String name){
49 52
         ResponseBean responseBean = new ResponseBean();
50 53
         try {
51 54
             //使用分页插件
52 55
 		    IPage<TaH5Template> pg = new Page<>(pageNum, pageSize);
53 56
             QueryWrapper<TaH5Template> queryWrapper = new QueryWrapper<>();
57
+            queryWrapper.eq(!StringUtils.isEmpty(h5TemplateId), "h5_template_id", h5TemplateId);
58
+            queryWrapper.eq(!StringUtils.isEmpty(name), "name", name);
54 59
             queryWrapper.orderByDesc("create_date");
55 60
 
56 61
             IPage<TaH5Template> result = iTaH5TemplateService.page(pg, queryWrapper);

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java 파일 보기

@@ -149,7 +149,7 @@ public class TaOrgAccountController extends BaseController {
149 149
     public ResponseBean taOrgAccountGet(@PathVariable Integer id){
150 150
         ResponseBean responseBean = new ResponseBean();
151 151
         try {
152
-            responseBean.addSuccess(iTaOrgAccountService.getById(id));
152
+            responseBean.addSuccess(iTaOrgAccountService.getOrgAccountById(id));
153 153
         }catch (Exception e){
154 154
             e.printStackTrace();
155 155
             logger.error("taOrgAccountDelete -=- {}",e.toString());

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

@@ -96,4 +96,10 @@ public class TaOrgAccount implements Serializable {
96 96
      */
97 97
     @TableField(exist = false)
98 98
     private Integer refundAmount;
99
+
100
+    /**
101
+     * 代理商名称
102
+     */
103
+    private String channelProxyName;
104
+
99 105
 }

+ 7
- 1
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgAccountBlockedMapper.java 파일 보기

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.redpack.mapper;
2 2
 
3 3
 import org.apache.ibatis.annotations.Mapper;
4
+import org.apache.ibatis.annotations.Param;
4 5
 
5 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 7
 import com.huiju.estateagents.redpack.entity.TaOrgAccountBlocked;
@@ -15,5 +16,10 @@ import com.huiju.estateagents.redpack.entity.TaOrgAccountBlocked;
15 16
  */
16 17
 @Mapper
17 18
 public interface TaOrgAccountBlockedMapper extends BaseMapper<TaOrgAccountBlocked> {
18
-
19
+    /**
20
+     * 总冻结金额
21
+     * @param orgId
22
+     * @return
23
+     */
24
+    Integer countTotalBlockAmount(@Param("orgId") Integer orgId);
19 25
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgAccountMapper.java 파일 보기

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.redpack.mapper;
2 2
 
3 3
 import org.apache.ibatis.annotations.Mapper;
4
+import org.apache.ibatis.annotations.Param;
4 5
 
5 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 7
 import com.huiju.estateagents.redpack.entity.TaOrgAccount;
@@ -15,5 +16,5 @@ import com.huiju.estateagents.redpack.entity.TaOrgAccount;
15 16
  */
16 17
 @Mapper
17 18
 public interface TaOrgAccountMapper extends BaseMapper<TaOrgAccount> {
18
-
19
+    TaOrgAccount getOrgAccountById(@Param("orgId") Integer orgId);
19 20
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java 파일 보기

@@ -51,4 +51,11 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
51 51
                                          @Param("itemType") String itemType,
52 52
                                          @Param("startDate") LocalDate startDate,
53 53
                                          @Param("endDate") LocalDate endDate);
54
+
55
+    /**
56
+     * 总充值金额
57
+     * @param orgId
58
+     * @return
59
+     */
60
+    Integer countTotalRechargeAmount(@Param("orgId") Integer orgId);
54 61
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgAccountService.java 파일 보기

@@ -31,4 +31,11 @@ public interface ITaOrgAccountService extends IService<TaOrgAccount> {
31 31
      * @return
32 32
      */
33 33
     ResponseBean refundAccount(String accountId, TaOrgAccount taOrgAccount, Integer orgId, Integer userId);
34
+
35
+    /**
36
+     * 账户详情接口
37
+     * @param orgId
38
+     * @return
39
+     */
40
+    ResponseBean getOrgAccountById(Integer orgId);
34 41
 }

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

@@ -18,6 +18,10 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
18 18
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
19 19
 import com.huiju.estateagents.common.CommConstant;
20 20
 import com.huiju.estateagents.common.CommonUtils;
21
+import com.huiju.estateagents.common.SMSUtils;
22
+import com.huiju.estateagents.common.StringUtils;
23
+import com.huiju.estateagents.entity.SysSmsSetting;
24
+import com.huiju.estateagents.mapper.SysSmsSettingMapper;
21 25
 import com.huiju.estateagents.redpack.entity.TaOrgAccount;
22 26
 import com.huiju.estateagents.redpack.entity.TaOrgAccountBlocked;
23 27
 import com.huiju.estateagents.redpack.entity.TaOrgAccountCertificate;
@@ -33,6 +37,8 @@ import com.huiju.estateagents.redpack.mapper.TaOrgOrderDetailMapper;
33 37
 import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
34 38
 import com.huiju.estateagents.redpack.mapper.TaOrgRefundApplicationMapper;
35 39
 import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
40
+import com.huiju.estateagents.sample.entity.TaContact;
41
+import com.huiju.estateagents.sample.mapper.TaContactMapper;
36 42
 
37 43
 import io.swagger.models.auth.In;
38 44
 
@@ -71,6 +77,15 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
71 77
     @Autowired
72 78
     private TaUserMapper taUserMapper;
73 79
 
80
+    @Autowired
81
+    private TaContactMapper taContactMapper;
82
+
83
+    @Autowired
84
+    SysSmsSettingMapper sysSmsSettingMapper;
85
+
86
+    @Autowired
87
+    SMSUtils smsUtils;
88
+
74 89
     @Override
75 90
     @Transactional(rollbackFor = {RuntimeException.class})
76 91
     public ResponseBean rechargeAccount(String accountId, TaOrgAccount taOrgAccount, Integer orgId, Integer userId) {
@@ -109,6 +124,11 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
109 124
             return responseBean;
110 125
         }
111 126
 
127
+        TaContact taContact = selectSmsContactUser();
128
+        String[] smsParams = {"业务平台充值成功", taOrgOrder.getTradeNo() + taOrgAccount.getMiniappName()};
129
+        // 短信发送
130
+        sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_RECHARGE, smsParams);
131
+
112 132
         return responseBean;
113 133
     }
114 134
 
@@ -154,6 +174,30 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
154 174
             return responseBean;
155 175
         }
156 176
 
177
+        TaContact taContact = selectSmsContactUser();
178
+        String[] smsParams = {"业务平台退款申请", taOrgOrder.getTradeNo() + taOrgAccount.getMiniappName()};
179
+        // 短信发送
180
+        sendSmsMessage(taContact.getPhone(), CommConstant.ITEM_TYPE_REFUND, smsParams);
181
+
182
+        return responseBean;
183
+    }
184
+
185
+    @Override
186
+    public ResponseBean getOrgAccountById(Integer orgId) {
187
+        ResponseBean responseBean = new ResponseBean<>();
188
+        TaOrgAccount taOrgAccount = taOrgAccountMapper.getOrgAccountById(orgId);
189
+
190
+        //查询总充值金额
191
+        Integer totalRechargeAmount = taOrgOrderMapper.countTotalRechargeAmount(orgId);
192
+
193
+        //查询退款冻结额
194
+        Integer totalBlockAmount = taOrgAccountBlockedMapper.countTotalBlockAmount(orgId);
195
+
196
+        //账户余额=总充值金额-已消费金额-已退款额-退款冻结额
197
+        Integer balance = totalRechargeAmount - taOrgAccount.getPurchaseAmount() - taOrgAccount.getTotalRefund() - totalBlockAmount;
198
+        taOrgAccount.setRealBalance(balance);
199
+
200
+        responseBean.addSuccess(taOrgAccount);
157 201
         return responseBean;
158 202
     }
159 203
 
@@ -307,4 +351,37 @@ public class TaOrgAccountServiceImpl extends ServiceImpl<TaOrgAccountMapper, TaO
307 351
         TaUser taUser = taUserMapper.selectOne(taUserQueryWrapper);
308 352
         return taUser;
309 353
     }
354
+
355
+    private String sendSmsMessage(String tel, String type, String[] params) {
356
+        if (StringUtils.isEmpty(tel) || StringUtils.isEmpty(type)) {
357
+            return "短信发送失败: 没有手机号或者短信模板";
358
+        }
359
+
360
+        QueryWrapper<SysSmsSetting> query = new QueryWrapper<>();
361
+        query.eq("sms_type", type);
362
+        query.eq("status", CommConstant.STATUS_NORMAL);
363
+        query.last("limit 1");
364
+
365
+        SysSmsSetting smsSetting = sysSmsSettingMapper.selectOne(query);
366
+        if (null == smsSetting) {
367
+
368
+            // TODO 写消息发送日志
369
+
370
+            return "没有设置有效的【" + type + "】短信模板";
371
+        }
372
+
373
+        boolean success = smsUtils.sendMessage(smsSetting.getTplCode(), tel, params);
374
+
375
+        // TODO 写消息发送日志
376
+
377
+        return success ? null : "短信发送失败";
378
+    }
379
+
380
+    public TaContact selectSmsContactUser(){
381
+        //获取操作人
382
+        QueryWrapper<TaContact> taContactQueryWrapper = new QueryWrapper<>();
383
+        taContactQueryWrapper.eq("contact_Type", CommConstant.FINANCE);
384
+        TaContact taContact = taContactMapper.selectOne(taContactQueryWrapper);
385
+        return taContact;
386
+    }
310 387
 }

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

@@ -298,7 +298,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
298 298
         taOrgRefundApplication.setAuditorId(userId);
299 299
         taOrgRefundApplication.setAuditorName(taUser.getUserName());
300 300
         taOrgRefundApplication.setAuditResult(CommConstant.ITEM_TYPE_REFUND.equals(operateType) ? "退款成功" : refundApplication.getAuditResult());
301
-        taOrgRefundApplication.setAuditStatus(CommConstant.ITEM_TYPE_REFUND.equals(operateType) ? "同意" : "不同意");
301
+        taOrgRefundApplication.setAuditStatus(CommConstant.ITEM_TYPE_REFUND.equals(operateType) ? "agree" : "unAgree");
302 302
 
303 303
         return taOrgRefundApplication;
304 304
     }

+ 5
- 0
src/main/resources/mapper/redpack/TaOrgAccountBlockedMapper.xml 파일 보기

@@ -2,4 +2,9 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaOrgAccountBlockedMapper">
4 4
 
5
+    <select id="countTotalBlockAmount" resultType="java.lang.Integer">
6
+        select sum(t.blocked_balance) from ta_org_account_blocked t
7
+        where t.org_id = #{orgId}
8
+    </select>
9
+
5 10
 </mapper>

+ 12
- 0
src/main/resources/mapper/redpack/TaOrgAccountMapper.xml 파일 보기

@@ -2,4 +2,16 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.redpack.mapper.TaOrgAccountMapper">
4 4
 
5
+    <select id="getOrgAccountById" resultType="com.huiju.estateagents.redpack.entity.TaOrgAccount">
6
+        select
7
+        t.miniapp_name,
8
+        c.channel_proxy_name,
9
+        t.purchase_amount,
10
+        total_refund
11
+        From ta_org_account  t
12
+        left join ta_channel_app_relation b on t.org_id = b.org_id
13
+        left join ta_channel_proxy c on b.channel_id = c.channel_id
14
+        where t.org_id = #{orgId}
15
+    </select>
16
+
5 17
 </mapper>

+ 6
- 0
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml 파일 보기

@@ -86,5 +86,11 @@
86 86
         GROUP BY t.order_id
87 87
     </select>
88 88
 
89
+    <select id="countTotalRechargeAmount" resultType="java.lang.Integer">
90
+        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}
92
+        and a.item_type = 'recharge'
93
+    </select>
94
+
89 95
 
90 96
 </mapper>