Kaynağa Gözat

[积分][修改]:增加消费增长积分

release_toaliyun_real
hanxueda 7 yıl önce
ebeveyn
işleme
bcdfb1a4fb
6 değiştirilmiş dosya ile 77 ekleme ve 3 silme
  1. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java
  2. +19
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  3. +3
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java
  4. +43
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  5. +5
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java
  6. +3
    -0
      mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java Dosyayı Görüntüle

@@ -3,6 +3,8 @@ package com.iformall.service;
import com.iformall.domain.po.WxScoreRules; import com.iformall.domain.po.WxScoreRules;
import com.iformall.enums.EnumScoreType; import com.iformall.enums.EnumScoreType;


import java.util.List;

public interface WxScoreRulesService { public interface WxScoreRulesService {


/** /**
@@ -40,4 +42,6 @@ public interface WxScoreRulesService {
*/ */
int reduceScore(EnumScoreType scoreType, Object param1, Object param2, Object param3); int reduceScore(EnumScoreType scoreType, Object param1, Object param2, Object param3);


List<WxScoreRules> findList(WxScoreRules wxScoreRules);

} }

+ 19
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Dosyayı Görüntüle

@@ -12,6 +12,7 @@ import com.iformall.domain.vo.*;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.*; import com.iformall.service.*;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -394,7 +395,24 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
WxCUserBasicInfo basicQ = new WxCUserBasicInfo(); WxCUserBasicInfo basicQ = new WxCUserBasicInfo();
basicQ.setTenantId(tenantId); basicQ.setTenantId(tenantId);
basicQ.setPhone(phone); basicQ.setPhone(phone);
return wxCUserBasicInfoMapper.select(basicQ);
List<WxCUserBasicInfo> basicInfos = wxCUserBasicInfoMapper.select(basicQ);
if (basicInfos != null && basicInfos.size() > 0) {
WxCUserBasicInfo wxCUserBasicInfo = basicInfos.get(0);
if (wxCUserBasicInfo.getPoins() != null) {
List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(wxCUserBasicInfo.getTenantId());
String level = WxLevelConfigService.DEFAULT_LEVEL;
for(WxLevelConfig levelConfig: levelList) {
if (wxCUserBasicInfo.getPoins() >= levelConfig.getPoints()) {
level = levelConfig.getLevel();
}
}
wxCUserBasicInfo.setLevel(level);
List<WxCUserBasicInfo> basicInfoList = Lists.newArrayList();
basicInfoList.add(wxCUserBasicInfo);
return basicInfoList;
}
}
return basicInfos;
} }


@Override @Override


+ 3
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java Dosyayı Görüntüle

@@ -67,7 +67,8 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
public void clearCreditByYear() { public void clearCreditByYear() {
WxScoreRules wxScoreRules = new WxScoreRules(); WxScoreRules wxScoreRules = new WxScoreRules();
wxScoreRules.setType(EnumScoreRules.CREDIT.getCode()); wxScoreRules.setType(EnumScoreRules.CREDIT.getCode());

List<WxScoreRules> wxScoreRulesList = wxScoreRulesService.findList(wxScoreRules);
List<String> tenantIds = wxScoreRulesList.stream().map(WxScoreRules::getTenantId).distinct().collect(Collectors.toList());


} }


@@ -333,7 +334,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {


private int spendCredit(WxCreditHistory record) { private int spendCredit(WxCreditHistory record) {
//根据商户id和花费金额计算需要新增的积分 //根据商户id和花费金额计算需要新增的积分
Map<String,Integer> map = findByMerchantIdAndSpend(record.getMerchantId(),record.getSpendStr(),record.getTenantId());
Map<String, Integer> map = findByMerchantIdAndSpend(record.getMerchantId(), record.getSpendStr(), record.getTenantId());
return map.get("credit"); return map.get("credit");
} }




+ 43
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Dosyayı Görüntüle

@@ -105,6 +105,9 @@ public class WxOrderServiceImpl implements WxOrderService {
@Autowired @Autowired
WxCreditHistoryService wxCreditHistoryService; WxCreditHistoryService wxCreditHistoryService;


@Autowired
WxCouponChannelMapper wxCouponChannelMapper;

@Override @Override
public PageInfo<WxOrder> listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { public PageInfo<WxOrder> listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record));
@@ -951,6 +954,25 @@ public class WxOrderServiceImpl implements WxOrderService {
} catch (Exception e) { } catch (Exception e) {
logger.error("成长值:" + e.getMessage()); logger.error("成长值:" + e.getMessage());
} }

// 积分 计算
try {
//扣减积分操作记录
WxCreditHistory creditHistory = new WxCreditHistory();
creditHistory.setOperatorType(EnumUserType.CUSER.getCode());
creditHistory.setOperatorId(user.getId());
creditHistory.setCUserId(user.getId());
creditHistory.setCreateDate(new Date());
creditHistory.setTenantId(user.getTenantId());
creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode());
creditHistory.setCouponId(coupon.getId());
creditHistory.setBusinessId(Long.valueOf(coupon.getBusiness()));
creditHistory.setSpend(updateOrder.getPayment());
//creditHistory.setMerchantId(wxMerchant.getId());
wxCreditHistoryService.saveOrUpdate(creditHistory);
} catch (Exception e) {
logger.error("积分值:" + e.getMessage());
}
return ret; return ret;
} }


@@ -994,6 +1016,27 @@ public class WxOrderServiceImpl implements WxOrderService {
} catch (Exception e) { } catch (Exception e) {
logger.error("成长值:" + e.getMessage()); logger.error("成长值:" + e.getMessage());
} }
// 积分 计算
try {
//扣减积分操作记录
WxCreditHistory creditHistory = new WxCreditHistory();
creditHistory.setOperatorType(EnumUserType.CUSER.getCode());
creditHistory.setOperatorId(user.getId());
creditHistory.setCUserId(user.getId());
creditHistory.setCreateDate(new Date());
creditHistory.setTenantId(user.getTenantId());
creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode());
if (updateOrder.getCouponChannelId() != null) {
WxCouponChannel wxCouponChannel = wxCouponChannelMapper.selectByPrimaryKey(updateOrder.getCouponChannelId());
creditHistory.setCouponId(wxCouponChannel.getCouponId());
}
creditHistory.setBusinessId(Long.valueOf(wxMerchant.getBusinessId()));
creditHistory.setSpend(updateOrder.getPayment());
creditHistory.setMerchantId(wxMerchant.getId());
wxCreditHistoryService.saveOrUpdate(creditHistory);
} catch (Exception e) {
logger.error("积分值:" + e.getMessage());
}


return ret; return ret;
} }


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java Dosyayı Görüntüle

@@ -573,4 +573,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
} }
return 0; return 0;
} }

@Override
public List<WxScoreRules> findList(WxScoreRules wxScoreRules) {
return wxScoreRulesMapper.findList(wxScoreRules);
}
} }

+ 3
- 0
mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml Dosyayı Görüntüle

@@ -99,6 +99,9 @@
<if test=" null != cUserId "> <if test=" null != cUserId ">
and `c_user_id` = #{cUserId} and `c_user_id` = #{cUserId}
</if> </if>
<if test=" null != merchantId ">
and `merchant_id` = #{merchantId}
</if>
</sql> </sql>


<select id="findList" parameterType="com.iformall.domain.po.WxCreditHistory" resultMap="BaseResultMap"> <select id="findList" parameterType="com.iformall.domain.po.WxCreditHistory" resultMap="BaseResultMap">


Yükleniyor…
İptal
Kaydet