| @@ -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); | |||||
| } | } | ||||
| @@ -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 | ||||
| @@ -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"); | ||||
| } | } | ||||
| @@ -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; | ||||
| } | } | ||||
| @@ -573,4 +573,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||||
| } | } | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| @Override | |||||
| public List<WxScoreRules> findList(WxScoreRules wxScoreRules) { | |||||
| return wxScoreRulesMapper.findList(wxScoreRules); | |||||
| } | |||||
| } | } | ||||
| @@ -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"> | ||||