From 95f9ea7eb339c36cade6c67d0385c49ec2d81477 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 14 Apr 2021 19:39:45 +0800
Subject: [PATCH] Merge branch 'score_shop' into api_score_meger
---
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java | 271 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 271 insertions(+), 0 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
new file mode 100644
index 0000000..aed8a95
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
@@ -0,0 +1,271 @@
+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.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;
+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.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @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;
+ @Autowired
+ private ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
+
+ @Transactional
+ public AjaxResult activitySignAwardSetService(AddSignAwardSetDto addSignAwardSetDto) {
+ //获取当前登录人员信息
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ Long companyId = user.getCompanyId();
+ /**
+ * todo签到活动的唯一性
+ */
+
+ //新增活动主表信息
+ 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());
+ activitySignAwardSet.setAwardState(ActivitySignAwardSet.AWARDSTATE_WORK);
+ 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("操作成功");
+ }
+
+ 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.getActMainId();
+ 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);
+ }
+
+
+
+
+
+}
\ No newline at end of file
--
Gitblit v1.9.1