|
|
@@ -1,28 +1,43 @@
|
|
|
package io.renren.modules.qmjz.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import io.renren.common.exception.RRException;
|
|
|
import io.renren.common.utils.PageUtils;
|
|
|
-import io.renren.common.utils.Query;
|
|
|
import io.renren.modules.qmjz.entity.GoodsApplyEntity;
|
|
|
+import io.renren.modules.qmjz.entity.GoodsEntity;
|
|
|
+import io.renren.modules.qmjz.entity.ScoreStu;
|
|
|
import io.renren.modules.qmjz.entity.bo.GoodsApplyBo;
|
|
|
import io.renren.modules.qmjz.entity.vo.GoodsApplyVo;
|
|
|
+import io.renren.modules.qmjz.enums.ScoreType;
|
|
|
+import io.renren.modules.qmjz.enums.TaskType;
|
|
|
import io.renren.modules.qmjz.mapper.GoodsApplyMapper;
|
|
|
+import io.renren.modules.qmjz.mapper.ScoreStuMapper;
|
|
|
import io.renren.modules.qmjz.model.PageQuery;
|
|
|
import io.renren.modules.qmjz.service.GoodsApplyService;
|
|
|
+import io.renren.modules.qmjz.service.GoodsService;
|
|
|
+import io.renren.modules.qmjz.service.ScoreStuService;
|
|
|
+import io.renren.modules.qmjz.utils.DateForStr;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
|
@Service("goodsApplyService")
|
|
|
public class GoodsApplyServiceImpl extends ServiceImpl<GoodsApplyMapper, GoodsApplyEntity> implements GoodsApplyService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ScoreStuService scoreStuService;
|
|
|
+ @Autowired
|
|
|
+ private ScoreStuMapper scoreStuMapper;
|
|
|
+ @Autowired
|
|
|
+ private GoodsService goodsService;
|
|
|
+
|
|
|
@Override
|
|
|
public PageUtils queryPage(GoodsApplyBo bo, PageQuery pageQuery) {
|
|
|
IPage<GoodsApplyVo> page = this.baseMapper.queryPage(pageQuery.build(), bo);
|
|
|
@@ -41,6 +56,20 @@ public class GoodsApplyServiceImpl extends ServiceImpl<GoodsApplyMapper, GoodsAp
|
|
|
if (count > 0) {
|
|
|
return;
|
|
|
}
|
|
|
+ GoodsEntity goodsEntity = goodsService.loadById(bo.getGoodsId(), true);
|
|
|
+ BigDecimal points = goodsEntity.getPoints();
|
|
|
+ //扣积分
|
|
|
+ ScoreStu add = new ScoreStu();
|
|
|
+ add.setDay(DateForStr.getInfoDateStr(new Date()));
|
|
|
+ add.setStuId(bo.getUserId());
|
|
|
+ add.setScoreType(ScoreType.STORE_SCORE.getCode());
|
|
|
+ add.setTaskId(TaskType.GOODS_APPLY_DEDUCT.getCode());
|
|
|
+ add.setBusinessId(bo.getGoodsId());
|
|
|
+ add.setScoreEvent(TaskType.GOODS_APPLY_DEDUCT.getInfo());
|
|
|
+ add.setScoreValue(NumberUtil.sub(BigDecimal.ZERO, points).intValue());
|
|
|
+ add.setCreateTime(new Date());
|
|
|
+ add.setSurplusScore(NumberUtil.sub(BigDecimal.ZERO, points).intValue() + this.scoreStuService.getTotalScore(bo.getUserId()));
|
|
|
+ scoreStuMapper.insert(add);
|
|
|
|
|
|
GoodsApplyEntity entity = BeanUtil.toBean(bo, GoodsApplyEntity.class);
|
|
|
entity.setCreateTime(new Date());
|