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{ @Autowired ActivitySignWriteoffDao activitySignWriteoffDao; @Autowired ShopActivitiesDao shopActivitiesDao; @Autowired ActivitySignAwardSetDao activitySignAwardSetDao; @Autowired ActivitySignReceiveRecordDao activitySignReceiveRecordDao; @Autowired SysVipInfoDao sysVipInfoDao; public IPage findSignWriteoffList(Page 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, "核销成功"); } }