package com.matrix.system.activity.service; 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; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.matrix.core.constance.MatrixConstance; 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.entity.ActivitySignAwardSet; import com.matrix.system.activity.vo.ActivitiesListVo; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.shopXcx.bean.ShopActivities; import com.matrix.system.shopXcx.dao.ShopActivitiesDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** * @description 奖品设置表 * @author yourName * @date 2021-03-31 16:57 */ @Service public class ActivitySignAwardSetService extends ServiceImpl{ @Autowired private ShopActivitiesDao shopActivitiesDao; @Autowired private ActivitySignAwardSetDao activitySignAwardSetDao; @Transactional public AjaxResult activitySignAwardSetService(AddSignAwardSetDto addSignAwardSetDto) { //获取当前登录人员信息 SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); Long companyId = user.getCompanyId(); //新增活动主表信息 ShopActivities shopActivities = new ShopActivities(); shopActivities.setActName(addSignAwardSetDto.getActName()); shopActivities.setActCode(addSignAwardSetDto.getActCode()); shopActivities.setIsStart(ShopActivities.ACTIVITIES_STATUS_CLOSE); shopActivities.setActType(ShopActivities.ACTIVITIES_TYPE_SIGN); shopActivities.setActStatus(ShopActivities.ACTSTATUS_STATUS_RELEASE); shopActivities.setActBeginTime(addSignAwardSetDto.getBeginTime()); shopActivities.setActEndTime(addSignAwardSetDto.getEndTime()); shopActivities.setCompanyId(companyId); shopActivities.setCreateBy(user.getSuName()); shopActivities.setUpdateBy(user.getSuName()); //将基本信息转换成JSON字符串存储到活动主表的act_content字段 SignSetBasicJsonDto signSetBasicJsonDto = addSignAwardSetDto.getSignSetBasicJsonDto(); String json=JSON.toJSONString(signSetBasicJsonDto); shopActivities.setActContent(json); int insert = shopActivitiesDao.insert(shopActivities); if(insert > 0){ //新增活动奖品信息 List activitySignAwardSets = addSignAwardSetDto.getActivitySignAwardSets(); if(CollUtil.isNotEmpty(activitySignAwardSets)) { for(ActivitySignAwardSet activitySignAwardSet : activitySignAwardSets) { activitySignAwardSet.setCreateBy(user.getSuName()); activitySignAwardSet.setCreateTime(new Date()); activitySignAwardSet.setUpdateTime(new Date()); activitySignAwardSet.setUpdateBy(user.getSuName()); activitySignAwardSet.setCompanyId(companyId); activitySignAwardSet.setActivityId(shopActivities.getId()); activitySignAwardSetDao.insert(activitySignAwardSet); } } }else{ return new AjaxResult(AjaxResult.STATUS_FAIL, "保存失败"); } return new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功"); } public IPage findActivitiesList(Page page, ActivitiesListDto activitiesListDto) { return shopActivitiesDao.findActivitiesList(page,activitiesListDto); } @Transactional public AjaxResult beReady(BeReadyDto beReadyDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(beReadyDto); Long actId = beReadyDto.getActId(); ShopActivities shopActivity = shopActivitiesDao.selectById(actId); if(ObjectUtil.isEmpty(shopActivity)) { return AjaxResult.buildFailInstance("网络不通畅,请刷新页面"); } /** * 未发布状态即使达到活动时间也不进入进行中状态 */ //未发布状态点击发布,状态变成未开始,且是开启状态 shopActivity.setActStatus(ShopActivities.ACTSTATUS_STATUS_READY); shopActivity.setIsStart(ShopActivities.ACTIVITIES_STATUS_OPEN); shopActivitiesDao.updateByModel(shopActivity); return AjaxResult.buildSuccessInstance("操作成功"); } public AjaxResult delRow(DelRowDto delRowDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(delRowDto); Long actId = delRowDto.getActId(); ShopActivities shopActivity = shopActivitiesDao.selectById(actId); if(ObjectUtil.isEmpty(shopActivity)) { return AjaxResult.buildFailInstance("网络不通畅,请刷新页面"); } /** * 删除状态更新状态为已删除,只能查看活动统计 */ shopActivity.setActStatus(ShopActivities.ACTSTATUS_STATUS_DEL); shopActivity.setIsStart(ShopActivities.ACTIVITIES_STATUS_CLOSE); shopActivitiesDao.updateByModel(shopActivity); return AjaxResult.buildSuccessInstance("操作成功"); } public AjaxResult beClose(BeCloseDto beCloseDto) { //设置用户公司ID QueryUtil.setQueryLimitCom(beCloseDto); Long actId = beCloseDto.getActId(); ShopActivities shopActivity = shopActivitiesDao.selectById(actId); if(ObjectUtil.isEmpty(shopActivity)) { return AjaxResult.buildFailInstance("网络不通畅,请刷新页面"); } /** * 关闭状态 */ shopActivity.setActStatus(ShopActivities.ACTSTATUS_STATUS_END); shopActivity.setIsStart(ShopActivities.ACTIVITIES_STATUS_CLOSE); shopActivitiesDao.updateByModel(shopActivity); return AjaxResult.buildSuccessInstance("操作成功"); } }