From 9e3cad74d0eb3f0b8a21bc90b651667c3252bad7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 21 八月 2019 14:54:52 +0800 Subject: [PATCH] 积分明细 --- fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++-- 1 files changed, 71 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java index 8e40a10..fc802c9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java +++ b/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(); } -- Gitblit v1.8.0