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<ActivitySignAwardSetDao, ActivitySignAwardSet>{
|
|
@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<ActivitySignAwardSet> 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<ActivitiesListVo> findActivitiesList(Page<ActivitiesListVo> 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("操作成功");
|
}
|
|
|
|
|
|
}
|