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;
|
}
|
}
|