jyy
2021-01-25 949efdc17fa833f6511c0e5902057f3be0fe72c4
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
package com.matrix.system.hive.action;
 
import com.matrix.core.anotations.SaveRequestToken;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.hive.bean.SysSmsSendRecord;
import com.matrix.system.hive.bean.SysSmsShop;
import com.matrix.system.hive.bean.SysSmsShopRecord;
import com.matrix.system.hive.dao.SysSmsShopDao;
import com.matrix.system.hive.dao.SysSmsShopRecordDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
 
@RequestMapping(value = "admin/smsShop")
@ControllerAdvice
public class SysSmsShopController {
 
    @Autowired
    private SysSmsShopDao sysSmsShopDao;
 
    @Autowired
    private SysSmsShopRecordDao sysSmsShopRecordDao;
 
    @RequestMapping(value = "/showList")
    @ResponseBody
    public AjaxResult showList(SysSmsShop sysSmsShop, PaginationVO pageVo) {
        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        sysSmsShop.setCompanyId(users.getCompanyId());
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, sysSmsShopDao.selectInPage(sysSmsShop, pageVo), sysSmsShopDao.selectTotalRecord(sysSmsShop));
    }
 
    @SaveRequestToken
    @RequestMapping(value = "/editForm")
    public ModelAndView editForm(Long id) {
        SysSmsShop sysSmsSendRecord = new SysSmsShop();
        ModelAndView modelAndView = new ModelAndView("admin/hive-erp/sms/sysSmsShop-form");
        if (id != null) {
            sysSmsSendRecord = sysSmsShopDao.selectById(id);
        }
        modelAndView.addObject("obj", sysSmsSendRecord);
        return modelAndView;
    }
 
    @RequestMapping(value = "/addSmsShop")
    @ResponseBody
    @Transactional
    public AjaxResult addSmsShop(SysSmsShop sysSmsShop) {
        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
 
        SysSmsShop hasExist = sysSmsShopDao.selectByShopId(sysSmsShop.getShopId());
        if (hasExist == null) {
            if (SysSmsShop.SMS_DISTRIBUTION_REDUCE == sysSmsShop.getType()) {
                return AjaxResult.buildFailInstance("该店铺还没有分配短信,无法减少");
            }
 
            sysSmsShopDao.insert(sysSmsShop);
        } else {
            sysSmsShop.setId(hasExist.getId());
 
            if (SysSmsShop.SMS_DISTRIBUTION_REDUCE == sysSmsShop.getType()) {
                if (hasExist.getRemainingCnt() < sysSmsShop.getRemainingCnt()) {
                    return AjaxResult.buildFailInstance("没有足够的短信余量可以减");
                }
                hasExist.setRemainingCnt(hasExist.getRemainingCnt() - sysSmsShop.getRemainingCnt());
            } else {
                hasExist.setRemainingCnt(hasExist.getRemainingCnt() + sysSmsShop.getRemainingCnt());
            }
            LogUtil.info("#---->{}#", hasExist.getRemainingCnt());
            sysSmsShopDao.updateByModel(hasExist);
        }
 
        SysSmsShopRecord ssr = new SysSmsShopRecord();
        ssr.setSsId(sysSmsShop.getId());
        ssr.setSmsCnt(sysSmsShop.getRemainingCnt());
        ssr.setCreateBy(users.getSuName());
        ssr.setType(sysSmsShop.getType());
        int i = sysSmsShopRecordDao.insert(ssr);
        if (i > 0) {
            return AjaxResult.buildSuccessInstance("分配成功");
        } else {
            return AjaxResult.buildFailInstance("分配失败");
        }
    }
 
    @RequestMapping(value = "/showSmsRecordList")
    @ResponseBody
    public AjaxResult showSmsRecordList(SysSmsShopRecord sysSmsShopRecord, PaginationVO pageVo) {
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, sysSmsShopRecordDao.selectInPage(sysSmsShopRecord, pageVo), sysSmsShopRecordDao.selectTotalRecord(sysSmsShopRecord));
    }
 
    @RequestMapping(value = "/getShopRemainingCnt")
    @ResponseBody
    public AjaxResult getShopRemainingCnt() {
        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
 
        SysSmsShop hasExist = sysSmsShopDao.selectByShopId(users.getShopId());
        AjaxResult ajaxResult = new AjaxResult(AjaxResult.STATUS_SUCCESS, null);
        int remainingCnt = 0;
        if (hasExist != null) {
            remainingCnt = hasExist.getRemainingCnt();
        }
        ajaxResult.putInMap("remainingCnt", remainingCnt);
        return ajaxResult;
    }
}