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