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