| package com.matrix.system.hiveErp.action; | 
|   | 
| import com.alibaba.fastjson.JSONObject; | 
| import com.matrix.core.constance.MatrixConstance; | 
| import com.matrix.core.constance.SystemMessageCode; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.constance.SystemErrorCode; | 
| import com.matrix.core.anotations.RemoveRequestToken; | 
| import com.matrix.core.tools.*; | 
| import com.matrix.system.common.bean.SysUsers; | 
| import com.matrix.system.hive.action.util.QueryUtil; | 
| import com.matrix.system.hive.dao.SysSmsTemplateDao; | 
| import com.matrix.system.hive.plugin.message.StringUtil; | 
| import com.matrix.system.hive.plugin.util.CollectionUtils; | 
| import org.springframework.stereotype.Controller; | 
| import com.matrix.core.exception.GlobleException; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import com.matrix.core.anotations.SaveRequestToken; | 
| import com.matrix.core.pojo.AjaxResult; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import com.matrix.system.hive.bean.SysSmsTemplate; | 
| import org.springframework.web.servlet.ModelAndView; | 
|   | 
| import java.util.Collection; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * @author wzy | 
|  * @description 短信模板表 | 
|  * @date 2020-03-15 18:42 | 
|  */ | 
| @Controller | 
| @RequestMapping(value = "admin/sysSmsTemplate") | 
| public class SysSmsTemplateAction { | 
|   | 
|     @Autowired | 
|     private SysSmsTemplateDao sysSmsTemplateDao; | 
|   | 
|     @Autowired | 
|     private SmsUtils smsUtils; | 
|   | 
|     //记录编辑前的值Before_Edit_Value | 
|     public static final String BEV = "SysSmsTemplate_BEV"; | 
|   | 
|   | 
|     /** | 
|      * 列表显示 | 
|      */ | 
|     @RequestMapping(value = "/showList") | 
|     public @ResponseBody | 
|     AjaxResult showList(SysSmsTemplate sysSmsTemplate, PaginationVO pageVo) { | 
|         if (pageVo == null) { | 
|             pageVo = new PaginationVO(); | 
|         } | 
|         SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|         sysSmsTemplate.setCompanyId(users.getCompanyId()); | 
|         QueryUtil.setQueryLimitCom(sysSmsTemplate); | 
|         List<SysSmsTemplate> dataList = sysSmsTemplateDao.selectInPage(sysSmsTemplate, pageVo); | 
|   | 
|         if (CollectionUtils.isNotEmpty(dataList)) { | 
|             for (SysSmsTemplate smsTemplate : dataList) { | 
|                 if (SysSmsTemplate.SMS_STATUS_DOING.equals(smsTemplate.getStStatus())) { | 
|                     String result = smsUtils.querySmsTemplate(smsTemplate.getStCode()); | 
|                     JSONObject object = JSONObject.parseObject(result); | 
|   | 
|                     if ("OK".equals(object.getString("Code"))) { | 
|                         Integer status = object.getInteger("TemplateStatus"); | 
|   | 
|                         if (SysSmsTemplate.SMS_STATUS_Y.equals(status)) { | 
|                             smsTemplate.setStStatus(status); | 
|                             sysSmsTemplateDao.updateByModel(smsTemplate); | 
|                         } else if (SysSmsTemplate.SMS_STATUS_N.equals(status)) { | 
|                             smsTemplate.setStStatus(status); | 
|                             smsTemplate.setStReason(object.getString("Reason")); | 
|                             sysSmsTemplateDao.updateByModel(smsTemplate); | 
|                         } | 
|                     } | 
|                 } | 
|             } | 
|         } | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, | 
|                 sysSmsTemplateDao.selectTotalRecord(sysSmsTemplate)); | 
|         return result; | 
|     } | 
|   | 
|     /** | 
|      * 新增 | 
|      */ | 
|     @RemoveRequestToken | 
|     @RequestMapping(value = "/addSysSmsTemplate") | 
|     public @ResponseBody | 
|     AjaxResult addSysSmsTemplate(SysSmsTemplate sysSmsTemplate) { | 
|         SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|         sysSmsTemplate.setCompanyId(users.getCompanyId()); | 
|         sysSmsTemplate.setStTemplate(sysSmsTemplate.getStTemplate() + "回T退订"); | 
|         String code = smsUtils.addSmsTemplate(SysSmsTemplate.SMS_TYPE_PROMOTE, sysSmsTemplate.getStName(), sysSmsTemplate.getStTemplate(), sysSmsTemplate.getStRemark()); | 
|         sysSmsTemplate.setStCode(code); | 
|         sysSmsTemplate.setStStatus(SysSmsTemplate.SMS_STATUS_DOING); | 
|         int i = sysSmsTemplateDao.insert(sysSmsTemplate); | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "短信模板表"); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL); | 
|         } | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 修改 | 
|      */ | 
|     @RemoveRequestToken | 
|     @RequestMapping(value = "/modifySysSmsTemplate") | 
|     public @ResponseBody | 
|     AjaxResult modifySysSmsTemplate(SysSmsTemplate newSysSmsTemplate) { | 
|         SysSmsTemplate oldSysSmsTemplate = WebUtil.getSessionAttribute(BEV); | 
|         int i = 0; | 
|         Map<String, Object> modifyMap = null; | 
|         try { | 
|             if (!ModelUtils.isModified(oldSysSmsTemplate, newSysSmsTemplate)) { | 
|                 i = MatrixConstance.DML_SUCCESSS; | 
|             } | 
|             modifyMap = ModelUtils.comparePojo2Map(oldSysSmsTemplate, newSysSmsTemplate); | 
|         } catch (Exception e) { | 
|             throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL, e, newSysSmsTemplate); | 
|         } | 
|         if (modifyMap.size() > 0) { | 
|             modifyMap.put("id", oldSysSmsTemplate.getId()); | 
|             sysSmsTemplateDao.updateByMap(modifyMap); | 
|         } | 
|         i = MatrixConstance.DML_SUCCESSS; | 
|         WebUtil.removeSessionAttribute(BEV); | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "短信模板表"); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL); | 
|         } | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 进入修改界面 | 
|      */ | 
|     @SaveRequestToken | 
|     @RequestMapping(value = "/editForm") | 
|     public ModelAndView editForm(Long id) { | 
|         SysSmsTemplate sysSmsTemplate = new SysSmsTemplate(); | 
|         ModelAndView modelAndView = new ModelAndView("admin/hive-erp/sms/sysSmsTemplate-form"); | 
|         if (id != null) { | 
|             sysSmsTemplate = sysSmsTemplateDao.selectById(id); | 
|             WebUtil.setSessionAttribute(BEV, sysSmsTemplate); | 
|         } | 
|         modelAndView.addObject("obj", sysSmsTemplate); | 
|         return modelAndView; | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 删除 | 
|      */ | 
|     @RequestMapping(value = "/del") | 
|     public @ResponseBody | 
|     AjaxResult del(String keys) { | 
|         List<String> ids = StringUtils.strToCollToString(keys, ","); | 
|   | 
|         SysSmsTemplate sysSmsTemplate = sysSmsTemplateDao.selectById(Long.parseLong(keys)); | 
|         if (StringUtils.isNotBlank(sysSmsTemplate.getStCode())) { | 
|             String result = smsUtils.deleteSmsTemplate(sysSmsTemplate.getStCode()); | 
|             if (!"OK".equals(result)) { | 
|                 return AjaxResult.buildFailInstance("删除失败"); | 
|             } | 
|         } | 
|   | 
|         int i = sysSmsTemplateDao.deleteByIds(ids); | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 查询所有审核通过的短信模板 | 
|      * | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/findAllSmsTemplate") | 
|     @ResponseBody | 
|     public AjaxResult findAllSmsTemplate() { | 
|         SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|         SysSmsTemplate sysSmsTemplate = new SysSmsTemplate(); | 
|         sysSmsTemplate.setStStatus(SysSmsTemplate.SMS_STATUS_Y); | 
|         sysSmsTemplate.setCompanyId(users.getCompanyId()); | 
|         return AjaxResult.buildSuccessInstance(sysSmsTemplateDao.selectByModel(sysSmsTemplate)); | 
|     } | 
|   | 
| } |