From 293eb5045df36215f224f705a4adbb3e09570f51 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 06 Apr 2021 09:44:02 +0800 Subject: [PATCH] 20210406 签到活动1 --- zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java | 131 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 124 insertions(+), 7 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java index 5817eb8..8839bcd 100644 --- a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java +++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java @@ -2,7 +2,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; - import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,14 +10,15 @@ import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.WebUtil; import com.matrix.system.activity.dao.ActivitySignAwardSetDao; -import com.matrix.system.activity.dto.ActivitiesListDto; -import com.matrix.system.activity.dto.AddSignAwardSetDto; -import com.matrix.system.activity.dto.BeCloseDto; -import com.matrix.system.activity.dto.BeReadyDto; -import com.matrix.system.activity.dto.DelRowDto; -import com.matrix.system.activity.dto.SignSetBasicJsonDto; +import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao; +import com.matrix.system.activity.dto.*; import com.matrix.system.activity.entity.ActivitySignAwardSet; import com.matrix.system.activity.vo.ActivitiesListVo; +import com.matrix.system.activity.vo.AddSignAwardSetVo; +import com.matrix.system.activity.vo.CouponVo; +import com.matrix.system.activity.vo.GoodsVo; +import com.matrix.system.activity.vo.SignReceiveListVo; +import com.matrix.system.activity.vo.SignSetBasicJsonVo; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.shopXcx.bean.ShopActivities; @@ -27,8 +27,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @description 奖品设置表 @@ -42,6 +45,8 @@ private ShopActivitiesDao shopActivitiesDao; @Autowired private ActivitySignAwardSetDao activitySignAwardSetDao; + @Autowired + private ActivitySignReceiveRecordDao activitySignReceiveRecordDao; @Transactional public AjaxResult activitySignAwardSetService(AddSignAwardSetDto addSignAwardSetDto) { @@ -77,6 +82,7 @@ activitySignAwardSet.setUpdateBy(user.getSuName()); activitySignAwardSet.setCompanyId(companyId); activitySignAwardSet.setActivityId(shopActivities.getId()); + activitySignAwardSet.setAwardState(ActivitySignAwardSet.AWARDSTATE_WORK); activitySignAwardSetDao.insert(activitySignAwardSet); } } @@ -144,6 +150,117 @@ return AjaxResult.buildSuccessInstance("操作成功"); } + public IPage<SignReceiveListVo> findSignReceiveList(Page<SignReceiveListVo> page, + SignReceiveListDto signReceiveListDto) { + return activitySignReceiveRecordDao.findSignReceiveList(page,signReceiveListDto); + } + + public AjaxResult findSignForUpdate(SignForUpdateDto signForUpdateDto) { + //设置用户公司ID + QueryUtil.setQueryLimitCom(signForUpdateDto); + Long actId = signForUpdateDto.getActId(); + AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); + //获取对应的活动主表信息和对应的奖品设置信息 + AddSignAwardSetVo addSignAwardSetVo = new AddSignAwardSetVo(); + ShopActivities shopActivity = shopActivitiesDao.selectById(actId); + if(ObjectUtil.isNotEmpty(shopActivity)) { + addSignAwardSetVo.setId(actId); + addSignAwardSetVo.setActName(shopActivity.getActName()); + addSignAwardSetVo.setActCode(shopActivity.getActCode()); + addSignAwardSetVo.setBeginTime(shopActivity.getActBeginTime()); + addSignAwardSetVo.setEndTime(shopActivity.getActEndTime()); + + String actContent = shopActivity.getActContent(); + SignSetBasicJsonVo signSetBasicJsonVo = JSON.parseObject(actContent, SignSetBasicJsonVo.class); + addSignAwardSetVo.setSignSetBasicJsonDto(signSetBasicJsonVo); + + Map<String, Object> columnMap = new HashMap<String, Object>(); + columnMap.put("activity_id", actId); + columnMap.put("company_id", signForUpdateDto.getCompanyId()); + List<ActivitySignAwardSet> activitySignAwardSets = activitySignAwardSetDao.selectByMap(columnMap); + addSignAwardSetVo.setActivitySignAwardSets(activitySignAwardSets); + } + result.putInMap("addSignAwardSetVo", addSignAwardSetVo); + return result; + } + + @Transactional + public AjaxResult updateSignAwardSet(UpdateSignAwardSetDto updateSignAwardSetDto) { + //获取当前登录人员信息 + QueryUtil.setQueryLimitCom(updateSignAwardSetDto); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + Long actId = updateSignAwardSetDto.getActId(); + Long companyId = user.getCompanyId(); + ShopActivities shopActivity = shopActivitiesDao.selectById(actId); + //更新活动主表信息 + shopActivity.setActName(updateSignAwardSetDto.getActName()); + shopActivity.setActCode(updateSignAwardSetDto.getActCode()); + shopActivity.setActBeginTime(updateSignAwardSetDto.getBeginTime()); + shopActivity.setActEndTime(updateSignAwardSetDto.getEndTime()); + shopActivity.setCompanyId(companyId); + shopActivity.setCreateBy(user.getSuName()); + shopActivity.setUpdateBy(user.getSuName()); + //将基本信息转换成JSON字符串存储到活动主表的act_content字段 + SignSetBasicJsonDto signSetBasicJsonDto = updateSignAwardSetDto.getSignSetBasicJsonDto(); + String json=JSON.toJSONString(signSetBasicJsonDto); + shopActivity.setActContent(json); + shopActivitiesDao.updateByModel(shopActivity); + /** + * 比较两个奖品名单,多的新增,减少的更新为已失效,不变的更新 + */ + //原有的奖品 + ArrayList<Long> arrayListOld = new ArrayList<>(); + Map<String, Object> columnMap = new HashMap<String, Object>(); + columnMap.put("activity_id", actId); + columnMap.put("company_id", updateSignAwardSetDto.getCompanyId()); + List<ActivitySignAwardSet> activitySignAwardSetOld = activitySignAwardSetDao.selectByMap(columnMap); + if(CollUtil.isNotEmpty(activitySignAwardSetOld)) { + for(ActivitySignAwardSet activitySignAwardSetUpdate : activitySignAwardSetOld) { + Long actSubid = activitySignAwardSetUpdate.getId(); + arrayListOld.add(actSubid); + } + } + //修改后的奖品 + List<ActivitySignAwardSet> activitySignAwardSetsUpdate = updateSignAwardSetDto.getActivitySignAwardSets(); + ArrayList<Long> arrayListUpdate = new ArrayList<>(); + if(CollUtil.isNotEmpty(activitySignAwardSetsUpdate)) { + for(ActivitySignAwardSet activitySignAwardSetUpdate : activitySignAwardSetsUpdate) { + Long actSubid = activitySignAwardSetUpdate.getId(); + //如果ID为空则新增,不为空则修改 + if(ObjectUtil.isEmpty(actSubid)) { + activitySignAwardSetUpdate.setCreateBy(user.getSuName()); + activitySignAwardSetUpdate.setCreateTime(new Date()); + activitySignAwardSetUpdate.setUpdateTime(new Date()); + activitySignAwardSetUpdate.setUpdateBy(user.getSuName()); + activitySignAwardSetUpdate.setCompanyId(companyId); + activitySignAwardSetUpdate.setActivityId(actId); + activitySignAwardSetDao.insert(activitySignAwardSetUpdate); + }else { + activitySignAwardSetDao.updateById(activitySignAwardSetUpdate); + arrayListUpdate.add(actSubid); + } + } + } + //比较获取原来的比现在多出来的奖品,修改状态为失效 + boolean removeAll = arrayListOld.removeAll(arrayListUpdate); + if(removeAll && CollUtil.isNotEmpty(arrayListOld)) { + for(long id : arrayListOld) { + ActivitySignAwardSet activitySignAwardSetDel = activitySignAwardSetDao.selectById(id); + activitySignAwardSetDel.setAwardState(ActivitySignAwardSet.AWARDSTATE_UNWORK); + activitySignAwardSetDao.updateById(activitySignAwardSetDel); + } + } + return new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功"); + } + + public IPage<CouponVo> selectCouponList(Page<CouponVo> page, CouponDto couponDto) { + return activitySignReceiveRecordDao.selectCouponList(page,couponDto); + } + + public IPage<GoodsVo> selectGoodsList(Page<GoodsVo> page, GoodsDto goodsDto) { + return activitySignReceiveRecordDao.selectGoodsList(page,goodsDto); + } + -- Gitblit v1.9.1