yujian
2019-08-21 9e3cad74d0eb3f0b8a21bc90b651667c3252bad7
积分明细
5个文件已修改
101 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralDetailServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralDetailService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralDetailServiceImpl.java
@@ -28,6 +28,11 @@
    @Resource
    private IntegralDetailMapper integralDetailMapper;
    
    @Override
    public void insertSelective(IntegralDetail record) {
        integralDetailMapper.insertSelective(record);
    }
    @Override
    public List<IntegralDetailVO> listDetailForClient(Long uid, Long detailId, Date maxTime, Integer type) {
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java
@@ -14,13 +14,16 @@
import com.yeshi.fanli.dao.mybatis.integral.IntegralTaskRecordMapper;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.integral.IntegralDetail;
import com.yeshi.fanli.entity.integral.IntegralTask;
import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
import com.yeshi.fanli.exception.integral.IntegralTaskRecordException;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.integral.IntegralDetailService;
import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService;
import com.yeshi.fanli.service.inter.integral.IntegralTaskService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@Service
@@ -31,6 +34,14 @@
    @Resource
    private UserInfoExtraService userInfoExtraService;
    @Resource
    private IntegralDetailService integralDetailService;
    @Resource
    private IntegralTaskService integralTaskService;
    @Override
    public Integer getTotalGoldCoin(long uid, Long cid, Integer dateType) {
@@ -140,9 +151,47 @@
        if (userInfoExtra == null)
            throw new IntegralTaskRecordException(1, "用户信息不全");
        int totalGoldCoin = integralTaskRecordMapper.countTotalGoldCoin(uid);
        if (totalGoldCoin > 0) {
            integralTaskRecordMapper.updateReceived(uid);
        List<IntegralTaskRecord> list = integralTaskRecordMapper.listNotReceived(Integer.MAX_VALUE, uid);
        if (list == null || list.size() == 0)
            throw new IntegralTaskRecordException(1, "暂无可领取");
        Integer totalGoldCoin = 0;
        for (IntegralTaskRecord record : list) {
            Long uid2 = record.getUid();
            if (uid2 == null || uid.longValue() != uid2.longValue())
                continue; // 用户id不符合
            if (record.getState() != null && record.getState().intValue() == 1) {
                continue; // 已领取
            }
            IntegralTaskRecord taskRecord = new IntegralTaskRecord();
            taskRecord.setId(record.getId());
            taskRecord.setState(1); // 已领取
            taskRecord.setUpdateTime(new Date());
            integralTaskRecordMapper.updateByPrimaryKeySelective(taskRecord);
            Long taskId = record.getTaskId();
            if (taskId == null)
                continue;
            IntegralTask integralTask = integralTaskService.selectByPrimaryKey(taskId);
            if (integralTask == null)
                continue;
            // 加入明细
            IntegralDetail detail = new IntegralDetail();
            detail.setUid(uid);
            detail.setCreateTime(new Date());
            detail.setMoney(record.getGoldCoin());
            detail.setTitle(integralTask.getName());
            integralDetailService.insertSelective(detail);
            totalGoldCoin += record.getGoldCoin();
        }
        Integer goldCoin = userInfoExtra.getGoldCoin();
@@ -193,6 +242,24 @@
            taskRecord.setUpdateTime(new Date());
            integralTaskRecordMapper.updateByPrimaryKeySelective(taskRecord);
            Long taskId = record.getTaskId();
            if (taskId == null)
                continue;
            IntegralTask integralTask = integralTaskService.selectByPrimaryKey(taskId);
            if (integralTask == null)
                continue;
            // 加入明细
            IntegralDetail detail = new IntegralDetail();
            detail.setUid(uid);
            detail.setCreateTime(new Date());
            detail.setMoney(record.getGoldCoin());
            detail.setTitle(integralTask.getName());
            integralDetailService.insertSelective(detail);
            totalGoldCoin += record.getGoldCoin();
        }
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskServiceImpl.java
@@ -16,6 +16,12 @@
    @Resource
    private IntegralTaskMapper integralTaskMapper;
    @Override
    public IntegralTask selectByPrimaryKey(Long id) {
        return integralTaskMapper.selectByPrimaryKey(id);
    }
    @Override
    public List<IntegralTask> listByCid(Long cid) {
        return integralTaskMapper.listByCid(cid);
fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralDetailService.java
@@ -3,6 +3,7 @@
import java.util.Date;
import java.util.List;
import com.yeshi.fanli.entity.integral.IntegralDetail;
import com.yeshi.fanli.vo.integral.IntegralDetailVO;
public interface IntegralDetailService {
@@ -25,6 +26,10 @@
     */
    public long countDetailForClient(Long uid, Long detailId, Date maxTime, Integer type);
    /**
     *
     * @param record
     */
    public void insertSelective(IntegralDetail record);
}
fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskService.java
@@ -23,4 +23,12 @@
    public List<IntegralTask> listByCid(Long cid);
    /**
     *
     * @param id
     * @return
     */
    public IntegralTask selectByPrimaryKey(Long id);
}