Browse Source

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

release_toaliyun_real
hanxueda 7 years ago
parent
commit
bcdfb1a4fb
6 changed files with 77 additions and 3 deletions
  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 View File

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

import java.util.List;

public interface WxScoreRulesService {

/**
@@ -40,4 +42,6 @@ public interface WxScoreRulesService {
*/
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 View File

@@ -12,6 +12,7 @@ import com.iformall.domain.vo.*;
import com.iformall.enums.*;
import com.iformall.mapper.*;
import com.iformall.service.*;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -394,7 +395,24 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
WxCUserBasicInfo basicQ = new WxCUserBasicInfo();
basicQ.setTenantId(tenantId);
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


+ 3
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java View File

@@ -67,7 +67,8 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
public void clearCreditByYear() {
WxScoreRules wxScoreRules = new WxScoreRules();
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) {
//根据商户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");
}



+ 43
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java View File

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

@Autowired
WxCouponChannelMapper wxCouponChannelMapper;

@Override
public PageInfo<WxOrder> listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record));
@@ -951,6 +954,25 @@ public class WxOrderServiceImpl implements WxOrderService {
} catch (Exception e) {
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;
}

@@ -994,6 +1016,27 @@ public class WxOrderServiceImpl implements WxOrderService {
} catch (Exception e) {
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;
}


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java View File

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

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

+ 3
- 0
mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml View File

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

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


Loading…
Cancel
Save