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

[积分][修改]:新增积分后端计算入库

release_toaliyun_real
hanxueda 7 лет назад
Родитель
Сommit
6515d587ae
4 измененных файлов: 24 добавлений и 5 удалений
  1. +9
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java
  2. +1
    -1
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java
  4. +13
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java

+ 9
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java Просмотреть файл

@@ -63,5 +63,14 @@ public class WxCreditHistoryController extends BaseController
return new ResultData(Result.SUCCESS,"查询成功",wxCreditHistoryService.getById(id));
}

/**
* 根据A端设置的【每自然年末扣除前N年用户积分】规则,扣减用户积分
* @return
*/
public ResultData clearCreditByYear(){
logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::clearCreditByYear");
wxCreditHistoryService.clearCreditByYear();
return new ResultData(Result.SUCCESS);
}

}

+ 1
- 1
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -280,7 +280,7 @@ public enum ErrorCode{
CREDIT_ZERO(13100,"本次操作积分为零"),
CREDIT_NOT_ENOUGH(13101, "积分不够扣减值"),
USER_NOT_MEMBER(13102, "该用户不是小程序会员"),
CREDIT_TOO_MUCH(13103, "超出最大积分"),
OUT_OF_CREDIT(13103, "超出最大积分"),


/**


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java Просмотреть файл

@@ -52,5 +52,5 @@ public interface WxCreditHistoryService {

Map<String, Integer> findByMerchantIdAndSpend(Long merchantId, String spendStr, String tenantId);
void clearCreditByYear();
}

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

@@ -11,6 +11,7 @@ import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCreditHistoryVo;
import com.iformall.enums.EnumBusiness;
import com.iformall.enums.EnumScoreRules;
import com.iformall.enums.EnumScoreType;
import com.iformall.enums.EnumUserType;
import com.iformall.exception.MallinkException;
@@ -62,6 +63,14 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
@Autowired
RedisLock redisLock;

@Override
public void clearCreditByYear() {
WxScoreRules wxScoreRules = new WxScoreRules();
wxScoreRules.setType(EnumScoreRules.CREDIT.getCode());


}

@Override
public PageInfo<WxCreditHistory> listAsPage(WxCreditHistory record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCreditHistoryMapper.findList(record));
@@ -165,7 +174,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
if (creditChangeNum != 0) {
Long total = Long.valueOf(currentCreditAmount) + Long.valueOf(creditChangeNum);
if (total > Integer.MAX_VALUE) {
throw new MallinkException(ErrorCode.CREDIT_TOO_MUCH);
throw new MallinkException(ErrorCode.OUT_OF_CREDIT);
}
if (total < 0) {
throw new MallinkException(ErrorCode.CREDIT_NOT_ENOUGH);
@@ -323,8 +332,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
}

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

private int changeCredit(WxCreditHistory record) {


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