package com.matrix.system.activity.service;
|
|
import cn.hutool.core.util.ObjectUtil;
|
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.dao.ActivitySignWriteoffDao;
|
import com.matrix.system.activity.dto.SignWriteoffDto;
|
import com.matrix.system.activity.dto.SignWriteoffListDto;
|
import com.matrix.system.activity.dto.WriteoffCodeSubmitDto;
|
import com.matrix.system.activity.entity.ActivitySignAwardSet;
|
import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
|
import com.matrix.system.activity.entity.ActivitySignWriteoff;
|
import com.matrix.system.activity.vo.SignWriteoffListVo;
|
import com.matrix.system.activity.vo.SignWriteoffVo;
|
import com.matrix.system.activity.vo.ZjrVo;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.hive.action.util.QueryUtil;
|
import com.matrix.system.hive.dao.SysVipInfoDao;
|
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;
|
|
/**
|
* @description 核销记录
|
* @author yourName
|
* @date 2021-04-08 14:25
|
*/
|
@Service
|
public class ActivitySignWriteoffService extends ServiceImpl<ActivitySignWriteoffDao, ActivitySignWriteoff>{
|
|
@Autowired
|
ActivitySignWriteoffDao activitySignWriteoffDao;
|
@Autowired
|
ShopActivitiesDao shopActivitiesDao;
|
@Autowired
|
ActivitySignAwardSetDao activitySignAwardSetDao;
|
@Autowired
|
ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
|
@Autowired
|
SysVipInfoDao sysVipInfoDao;
|
|
public IPage<SignWriteoffListVo> findSignWriteoffList(Page<SignWriteoffListVo> page,
|
SignWriteoffListDto signWriteoffListDto) {
|
return activitySignWriteoffDao.findSignWriteoffList(page,signWriteoffListDto);
|
}
|
|
public AjaxResult findSignWriteoff(SignWriteoffDto signWriteoffDto) {
|
//设置用户公司ID
|
QueryUtil.setQueryLimitCom(signWriteoffDto);
|
Long writeoffId = signWriteoffDto.getWriteoffId();
|
AjaxResult result= AjaxResult.buildSuccessInstance("成功");
|
//获取核销信息
|
SignWriteoffVo signWriteoffVo = new SignWriteoffVo();
|
ActivitySignWriteoff activitySignWriteoff = activitySignWriteoffDao.selectById(writeoffId);
|
if(ObjectUtil.isNotEmpty(activitySignWriteoff)) {
|
//获取奖品信息
|
ActivitySignAwardSet activitySignAwardSet = activitySignAwardSetDao.selectById(activitySignWriteoff.getAwardId());
|
signWriteoffVo.setJpmc(activitySignAwardSet.getAwardName());
|
signWriteoffVo.setJptp(activitySignAwardSet.getIntroduceImg());
|
signWriteoffVo.setSl(1);
|
signWriteoffVo.setDjfs(activitySignAwardSet.getAwardWay());
|
//获取中奖人信息
|
ZjrVo zjrVo = activitySignWriteoffDao.selectUsernameByUserId(activitySignWriteoff.getUserId(),activitySignAwardSet.getId());
|
signWriteoffVo.setZjr(zjrVo.getZjr());
|
signWriteoffVo.setZjsj(zjrVo.getZjsj());
|
signWriteoffVo.setDjsj(activitySignWriteoff.getWriteoffTime());
|
signWriteoffVo.setState(activitySignWriteoff.getState());
|
//获取活动主表信息
|
ShopActivities shopActivities = shopActivitiesDao.selectById(activitySignWriteoff.getActId());
|
signWriteoffVo.setHdmc(shopActivities.getActName());
|
signWriteoffVo.setHdbh(shopActivities.getActCode());
|
}
|
result.putInMap("signWriteoffVo", signWriteoffVo);
|
return result;
|
}
|
|
@Transactional
|
public AjaxResult writeoffCodeSubmit(WriteoffCodeSubmitDto writeoffCodeSubmitDto) {
|
//设置用户公司ID
|
QueryUtil.setQueryLimitCom(writeoffCodeSubmitDto);
|
SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
|
Long writeoffId = writeoffCodeSubmitDto.getWriteoffId();
|
String writeOffCode = writeoffCodeSubmitDto.getWriteOffCode();
|
/**
|
* 验证核销码是不是匹配
|
* 更新核销记录
|
* 更新领取记录
|
*/
|
//验证核销码是不是匹配
|
ActivitySignWriteoff activitySignWriteoff = activitySignWriteoffDao.selectById(writeoffId);
|
if(ObjectUtil.isNotEmpty(activitySignWriteoff)) {
|
String writeoffCodeReal = activitySignWriteoff.getWriteoffCode();
|
if(!writeoffCodeReal.equals(writeOffCode)) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "兑奖码无效");
|
}
|
}
|
//更新核销记录
|
activitySignWriteoff.setState(ActivitySignWriteoff.STATE_THREE);
|
activitySignWriteoff.setWriteoffTime(new Date());
|
activitySignWriteoff.setWriteoffUser(sysUsers.getSuName());
|
activitySignWriteoff.setWriteoffUserid(sysUsers.getSuId());
|
activitySignWriteoffDao.updateById(activitySignWriteoff);
|
//更新领取记录
|
ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(activitySignWriteoff.getReceiveId());
|
activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_DONE);
|
activitySignReceiveRecordDao.updateById(activitySignReceiveRecord);
|
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "核销成功");
|
}
|
|
|
|
|
|
}
|