Bläddra i källkod

update --核销

release_toaliyun_real
xhxu 4 år sedan
förälder
incheckning
35abdc263a
9 ändrade filer med 270 tillägg och 45 borttagningar
  1. +1
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  2. +86
    -8
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  3. +1
    -1
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
  4. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/msg/FmInsideCouponVerifyMsg.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumCouponVerifyType.java
  6. +14
    -7
      mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java
  7. +154
    -19
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  8. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  9. +8
    -5
      mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideCouponVerifyMsgServiceImpl.java

+ 1
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Visa fil

@@ -318,7 +318,7 @@ public class WxCouponOrderController extends BaseController {
}

if (couponOrder != null) {
wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, wxMerchantBUser.getId());
wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, wxMerchantBUser.getMerchantId());
}

return new ResultData(couponOrder);


+ 86
- 8
mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Visa fil

@@ -5,19 +5,14 @@ import com.iformall.annotation.RedisCache;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardCVo;
import com.iformall.domain.vo.WxCouponCVo;
import com.iformall.domain.vo.WxCouponOrderCVo;
import com.iformall.enums.EnumCouponChannelActivityStatus;
import com.iformall.enums.EnumCouponOrderStatus;
import com.iformall.enums.EnumCouponOrderValidStatus;
import com.iformall.enums.EnumCouponType;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.service.MemCouponFromDspService;
import com.iformall.service.WxCouponOrderService;
import com.iformall.service.WxCouponService;
@@ -409,4 +404,87 @@ public class WxCouponOrderController extends BaseController {
return new ResultData();
}

@ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}")
@PostMapping("verify")
public ResultData verify(@RequestBody Map<String, String> paramMap) {
logger.info("couponOrderController.verify:" + paramMap.toString());
String couponOrderIdStr = paramMap.get("couponOrderId");
if (StringUtils.isBlank(couponOrderIdStr)) {
logger.error("couponOrderId不能为空: " + paramMap.toString());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
Long couponOrderId = 0L;
try {
couponOrderId = Long.valueOf(couponOrderIdStr);
} catch (NumberFormatException e) {
couponOrderId = 0L;
logger.error("couponOrderId参数不正确: " + paramMap.toString());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}

WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.detailCUserVo(couponOrderIdStr,getTenantInfo());

if (wxCouponOrderCVo == null)
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);

WxCUserBasicInfo member;
try {
member = getCacheMember();
} catch (Exception e) {
return new ResultData(Result.ERROR,e.getMessage());
}

Date now = new Date();
if (wxCouponOrderCVo.getValidType().equals(EnumCouponValidType.BETWEEN_TWO_TIME.getCode())){
// && !wxCouponOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())) {
if(wxCouponOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())){
if (wxCouponOrderCVo.getPickStartDate().after(now)) {
logger.error("此券有效期未开始:" + couponOrderIdStr);
return new ResultData(ErrorCode.COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE);
}
if (wxCouponOrderCVo.getPickEndDate().before(now)) {
logger.error("此券有效期已结束:" + couponOrderIdStr);
return new ResultData(ErrorCode.COUPON_ORDER_IS_LATER_THAN_VALIDDATE);
}
}else{
if (wxCouponOrderCVo.getValidStartDate().after(now)) {
logger.error("此券有效期未开始:" + couponOrderIdStr);
return new ResultData(ErrorCode.COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE);
}
if (wxCouponOrderCVo.getValidEndDate().before(now)) {
logger.error("此券有效期已结束:" + couponOrderIdStr);
return new ResultData(ErrorCode.COUPON_ORDER_IS_LATER_THAN_VALIDDATE);
}
}

} else {
if (wxCouponOrderCVo.getExpiredTime().before(now)) {
logger.error("此券已过期:" + couponOrderIdStr);
return new ResultData(ErrorCode.COUPON_IS_EXPIRED);
}
}

WxCouponOrder wxCouponOrder = wxCouponOrderService.getById(couponOrderId,getTenantInfo().getTenantId());
if (wxCouponOrder == null) {
logger.error("券ID不存在:" + couponOrderId);
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);
}
if(!member.getId().equals(wxCouponOrder.getCUserId())){
logger.error("此券不属于此人:" + member.getId());
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
}
WxCouponOrder couponOrder = null;
try {
couponOrder = wxCouponOrderService.verify(wxCouponOrder);
} catch (MallinkException e) {
logger.error("核销异常: " + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
} catch (Exception e) {
logger.error("核销异常: " + e.getMessage());
return new ResultData(ErrorCode.VERIFY_ERROR, e.getMessage());
}

return new ResultData(couponOrder);
}

}

+ 1
- 1
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java Visa fil

@@ -2214,7 +2214,7 @@ public class PosServiceImpl implements PosService {
logger.error("交易核销积分异常:" + e.getMessage());
}
// 3. 核销后处理
couponOrderService.sendInsideCouponVerifyMsg(merchantBUser, couponOrderId, merchantBUser.getId());
couponOrderService.sendInsideCouponVerifyMsg(merchantBUser, couponOrderId, merchantBUser.getMerchantId());
}
return payOrder;
}


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/msg/FmInsideCouponVerifyMsg.java Visa fil

@@ -16,6 +16,6 @@ public class FmInsideCouponVerifyMsg extends BaseMsg{
private String parentTenantId;
@io.swagger.annotations.ApiModelProperty(value = "券包ID", name = "couponOrderId")
private Long couponOrderId;
@io.swagger.annotations.ApiModelProperty(value = "B端用户ID", name = "bUserId")
private Long bUserId;
@io.swagger.annotations.ApiModelProperty(value = "B端商户ID", name = "merchantId")
private Long merchantId;
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/enums/EnumCouponVerifyType.java Visa fil

@@ -14,6 +14,8 @@ public enum EnumCouponVerifyType {

VERIFY_POS_INDEPENDENT(1, "POS独立核销"),
VERIFY_POS_PAY(2, "POS交易核销"),

VERIFY_C(3,"用户自主核销"),
;

public static EnumCouponVerifyType getEnum(Integer code) {


+ 14
- 7
mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java Visa fil

@@ -57,25 +57,32 @@ public interface WxCouponOrderService {
*/
WxCouponOrder verify(WxCouponOrder couponOrder, WxMerchantBUser bUser);

/**
* 根据主键couponOrderId(券码)核销
* C端自主核销
*
* @param couponOrder
*/
WxCouponOrder verify(WxCouponOrder couponOrder);

/**
* 核销后发送消息
*/
void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long buUserId);
void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long merchantId);

/**
* 核销后处理
*
* @param couponOrder
* @param bUser 核销人(登录用户)
* @param
*/
void actionAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser);
void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant);

/**
* 核销发券
* @param couponOrder
* @param bUser
*/
boolean sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser);
boolean sendCouponAfterVerify(WxCouponOrder couponOrder);

/**
* B端刷卡支付发券
@@ -99,9 +106,9 @@ public interface WxCouponOrderService {
/**
* 核销模板消息
* @param couponOrder
* @param bUser
* @param merchant
*/
void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchantBUser bUser, boolean hadSentCoupon);
void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchant merchant, boolean hadSentCoupon);

/**
* 根据日期 b用户查券list


+ 154
- 19
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Visa fil

@@ -475,12 +475,103 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
doAfterVerify(couponOrder, bUser, wxCoupon);
return couponOrder;
}
@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public WxCouponOrder verify(WxCouponOrder couponOrder) {

// 1. 获取券信息
WxCoupon wxCoupon = wxCouponMapper.selectById(couponOrder.getCouponId(),couponOrder.getTenantId());
if (wxCoupon == null) {
logger.error("券: coupon-" + wxCoupon.getId() + "不存在" + "couponOrder-" + couponOrder.getId());
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL);
}

// 2. 检查适用门店(自主核销有且只有一个门店)
WxCouponMerchant wxCouponMerchant = new WxCouponMerchant();
wxCouponMerchant.setProductId(wxCoupon.getId());
wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode());
WxCouponMerchant cm = null;
try{
cm = wxCouponMerchantMapper.selectOne(new QueryWrapper<>(wxCouponMerchant));
}catch (Exception e){
throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL);
}
if(cm == null){
throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL);
}

// 3. 券包状态检查
if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_OVER_TIME.getCode()) {
logger.error("已过期: couponOrder-" + couponOrder.getId());
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_OVER_TIME);
}
if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()) {
logger.error("已退款: couponOrder-" + couponOrder.getId());
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_INVALID);
}
if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()) {
logger.error("已经核销过的券: couponOrder-" + couponOrder.getId());
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_USED);
}
if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.POS_PRE_VERIFY.getCode()) {
logger.error("券已被预核销: couponOrder-" + couponOrder.getId());
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_PRE_VERIFY);
}

//如果开启了分账,就必须要配置分账账号
WxAppinfo appInfo = getAppinfo(couponOrder,couponOrder.getPayVendor());
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId());
WxProfitSharingReceiver psReceiverQ = new WxProfitSharingReceiver();
psReceiverQ.updateTenantInfo(payAccount);
psReceiverQ.setMerchantId(cm.getMerchantId());
psReceiverQ.setSharingType(payServiceFactory.getPayShareAdapterService(couponOrder.getPayVendor()).getProfitSharingType());
psReceiverQ.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode());
List<WxProfitSharingReceiver> psReceiverList = wxProfitSharingReceiverMapper.findList(psReceiverQ);
if (null == payAccount.getShare()) {
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID.getCode(),"该租户payAccount未设置分账.");
}
if (EnumPayShare.YES.getCode().intValue() == payAccount.getShare().intValue()) {
if (null == psReceiverList || psReceiverList.size() == 0) {
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID.getCode(),"该商户未设置分账账号.");
}else {
for (WxProfitSharingReceiver receiver:psReceiverList) {
if (EnumProfitSharingReceiverType.PROFIT_SHARING_RECEIVER_PERSONAL_WECHATID.getCode().intValue()
== receiver.getReceiverType().intValue()) {
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID.getCode(),"该商户收款账号存在个人微信号方式,微信已停止支持,请重新设置.");
}
}
}
}
int num = 0;
try {
couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); //1核销
couponOrder.setVerifyType(EnumCouponVerifyType.VERIFY_C.getCode());
couponOrder.setUpdateDate(new Date());
num = wxCouponOrderMapper.updateVerifyCouponOrder(couponOrder);
} catch (Exception e) {
logger.error("db failed: couponOrder-" + couponOrder.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
if (num != 1) {
logger.error("核销异常:updatete num " + num);
throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num);
}
doAfterVerify(couponOrder, wxCoupon, cm.getMerchantId());
this.sendInsideCouponVerifyMsg(couponOrder, couponOrder.getId(), cm.getMerchantId());
return couponOrder;
}

/**
* B端核销卷增加成长值,积分
* @param couponOrder
* @param bUser
* @param wxCoupon
*/
private void doAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser, WxCoupon wxCoupon) {
// 成长值
try {
WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId());
wxScoreRulesService.addScore2(bUser,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
wxScoreRulesService.addScore2(couponOrder,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());
}
@@ -511,6 +602,12 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
}
}

/**
* 核销停车劵增加成长值,积分
* @param couponOrder
* @param wxCoupon
* @param cuUser
*/
private void doAfterVerify(WxCouponOrder couponOrder, WxCoupon wxCoupon, WxCUserBasicInfo cuUser) {
// 成长值
try {
@@ -542,18 +639,56 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
}
}

/**
* 自主核销商品加成长值 积分
* @param couponOrder
* @param wxCoupon
*/
private void doAfterVerify(WxCouponOrder couponOrder, WxCoupon wxCoupon,Long merchantId) {
// 成长值
try {
WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId());
wxScoreRulesService.addScore2(couponOrder,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());
}

// 积分
try {
//-------此处为【现金支付】记录增加积分操作-------
WxCreditHistory creditHistory = new WxCreditHistory();
creditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode());
creditHistory.setOperatorId(couponOrder.getCUserId());
creditHistory.setCUserId(couponOrder.getCUserId());
creditHistory.setCreateDate(new Date());
// creditHistory.updateTenantInfo(couponOrder);
creditHistory.setTenantId(couponOrder.getFinalTenantId());
creditHistory.setFinalTenantId(couponOrder.getFinalTenantId());
creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode());
creditHistory.setCouponId(wxCoupon.getId());
creditHistory.setBusinessId(wxCoupon.getBusiness());
creditHistory.setSpend(couponOrder.getCouponPrice());
//如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户
creditHistory.setMerchantId(merchantId);
creditHistory.setChangePurpose("用户自主核销增加积分:券名称["+wxCoupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] ");
wxCreditHistoryService.saveOrUpdate(creditHistory,couponOrder.getTenantId());
} catch (Exception e) {
logger.error("积分值:" + e.getMessage());
}
}

@Override
public void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long buUserId) {
public void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long merchantId) {
FmInsideCouponVerifyMsg verifyMsg = new FmInsideCouponVerifyMsg();
verifyMsg.setMsgType(EnumMsgRecordType.INSIDE_COUPON_VERIFY.getCode());
verifyMsg.updateTenantInfo(tenantEntity);
verifyMsg.setCouponOrderId(couponOrderId);
verifyMsg.setBUserId(buUserId);
verifyMsg.setMerchantId(merchantId);
mqBaseProducer.sendMessage(verifyMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}

@Override
public void actionAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser) {
public void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant) {

WxPayAccount wxPayAccountQuery = new WxPayAccount();
wxPayAccountQuery.updateTenantInfo(couponOrder);
@@ -562,7 +697,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
try {
// 核销记账,并且往账户里面记帐
if (couponOrder.getCouponPrice() > 0) {
recordAfterVerified(couponOrder, bUser.getMerchantId());
recordAfterVerified(couponOrder, merchant.getId());
}
} catch (Exception e) {
logger.error("核销记账失败"+e.getMessage(),e);
@@ -572,14 +707,14 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
if (EnumComposeOrder.isSingle(couponOrder.getComposeOrderType())) {
try {
// 核销分账
shareAfterVerify(couponOrder, bUser.getMerchantId(),couponOrder.getPayVendor(),false);
shareAfterVerify(couponOrder, merchant.getId(),couponOrder.getPayVendor(),false);
} catch (Exception e) {
logger.error("核销记账失败"+e.getMessage(),e);
}
}else {
try {
// 核销分账
shareAfterVerify(couponOrder, bUser.getMerchantId(),couponOrder.getPayVendor(),true);
shareAfterVerify(couponOrder, merchant.getId(),couponOrder.getPayVendor(),true);
} catch (Exception e) {
logger.error("核销记账失败"+e.getMessage(),e);
}
@@ -588,7 +723,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {

try {
// 核销补贴
subsidyAfterVerify(couponOrder, bUser.getMerchantId());
subsidyAfterVerify(couponOrder, merchant.getId());
} catch (Exception e) {
logger.error("核销记账失败"+e.getMessage(),e);
}
@@ -597,14 +732,14 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {

// 核销发券
try {
bSentCoupon = sendCouponAfterVerify(couponOrder, bUser);
bSentCoupon = sendCouponAfterVerify(couponOrder);
} catch (Exception e) {
logger.error("核销记账失败"+e.getMessage(),e);
}

// 核销发模板消息
try {
sendVerifyMsg(couponOrder, bUser, bSentCoupon);
sendVerifyMsg(couponOrder, merchant, bSentCoupon);
} catch (Exception e) {
logger.error("核销发送消息发生错误:" + e.getMessage(),e);
}
@@ -800,7 +935,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
}

@Override
public boolean sendCouponAfterVerify(WxCouponOrder couponOrder, WxMerchantBUser bUser) {
public boolean sendCouponAfterVerify(WxCouponOrder couponOrder) {
// 核销发券
WxOrder wxOrder = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId());
if (wxOrder != null) {
@@ -833,7 +968,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
* @param couponOrder, bUser
*/
@Override
public void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchantBUser bUser, boolean hadSentCoupon) {
public void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchant merchant, boolean hadSentCoupon) {
// 1. get order info
WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId());
if (order == null) {
@@ -846,18 +981,18 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
logger.error("找不到券信息");
throw new MallinkException(ErrorCode.COUPON_IS_EMPTY);
}
// 3. merchant info
WxMerchant merchant = wxMerchantMapper.selectById(bUser.getMerchantId());
if (merchant == null) {
logger.error("找不到商户信息");
throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND);
}
// // 3. merchant info
// WxMerchant merchant = wxMerchantMapper.selectById(merchant.getId());
// if (merchant == null) {
// logger.error("找不到商户信息");
// throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND);
// }

// 4. get user info
WxCUser user = null;

WxCUser wcuQ = new WxCUser();
wcuQ.updateTenantInfo(bUser);
wcuQ.updateTenantInfo(couponOrder);
wcuQ.setUserId(couponOrder.getCUserId());
List<WxCUser> list = wxCUserMapper.findList(wcuQ);
if(list != null && list.size() > 0){


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Visa fil

@@ -981,7 +981,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
logger.error(e.getMessage());
}
// 更新后处理
wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getId());
wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getMerchantId());
}
}
} catch (Exception e) {
@@ -1105,7 +1105,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
logger.error(e.getMessage());
}
// 更新后处理
wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getId());
wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getMerchantId());
}
}
} catch (Exception e) {


+ 8
- 5
mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideCouponVerifyMsgServiceImpl.java Visa fil

@@ -28,6 +28,9 @@ public class FmInsideCouponVerifyMsgServiceImpl implements MsgSendService {
@Autowired
private WxMerchantBUserService merchantBUserService;

@Autowired
private WxMerchantService merchantService;

@Override
public void send(BaseMsg baseMsg) throws Exception{
FmInsideCouponVerifyMsg msg = (FmInsideCouponVerifyMsg)baseMsg;
@@ -37,12 +40,12 @@ public class FmInsideCouponVerifyMsgServiceImpl implements MsgSendService {
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL.getCode(), "券包ID未找到" + msg.getCouponOrderId());
}

WxMerchantBUser user = merchantBUserService.getById(msg.getBUserId());
if(user == null) {
logger.error("用户未找到: " + msg.getBUserId());
throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "用户未找到" + msg.getBUserId());
WxMerchant merchant = merchantService.selectById(msg.getMerchantId());
if(merchant == null) {
logger.error("门店未找到: " + msg.getMerchantId());
throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "门店未找到" + msg.getMerchantId());
}

couponOrderService.actionAfterVerify(couponOrder, user);
couponOrderService.actionAfterVerify(couponOrder, merchant);
}
}

Laddar…
Avbryt
Spara