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