jyy
2021-04-09 f96ad6ec73b3da7df5c08471f0d567d46fc767e8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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, "核销成功");
    }
 
 
 
 
  
}