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