|
@@ -4,21 +4,24 @@ package com.citu.module.menduner.system.service.redeem;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.citu.framework.common.pojo.PageResult;
|
|
|
import com.citu.framework.common.util.object.BeanUtils;
|
|
|
+import com.citu.module.menduner.common.enums.MathOperationEnum;
|
|
|
+import com.citu.module.menduner.common.enums.PointBizTypeEnum;
|
|
|
import com.citu.module.menduner.common.util.LoginUserContext;
|
|
|
import com.citu.module.menduner.system.controller.app.jobhunt.redeem.vo.AppRedeemSubmitReqVO;
|
|
|
import com.citu.module.menduner.system.controller.base.redeem.RedeemPageReqVO;
|
|
|
import com.citu.module.menduner.system.controller.base.redeem.RedeemSaveReqVO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.redeem.RedeemDO;
|
|
|
import com.citu.module.menduner.system.dal.mysql.redeem.RedeemMapper;
|
|
|
-import com.citu.module.menduner.common.enums.MathOperationEnum;
|
|
|
-import com.citu.module.menduner.common.enums.PointBizTypeEnum;
|
|
|
import com.citu.module.menduner.system.service.record.UserAccountRecordService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_REQUEST_ILLEGAL;
|
|
|
import static com.citu.module.menduner.system.enums.ErrorCodeConstants.REDEEM_NOT_EXISTS;
|
|
|
|
|
|
/**
|
|
@@ -30,9 +33,14 @@ import static com.citu.module.menduner.system.enums.ErrorCodeConstants.REDEEM_NO
|
|
|
@Validated
|
|
|
public class RedeemServiceImpl implements RedeemService {
|
|
|
|
|
|
+ private final static Map<String, Integer> GOOD_MAP = new HashMap<>() {{
|
|
|
+ put("减压捏捏乐", 500);
|
|
|
+ put("瑞幸咖啡券-瑞幸咖啡精致享受券", 2000);
|
|
|
+ put("门墩儿酒店英语学习年卡", 8000);
|
|
|
+ put("房券-高端酒店房券", 12000);
|
|
|
+ }};
|
|
|
@Resource
|
|
|
private RedeemMapper redeemMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private UserAccountRecordService accountRecordService;
|
|
|
|
|
@@ -83,6 +91,13 @@ public class RedeemServiceImpl implements RedeemService {
|
|
|
public void submit(AppRedeemSubmitReqVO reqVO) {
|
|
|
RedeemDO redeem = BeanUtils.toBean(reqVO, RedeemDO.class);
|
|
|
redeem.setUserId(LoginUserContext.getUserId());
|
|
|
+ Integer point = GOOD_MAP.computeIfAbsent(reqVO.getName(), v -> 0);
|
|
|
+ if (0 == point) {
|
|
|
+ throw exception(REDEEM_NOT_EXISTS);
|
|
|
+ }
|
|
|
+ if (!point.equals(reqVO.getPoint())) {
|
|
|
+ throw exception(MDE_REQUEST_ILLEGAL);
|
|
|
+ }
|
|
|
redeemMapper.insert(redeem);
|
|
|
// 创建记录
|
|
|
accountRecordService.createPointRecord(
|