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