处理装修详情问题
This commit is contained in:
parent
9ec547d9f4
commit
88ead65e73
|
|
@ -34,7 +34,7 @@ public class DecoratePageServiceImpl implements IDecoratePageService {
|
|||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("id", decoratePage.getId());
|
||||
map.put("pageType", decoratePage.getPageType());
|
||||
map.put("pageData", ToolsUtil.jsonToMap(decoratePage.getPageData()));
|
||||
map.put("pageData", decoratePage.getPageData());
|
||||
return map;
|
||||
}
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ public class DecoratePageServiceImpl implements IDecoratePageService {
|
|||
DecoratePage decoratePage = decoratePageMapper.selectById(decoratePageParam.getId());
|
||||
Assert.notNull(decoratePage, "数据不存在!");
|
||||
|
||||
decoratePage.setPageData(JSON.toJSONString(decoratePageParam.getPageData()));
|
||||
decoratePage.setPageData(decoratePageParam.getPageData());
|
||||
decoratePage.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||
decoratePageMapper.updateById(decoratePage);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,6 @@ public class DecoratePageParam {
|
|||
private Integer id;
|
||||
|
||||
@NotNull(message = "pageData参数缺失")
|
||||
private Object pageData;
|
||||
private String pageData;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,18 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>like-common</artifactId>
|
||||
<name>like-common</name>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>11</source>
|
||||
<target>11</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<!-- 依赖管理 -->
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,23 @@
|
|||
package com.mdd.common.plugin.notice;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.mdd.common.entity.notice.NoticeSetting;
|
||||
import com.mdd.common.exception.OperateException;
|
||||
import com.mdd.common.mapper.notice.NoticeSettingMapper;
|
||||
import com.mdd.common.plugin.notice.engine.MpNotice;
|
||||
import com.mdd.common.plugin.notice.engine.OaNotice;
|
||||
import com.mdd.common.plugin.notice.engine.SmsNotice;
|
||||
import com.mdd.common.utils.ArrayUtil;
|
||||
import com.mdd.common.utils.SpringUtil;
|
||||
import com.mdd.common.utils.StringUtil;
|
||||
import com.mdd.common.utils.ToolsUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
public class NoticeDriver {
|
||||
|
||||
public void handle(Map<String, Object> params) {
|
||||
public void handle(Map<String, String> config, Map<String, String> params) {
|
||||
// 获取通知场景
|
||||
if (StringUtil.isNull(params.get("scene"))) {
|
||||
if (StringUtil.isNull(config.get("scene"))) {
|
||||
throw new OperateException("scene参数缺失!");
|
||||
}
|
||||
|
||||
|
|
@ -34,7 +25,7 @@ public class NoticeDriver {
|
|||
NoticeSettingMapper noticeSettingMapper = SpringUtil.getBean(NoticeSettingMapper.class);
|
||||
NoticeSetting noticeSetting = noticeSettingMapper.selectOne(
|
||||
new QueryWrapper<NoticeSetting>()
|
||||
.eq("scene", Integer.parseInt(params.get("scene").toString()))
|
||||
.eq("scene", Integer.parseInt(config.get("scene")))
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
|
|
@ -45,20 +36,21 @@ public class NoticeDriver {
|
|||
// 短信通知
|
||||
Map<String, String> smsTemplate = ToolsUtil.jsonToMap(noticeSetting.getSmsNotice());
|
||||
if (StringUtil.isNotEmpty(smsTemplate.get("status")) && Integer.parseInt(smsTemplate.get("status")) == 1) {
|
||||
(new SmsNotice()).send(params, smsTemplate);
|
||||
(new SmsNotice()).send(config, params, smsTemplate);
|
||||
}
|
||||
|
||||
// 小程序订阅通知
|
||||
Map<String, String> mnpTemplate = ToolsUtil.jsonToMap(noticeSetting.getMnpNotice());
|
||||
if (StringUtil.isNotEmpty(mnpTemplate.get("status")) && Integer.parseInt(mnpTemplate.get("status")) == 1) {
|
||||
(new MpNotice()).send(config, params, mnpTemplate);
|
||||
}
|
||||
|
||||
// 公众号订阅通知
|
||||
// Map<String, String> oaTemplate = ToolsUtil.jsonToMap(noticeSetting.getOaNotice());
|
||||
// if (StringUtil.isNotEmpty(oaTemplate.get("status")) && Integer.parseInt(oaTemplate.get("status")) == 1) {
|
||||
// (new OaNotice()).send(params, oaTemplate);
|
||||
// }
|
||||
//
|
||||
// // 小程序订阅通知
|
||||
// Map<String, String> mnpTemplate = ToolsUtil.jsonToMap(noticeSetting.getMnpNotice());
|
||||
// if (StringUtil.isNotEmpty(mnpTemplate.get("status")) && Integer.parseInt(mnpTemplate.get("status")) == 1) {
|
||||
// (new MpNotice()).send(params, mnpTemplate);
|
||||
// (new OaNotice()).send(config, params, oaTemplate);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import java.util.Map;
|
|||
|
||||
public class MpNotice {
|
||||
|
||||
public void send(Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
public void send(Map<String, String> config, Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import java.util.Map;
|
|||
|
||||
public class OaNotice {
|
||||
|
||||
public void send(Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
public void send(Map<String, String> config, Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,35 +1,32 @@
|
|||
package com.mdd.common.plugin.notice.engine;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.mdd.common.plugin.sms.SmsDriver;
|
||||
import com.mdd.common.utils.ConfigUtil;
|
||||
import com.mdd.common.utils.StringUtil;
|
||||
import com.mdd.common.utils.ToolsUtil;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class SmsNotice {
|
||||
|
||||
public Boolean send(Map<String, Object> params, Map<String, String> smsTemplate) {
|
||||
String mobile = params.getOrDefault("mobile", "").toString();
|
||||
String scene = params.getOrDefault("scene", "").toString();
|
||||
if (!StringUtil.isNotEmpty(mobile) || !StringUtil.isNotEmpty(scene)) {
|
||||
return false;
|
||||
/**
|
||||
* 发送短信通知
|
||||
*
|
||||
* @author fzr
|
||||
* @param config 基础配置
|
||||
* @param params 短信参数
|
||||
* @param smsTemplate 短信模板
|
||||
*/
|
||||
public void send(Map<String, String> config, Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
String mobile = config.getOrDefault("mobile", "");
|
||||
String scene = config.getOrDefault("scene", "");
|
||||
if (StringUtil.isNotEmpty(mobile) && StringUtil.isNotEmpty(scene)) {
|
||||
(new SmsDriver())
|
||||
.setMobile(mobile)
|
||||
.setTemplateCode(smsTemplate.getOrDefault("templateId", ""))
|
||||
.setTemplateParam(this.getSmsParams(params, smsTemplate))
|
||||
.setSmsContent(this.getContent(params, smsTemplate))
|
||||
.sendSms();
|
||||
}
|
||||
|
||||
// if (StringUtil.isNotNull(params.get("params"))) {
|
||||
// ToolsUtil.objectToMap(params.get("params"));
|
||||
// }
|
||||
|
||||
// System.out.println(this.getContent(params, smsTemplate));
|
||||
// 发送短信
|
||||
// (new SmsDriver())
|
||||
// .setMobile(mobile)
|
||||
// .setTemplateCode(smsTemplate.getOrDefault("templateId", ""))
|
||||
// .setTemplateParam(null)
|
||||
// .setSmsContent(this.getContent(params, smsTemplate));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -56,12 +53,49 @@ public class SmsNotice {
|
|||
* @author fzr
|
||||
* @return Map<String, String>
|
||||
*/
|
||||
private Map<String, String> getSmsParams(Map<String, String> params) {
|
||||
private Map<String, String> getSmsParams(Map<String, String> params, Map<String, String> smsTemplate) {
|
||||
String engine = ConfigUtil.get("sms", "default", "");
|
||||
if (!engine.equals("tencent")) {
|
||||
return params;
|
||||
}
|
||||
return null;
|
||||
|
||||
// 获取内容变量
|
||||
List<String> arr = new LinkedList<>();
|
||||
String content = smsTemplate.getOrDefault("content", "");
|
||||
for (Map.Entry<String, String> entry : params.entrySet()) {
|
||||
String search = "\\$\\{" + entry.getKey() + "}";
|
||||
if (content.indexOf(search) != 1 && !arr.contains(entry.getKey())) {
|
||||
arr.add(entry.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
// 获取变量名称
|
||||
List<Integer> arrIndex = new LinkedList<>();
|
||||
Map<Integer, String> arr2 = new LinkedHashMap<>();
|
||||
if (arr.size() > 0) {
|
||||
for (String v: arr) {
|
||||
int k = content.indexOf(v);
|
||||
arrIndex.add(k);
|
||||
arr2.put(k, v);
|
||||
}
|
||||
}
|
||||
|
||||
// 从小到大排序
|
||||
List<String> arr3 = new LinkedList<>();
|
||||
Collections.sort(arrIndex);
|
||||
for (Integer i : arrIndex) {
|
||||
arr3.add(arr2.get(i));
|
||||
}
|
||||
|
||||
// 取变量对应值
|
||||
Map<String, String> arr4 = new LinkedHashMap<>();
|
||||
for (String v : arr3) {
|
||||
if (StringUtil.isNotNull(params.get(v))) {
|
||||
arr4.put(params.get(v), "");
|
||||
}
|
||||
}
|
||||
|
||||
return arr4;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,15 +106,10 @@ public class SmsDriver {
|
|||
sendResult = aliSms.getSendResult();
|
||||
break;
|
||||
case "tencent":
|
||||
List<String> params = new LinkedList<>();
|
||||
for (Map.Entry<String, String> MapString : this.templateParam.entrySet()) {
|
||||
params.add(MapString.getValue());
|
||||
}
|
||||
|
||||
TencentSms tencentSms = new TencentSms(this.config);
|
||||
results = tencentSms.setMobile(this.mobile)
|
||||
.setTemplateId(this.templateCode)
|
||||
.setTemplateParams(params.toArray(new String[0]))
|
||||
.setTemplateParams(this.templateParam)
|
||||
.send();
|
||||
sendResult = tencentSms.getSendResult();
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.mdd.common.plugin.sms.engine;
|
||||
|
||||
import com.mdd.common.exception.OperateException;
|
||||
import com.tencentcloudapi.common.Credential;
|
||||
import com.tencentcloudapi.common.profile.ClientProfile;
|
||||
import com.tencentcloudapi.common.profile.HttpProfile;
|
||||
|
|
@ -8,6 +7,9 @@ import com.tencentcloudapi.sms.v20210111.SmsClient;
|
|||
import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
|
||||
import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -53,8 +55,13 @@ public class TencentSms {
|
|||
* @param templateParams 模板参数
|
||||
* @return AliSms
|
||||
*/
|
||||
public TencentSms setTemplateParams(String[] templateParams) {
|
||||
this.templateParams = templateParams;
|
||||
public TencentSms setTemplateParams(Map<String, String> templateParams) {
|
||||
List<String> params = new LinkedList<>();
|
||||
for (Map.Entry<String, String> entry : templateParams.entrySet()) {
|
||||
params.add(entry.getKey());
|
||||
|
||||
}
|
||||
this.templateParams = params.toArray(String[]::new);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,18 +29,14 @@ public class IndexController {
|
|||
*/
|
||||
@GetMapping("/index")
|
||||
public Object index() {
|
||||
Map<String, Object> params = new LinkedHashMap<>();
|
||||
params.put("scene", "101");
|
||||
params.put("mobile", "12323");
|
||||
params.put("params", new String[]{
|
||||
"code:203",
|
||||
"张三丰",
|
||||
"张无忌",
|
||||
"王二麻子",
|
||||
"张富贵"
|
||||
});
|
||||
Map<String, String> config = new LinkedHashMap<>();
|
||||
config.put("scene", "100");
|
||||
config.put("mobile", "1222");
|
||||
|
||||
(new NoticeDriver()).handle(params);
|
||||
Map<String, String> params = new LinkedHashMap<>();
|
||||
params.put("code", "5522");
|
||||
// params.put("order_sn", "27552210565677");
|
||||
(new NoticeDriver()).handle(config, params);
|
||||
|
||||
|
||||
Map<String, Object> detail = IIndexService.index();
|
||||
|
|
|
|||
Loading…
Reference in New Issue