Просмотр исходного кода

[积分][修改]:积分支付时添加消费商户

release_toaliyun_real
hanxueda 7 лет назад
Родитель
Сommit
8a9a6127b2
3 измененных файлов: 20 добавлений и 28 удалений
  1. +0
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java
  2. +0
    -12
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java
  3. +20
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java

+ 0
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java Просмотреть файл

@@ -22,8 +22,6 @@ public class WxCreditHistory implements Serializable {
protected List<Long> ids;
@Transient
protected String sortColumns;
@Transient
protected List<Long> merchantIds;

@Transient
@io.swagger.annotations.ApiModelProperty(value="开始时间",name="startTime")


+ 0
- 12
mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java Просмотреть файл

@@ -189,8 +189,6 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateDate(new Date());
//根据merchantIds判断券对应的商户是否为多商户 来赋值merchantId
setMerchantId(record);
wxCreditHistoryMapper.insertSelective(record);
//将计算出来新的总积分 更新到两张用户表里
if (wxCUser != null) {
@@ -212,16 +210,6 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
return record;
}

private void setMerchantId(WxCreditHistory record) {
if (record.getMerchantIds() != null && record.getMerchantIds().size() > 0) {
if (record.getMerchantIds().size() == 1) {
record.setMerchantId(record.getMerchantIds().get(0));
} else {
record.setMerchantId(Long.valueOf(EnumMerchantType.MERCHANT_MORE.getCode()));
}
}
}

@Override
public void deleteById(Long id) {
wxCreditHistoryMapper.deleteByPrimaryKey(id);


+ 20
- 14
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Просмотреть файл

@@ -432,7 +432,7 @@ public class WxOrderServiceImpl implements WxOrderService {
if (user.getCredit() == null || user.getCredit() < coupon.getSalePrice()) {
throw new MallinkException(ErrorCode.CREDIT_NOT_ENOUGH);
}
//扣减积分操作记录
//-------此处为【积分支付】记录增加积分操作-------
WxCreditHistory creditHistory = new WxCreditHistory();
//记录操作人类型 操作人id
if (user.getOperatorType() == EnumUserType.MALLUSER.getCode()) {
@@ -448,6 +448,8 @@ public class WxOrderServiceImpl implements WxOrderService {
creditHistory.setTenantId(user.getTenantId());
creditHistory.setCreditType(EnumScoreType.CHANGE_CREDIT.getCode());
creditHistory.setCouponId(couponId);
//如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户
setMerchantId(coupon, creditHistory);
wxCreditHistoryService.saveOrUpdate(creditHistory);
record.setType(EnumOrderType.CREDIT.getCode());
//积分支付时 变更订单状态为已支付
@@ -957,7 +959,7 @@ public class WxOrderServiceImpl implements WxOrderService {

// 积分 计算
try {
//扣减积分操作记录
//-------此处为【现金支付】记录增加积分操作-------
WxCreditHistory creditHistory = new WxCreditHistory();
creditHistory.setOperatorType(EnumUserType.CUSER.getCode());
creditHistory.setOperatorId(user.getId());
@@ -969,18 +971,7 @@ public class WxOrderServiceImpl implements WxOrderService {
creditHistory.setBusinessId(Long.valueOf(coupon.getBusiness()));
creditHistory.setSpend(updateOrder.getPayment());
//如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户
WxCouponMerchant wxCouponMerchant = new WxCouponMerchant();
wxCouponMerchant.setProductId(coupon.getId());
wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode());
List<WxCouponMerchant> list = wxCouponMerchantMapper.findList(wxCouponMerchant);
if (list != null && list.size() > 0) {
if (list.size() == 1) {
creditHistory.setMerchantId(list.get(0).getMerchantId());
}
if (list.size() > 1) {
creditHistory.setMerchantId(Long.valueOf(EnumMerchantType.MERCHANT_MORE.getCode()));
}
}
setMerchantId(coupon, creditHistory);
wxCreditHistoryService.saveOrUpdate(creditHistory);
} catch (Exception e) {
logger.error("积分值:" + e.getMessage());
@@ -988,6 +979,21 @@ public class WxOrderServiceImpl implements WxOrderService {
return ret;
}

private void setMerchantId(WxCoupon coupon, WxCreditHistory creditHistory) {
WxCouponMerchant wxCouponMerchant = new WxCouponMerchant();
wxCouponMerchant.setProductId(coupon.getId());
wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode());
List<WxCouponMerchant> list = wxCouponMerchantMapper.findList(wxCouponMerchant);
if (list != null && list.size() > 0) {
if (list.size() == 1) {
creditHistory.setMerchantId(list.get(0).getMerchantId());
}
if (list.size() > 1) {
creditHistory.setMerchantId(Long.valueOf(EnumMerchantType.MERCHANT_MORE.getCode()));
}
}
}

@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public int microPayOrderSuccess(WxOrder updateOrder) {


Загрузка…
Отмена
Сохранить