yun-zuoyi
wynne1005 4 years ago
commit 6283a5a2de

@ -3,6 +3,8 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.platform.bean.SysSmsTemplate;
import cn.estsh.impp.framework.base.service.ICrudService;
import java.util.List;
/**
* @Description :
* @Reference :
@ -28,4 +30,11 @@ public interface ISysSmsTemplateService extends ICrudService<SysSmsTemplate> {
*/
SysSmsTemplate getSysSmsTemplateByCode(String code);
/**
*
*
* @param status
* @return
*/
List<SysSmsTemplate> findSysSmsTemplateByStatus(Integer status);
}

@ -30,6 +30,8 @@ import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import static cn.estsh.i3plus.platform.common.util.CommonConstWords.RESOURCE_PREFIX_MENU;
/**
* @Description :
@ -135,6 +137,8 @@ public class AuthController extends CoreBaseController {
LOGGER.info("第二段耗时:{}", System.currentTimeMillis() - menuSelectTime);
if (list != null && list.size() > 0) {
// 翻译第一级
list.forEach(menu -> menu.setName(LocaleUtils.getLocaleRes(RESOURCE_PREFIX_MENU + menu.getName())));
// 内存排序 Sort 降序 code 升序
list.sort(Comparator.comparing(SysMenu::getMenuSort).reversed().thenComparing(SysMenu::getMenuCode));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);

@ -417,7 +417,7 @@ public class SysConfigController extends CoreBaseController {
/**
*
**/
@GetMapping("/save-sms")
@PostMapping("/save-sms")
@ApiOperation(value = "查询短信配置")
public ResultBean saveSmsConfig(@RequestBody SmsConfig smsConfig) {
try {

@ -26,6 +26,7 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -36,8 +37,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@ -180,6 +179,7 @@ public class SysSmsSendRecordController extends CrudBaseController<SysSmsSendRec
}
if (smsSendRecord.getSmsSendStatus() != ImppEnumUtil.SMS_SEND_STATUS.WAIT_RECEIPT.getValue()) {
smsSendRecord.setSendErrMsg(StringUtils.EMPTY);
isRetry = false;
}
} catch (Exception e) {
@ -208,21 +208,5 @@ public class SysSmsSendRecordController extends CrudBaseController<SysSmsSendRec
}
}
}
public static void main(String[] args) {
Map<String ,Object> paramMap = new HashMap<>();
paramMap.put("center","莘松线");
paramMap.put("cell","OP-01");
paramMap.put("name","张三");
paramMap.put("acName","一级异常");
ImppSmsContent smsContent = new ImppSmsContent();
smsContent.setSmsSignCode("ESTSH");
smsContent.setTemplateCode("TEST");
smsContent.setReceivePhoneNumber("18917078316");
smsContent.setParamMap(paramMap);
System.out.println(JsonUtilTool.encode(smsContent));
}
}

@ -1,10 +1,15 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysSmsSignService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysSmsSign;
import cn.estsh.impp.framework.base.controller.CrudBaseController;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -20,6 +25,9 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping(PlatformConstWords.BASE_URL + "/sys-sms-sign")
public class SysSmsSignController extends CrudBaseController<SysSmsSign> {
@Autowired
private ISysSmsSignService sysSmsSignService;
/**
*
*
@ -31,6 +39,16 @@ public class SysSmsSignController extends CrudBaseController<SysSmsSign> {
ValidatorBean.beginValid(bean)
.notNull("signCode", bean.getSignCode())
.notNull("signName", bean.getSignName());
if (!sysSmsSignService.checkSysSignOnly(bean)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION.getCode())
.setErrorDetail("签名代码已存在")
.setErrorSolution("请重新操作")
.build();
}
return bean;
}
}

@ -20,9 +20,7 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* @Description :
@ -56,7 +54,7 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
.notNull("templateName", bean.getTemplateName())
.notNull("templateContent", bean.getTemplateContent());
bean.setTemplateStatus(ImppEnumUtil.SMS_TEMPLATE_STATUS.NOTICE_SMS.getValue());
bean.setTemplateStatus(ImppEnumUtil.SMS_TEMPLATE_STATUS.UNDER_REVIEW.getValue());
// 唯一校验
if (!sysSmsTemplateService.checkSysSmsTemplateOnly(bean)) {
@ -68,16 +66,14 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
.build();
}
bean = getCrudService().insert(bean);
SmsResult<SysSmsTemplate> smsResult = SmsUtilFactory.getSmsTemplateUtil().insertSmsTemplate(bean);
if (!smsResult.isSuccess()) {
LOGGER.error("【SMS】 短信模板保存失败!{}", smsResult);
return ResultBean.fail(smsResult.getErrMsg()).setResultObject(smsResult);
} else {
getCrudService().update(bean);
}
bean = getCrudService().insert(bean);
return ResultBean.success("操作成功")
.setResultObject(bean)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@ -114,14 +110,15 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
.build();
}
bean = getCrudService().update(bean);
SmsResult<SysSmsTemplate> smsResult = SmsUtilFactory.getSmsTemplateUtil().updateSmsTemplate(bean);
if (!smsResult.isSuccess()) {
LOGGER.error("【SMS】 短信模板保存失败!{}", smsResult);
return ResultBean.fail(smsResult.getErrMsg()).setResultObject(smsResult);
if (CommonEnumUtil.TRUE_OR_FALSE.valueOfBoolean(bean.getIsModifyContent())) {
SmsResult<SysSmsTemplate> smsResult = SmsUtilFactory.getSmsTemplateUtil().updateSmsTemplate(bean);
if (!smsResult.isSuccess()) {
LOGGER.error("【SMS】 短信模板保存失败!{}", smsResult);
return ResultBean.fail(smsResult.getErrMsg()).setResultObject(smsResult);
}
}
bean = getCrudService().update(bean);
return ResultBean.success("操作成功")
.setResultObject(bean)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@ -164,7 +161,7 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
}
@Override
public ResultBean getById(Long id) {
public ResultBean getById(@PathVariable("id") Long id) {
try {
ValidatorBean.checkNotNull(id, "请选需要查询短信模板!");
SysSmsTemplate smsTemplate = getCrudService().get(id);
@ -191,13 +188,15 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
@PostMapping("/sync-supplier-template")
@ApiOperation("同步供应商模板信息")
public ResultBean syncSupplierTemplate(String supplierTemplateCode, String templateCode) {
public ResultBean syncSupplierTemplate(@RequestBody SysSmsTemplate bean) {
try {
ValidatorBean.checkNotNull(supplierTemplateCode, "请输入需要同步的供应商模板代码!");
ValidatorBean.checkNotNull(templateCode, "请输入模板代码!");
ValidatorBean.beginValid(bean)
.notNull("supplierType",bean.getSupplierType())
.notNull("supplierTemplateCode",bean.getSupplierTemplateCode())
.notNull("templateCode",bean.getTemplateCode());
SysSmsTemplate smsTemplate = new SysSmsTemplate();
smsTemplate.setTemplateCode(templateCode);
smsTemplate.setTemplateCode(bean.getTemplateCode());
// 唯一校验
if (!sysSmsTemplateService.checkSysSmsTemplateOnly(smsTemplate)) {
@ -208,12 +207,11 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
.setErrorSolution("请重新操作")
.build();
}
// 调用供应商api
SmsResult<SysSmsTemplate> smsResult = SmsUtilFactory.getSmsTemplateUtil()
.getSmsTemplateByCode(supplierTemplateCode);
.getSmsTemplateByCode(bean.getSupplierTemplateCode());
if (!smsResult.isSuccess()) {
LOGGER.error("【SMS】 短信模板查询失败!{}", smsResult);
LOGGER.error("【SMS】 短信模板查+询失败!{}", smsResult);
return ResultBean.fail(smsResult.getErrMsg()).setResultObject(smsResult);
} else if (smsResult.isSuccess() && smsResult.getResultData() == null) {
throw ImppExceptionBuilder.newInstance()
@ -224,7 +222,7 @@ public class SysSmsTemplateController extends CrudBaseController<SysSmsTemplate>
.build();
}
smsTemplate = smsResult.getResultData();
smsTemplate.setTemplateCode(templateCode);
smsTemplate.setTemplateCode(bean.getTemplateCode());
sysSmsTemplateService.insert(smsTemplate);
return ResultBean.success("操作成功")

@ -0,0 +1,57 @@
package cn.estsh.i3plus.core.apiservice.schedulejob;
import cn.estsh.i3plus.core.api.iservice.busi.ISysSmsTemplateService;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysSmsTemplate;
import cn.estsh.i3plus.sdk.sms.base.ISmsTemplateUtil;
import cn.estsh.i3plus.sdk.sms.base.SmsUtilFactory;
import cn.estsh.i3plus.sdk.sms.base.pojo.SmsResult;
import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob;
import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2021-01-04 13:47
* @Modify:
**/
@DisallowConcurrentExecution
public class SysSmsTemplateSyncJob extends BaseImppScheduleJob {
public SysSmsTemplateSyncJob(Class cls, String jobDesc) {
super(SysSmsTemplateSyncJob.class,"短信模板同步job");
}
@Autowired
private ISysSmsTemplateService sysSmsTemplateService;
@Override
public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
try {
ISmsTemplateUtil smsTemplateUtil = SmsUtilFactory.getSmsTemplateUtil();
// 第一步,查询出未审批的短信模板
List<SysSmsTemplate> sysSmsTemplateList =
sysSmsTemplateService.findSysSmsTemplateByStatus(ImppEnumUtil.SMS_TEMPLATE_STATUS.UNDER_REVIEW.getValue());
// 第二步,根据供应商模板代码查询审批状态
for (SysSmsTemplate smsTemplate : sysSmsTemplateList) {
SmsResult<SysSmsTemplate> smsResult = smsTemplateUtil.getSmsTemplateByCode(smsTemplate.getSupplierTemplateCode());
if (smsResult.isSuccess() && smsResult.getResultData() != null) {
smsTemplate.setTemplateStatus(smsResult.getResultData().getTemplateStatus());
// 第三步,更新模板状态
sysSmsTemplateService.update(smsTemplate);
}else{
LOGGER.error("查询供应商短信模板状态异常:{}", smsResult.getErrMsg());
}
}
}catch (Exception e){
LOGGER.error("短信模板同步job执行异常",e);
}
}
}

@ -32,7 +32,7 @@ public class SysSmsSignService extends CrudService<SysSmsSign> implements ISysSm
*/
@Override
public boolean checkSysSignOnly(SysSmsSign sysSmsSign) {
return baseRepository.isExitByHql(CoreHqlPack.packHqlCheckSysSmsSignOnly(sysSmsSign));
return !baseRepository.isExitByHql(CoreHqlPack.packHqlCheckSysSmsSignOnly(sysSmsSign));
}
/**

@ -8,6 +8,8 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.base.service.CrudService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
@ -51,4 +53,22 @@ public class SysSmsTemplateService extends CrudService<SysSmsTemplate> implement
}
);
}
/**
*
*
* @param status
* @return
*/
@Override
public List<SysSmsTemplate> findSysSmsTemplateByStatus(Integer status) {
return baseRepository.findByProperty(
new String[]{"isValid", "isDeleted", "templateStatus"},
new Object[]{
CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
status
}
);
}
}

@ -71,6 +71,8 @@ public class OrderNoMakeUtil {
&& serialNo > maxSerialNo.longValue()) {
serialNo = new BigDecimal(serialNo).remainder(maxSerialNo).longValue();
orderNoRule.setSerialNo(serialNo == 0 ? maxSerialNo.longValue() : serialNo);
}else{
orderNoRule.setSerialNo(serialNo);
}
} else {
orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed() * orderNoRule.getSerialNoIncrement());

Loading…
Cancel
Save