Commit 0aabb108 by 程裕兵

feat:send member refund wx message

parent 3e4db98f
...@@ -82,6 +82,11 @@ ...@@ -82,6 +82,11 @@
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.jiejing.fitness</groupId>
<artifactId>message-sdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.jiejing.base</groupId> <groupId>com.jiejing.base</groupId>
<artifactId>permcenter-api</artifactId> <artifactId>permcenter-api</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
......
...@@ -32,6 +32,10 @@ ...@@ -32,6 +32,10 @@
<artifactId>message-api</artifactId> <artifactId>message-api</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.jiejing.fitness</groupId>
<artifactId>message-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.jiejing.base</groupId> <groupId>com.jiejing.base</groupId>
<artifactId>permcenter-api</artifactId> <artifactId>permcenter-api</artifactId>
</dependency> </dependency>
......
package com.jiejing.fitness.finance.service.pay.impl; package com.jiejing.fitness.finance.service.pay.impl;
import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.PAY_FAIL;
import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.PAY_IN;
import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.PAY_SUCCESS;
import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.REFUND_FAIL; import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.REFUND_FAIL;
import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.REFUND_SUCCESS; import static com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum.REFUND_SUCCESS;
...@@ -15,9 +12,10 @@ import com.jiejing.common.utils.collection.CollectionUtil; ...@@ -15,9 +12,10 @@ import com.jiejing.common.utils.collection.CollectionUtil;
import com.jiejing.common.utils.convert.BeanUtil; import com.jiejing.common.utils.convert.BeanUtil;
import com.jiejing.common.utils.text.StringUtil; import com.jiejing.common.utils.text.StringUtil;
import com.jiejing.common.utils.time.TimeUtil; import com.jiejing.common.utils.time.TimeUtil;
import com.jiejing.fitness.WeChatInstParam;
import com.jiejing.fitness.enums.auth.AuthDomainEnum; import com.jiejing.fitness.enums.auth.AuthDomainEnum;
import com.jiejing.fitness.enums.config.ObjectTypeEnum;
import com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum; import com.jiejing.fitness.enums.finance.BrandCashierTransStateEnum;
import com.jiejing.fitness.enums.tenant.TenantTypeEnum;
import com.jiejing.fitness.event.finance.CashierEvent; import com.jiejing.fitness.event.finance.CashierEvent;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO; import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum; import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum;
...@@ -95,6 +93,9 @@ public class RefundServiceImpl implements RefundService { ...@@ -95,6 +93,9 @@ public class RefundServiceImpl implements RefundService {
@Resource @Resource
private ConfigRpcService configRpcService; private ConfigRpcService configRpcService;
@Resource
private WeChatInstParam weChatInstParam;
@Resource(name = "financeThreadPool") @Resource(name = "financeThreadPool")
private Executor executor; private Executor executor;
...@@ -201,6 +202,15 @@ public class RefundServiceImpl implements RefundService { ...@@ -201,6 +202,15 @@ public class RefundServiceImpl implements RefundService {
} }
private String getTargetId(StudioCashierRecord record, JSONObject extra) {
Long memberId = extra.getLong("notice_member_id");
if (null != memberId) {
return memberId.toString();
} else {
return record.getBuyerPhone();
}
}
private void sendRefundMessageToMember(RefundEvent e, StudioCashierRecord record, String bizType) { private void sendRefundMessageToMember(RefundEvent e, StudioCashierRecord record, String bizType) {
if (StringUtil.isBlank(e.getExtra())) { if (StringUtil.isBlank(e.getExtra())) {
return; return;
...@@ -214,17 +224,9 @@ public class RefundServiceImpl implements RefundService { ...@@ -214,17 +224,9 @@ public class RefundServiceImpl implements RefundService {
Boolean wx = configRpcService.getStudioBoolConfig(record.getStudioId(), "WECHAT_MEMBER_REFUND_SUCCESS"); Boolean wx = configRpcService.getStudioBoolConfig(record.getStudioId(), "WECHAT_MEMBER_REFUND_SUCCESS");
Boolean sms = configRpcService.getStudioBoolConfig(record.getStudioId(), "SMS_MEMBER_REFUND_SUCCESS"); Boolean sms = configRpcService.getStudioBoolConfig(record.getStudioId(), "SMS_MEMBER_REFUND_SUCCESS");
String targetId; String targetId = this.getTargetId(record, extra);
Long memberId = extra.getLong("notice_member_id"); List<MsgChannelEnum> channels = this.getMsgChannels(extra, wx, sms);
List<MsgChannelEnum> channels = sms ? Lists.newArrayList(MsgChannelEnum.SMS) : Lists.newArrayList();
if (null != memberId) {
targetId = memberId.toString();
if (wx) {
channels.add(MsgChannelEnum.WE_CHAT);
}
} else {
targetId = record.getBuyerPhone();
}
if (CollectionUtil.isEmpty(channels)) { if (CollectionUtil.isEmpty(channels)) {
log.info("all config is false {}, {}", wx, sms); log.info("all config is false {}, {}", wx, sms);
return; return;
...@@ -238,8 +240,9 @@ public class RefundServiceImpl implements RefundService { ...@@ -238,8 +240,9 @@ public class RefundServiceImpl implements RefundService {
paramMap.put("refundCommodity", record.getRemark()); paramMap.put("refundCommodity", record.getRemark());
paramMap.put("refundReason", record.getRemark()); paramMap.put("refundReason", record.getRemark());
paramMap.put("time", DateFormatUtils.format(e.getSuccessTime(), "yyyy-MM-dd HH:mm:ss")); paramMap.put("time", DateFormatUtils.format(e.getSuccessTime(), "yyyy-MM-dd HH:mm:ss"));
List<Map<String, Object>> paramList = Lists.newArrayList(paramMap); List<Map<String, Object>> paramList =
channels.contains(MsgChannelEnum.WE_CHAT) ? weChatInstParam.appendWeChatParam(record.getStudioId(),
Lists.newArrayList(paramMap), TenantTypeEnum.STUDIO) : Lists.newArrayList(paramMap);
SendCommonMsgEvent event = new SendCommonMsgEvent(); SendCommonMsgEvent event = new SendCommonMsgEvent();
event.setChannelEnums(channels); event.setChannelEnums(channels);
event.setCovertTarget(true); event.setCovertTarget(true);
...@@ -250,6 +253,18 @@ public class RefundServiceImpl implements RefundService { ...@@ -250,6 +253,18 @@ public class RefundServiceImpl implements RefundService {
EventAgent.of(SendCommonMsgEvent.class).triggerEvent(event); EventAgent.of(SendCommonMsgEvent.class).triggerEvent(event);
} }
private List<MsgChannelEnum> getMsgChannels(JSONObject extra, Boolean wx,
Boolean sms) {
Long memberId = extra.getLong("notice_member_id");
List<MsgChannelEnum> channels = sms ? Lists.newArrayList(MsgChannelEnum.SMS) : Lists.newArrayList();
if (null != memberId) {
if (wx) {
channels.add(MsgChannelEnum.WE_CHAT);
}
}
return channels;
}
private void sendRefundMessage(RefundEvent e, StudioCashierRecord record, String bizType) { private void sendRefundMessage(RefundEvent e, StudioCashierRecord record, String bizType) {
List<Long> targetIds = this.getAdminIds(record.getStudioId()); List<Long> targetIds = this.getAdminIds(record.getStudioId());
if (CollectionUtil.isEmpty(targetIds)) { if (CollectionUtil.isEmpty(targetIds)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment