diff --git a/gptCApi/src/main/java/com/iformall/controller/WxChatController.java b/gptCApi/src/main/java/com/iformall/controller/WxChatController.java index 9bf2257..b78a579 100644 --- a/gptCApi/src/main/java/com/iformall/controller/WxChatController.java +++ b/gptCApi/src/main/java/com/iformall/controller/WxChatController.java @@ -14,6 +14,7 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.service.*; import com.iformall.service.wx.WxPayService; +import com.iformall.service.wx.WxWeappService; import com.iformall.utils.Constant; import com.iformall.utils.SysConfigConstant; @@ -42,6 +43,12 @@ public class WxChatController extends BaseController { @Autowired SysConfigService sysConfigService; + @Autowired + WxWeappService wxWeappService; + + @Autowired + WxAppinfoService wxAppinfoServie; + @GetMapping("/limit") public ResultData chatLimit() { Map retMap = new HashMap(); @@ -50,5 +57,30 @@ public class WxChatController extends BaseController { retMap.put("saysContentLength", saysContentLength.getConfigItemValue()); return new ResultData(retMap); } + + @PostMapping("/msgSecCheck") + @ApiOperation(value = "用户输入内容非法字符过滤", notes = "{\"message\":\"string\",\"appId\":\"string\"}") + public ResultData msgSecCheck(@RequestBody Map map) { + String message = map.get("message"); + String appId = map.get("appId"); + if (StringUtils.isBlank(message)) { + return new ResultData(ErrorCode.PARAM_EMPITY.getCode(), "message不能为空"); + } + if (StringUtils.isBlank(appId)) { + return new ResultData(ErrorCode.PARAM_EMPITY.getCode(), "appId不能为空"); + } + WxAppinfo wxAppinfo = wxAppinfoServie.getCAppInfoFromRedis(appId); + + try { + boolean isChecked = wxWeappService.msgSecCheck(wxAppinfo, message); + if (isChecked) { + return new ResultData(Result.SUCCESS, "校验成功"); + }else { + return new ResultData(Result.ERROR, "含非法字符"); + } + }catch(Exception e) { + return new ResultData(ErrorCode.PARAM_EMPITY.getCode(), e.getMessage()); + } + } } diff --git a/gptService/src/main/java/com/iformall/service/wx/WxWeappService.java b/gptService/src/main/java/com/iformall/service/wx/WxWeappService.java index 260259a..d8dde78 100644 --- a/gptService/src/main/java/com/iformall/service/wx/WxWeappService.java +++ b/gptService/src/main/java/com/iformall/service/wx/WxWeappService.java @@ -130,5 +130,13 @@ public class WxWeappService { logger.error(e.getMessage()); } } + + /** + * https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/sec-center/sec-check/msgSecCheck.html + */ + public boolean msgSecCheck(WxAppinfo wxAppinfo,String content) throws Exception{ + WxMaService wxMaService = this.getWxMaService(wxAppinfo, false); + return wxMaService.getSecCheckService().checkMessage(content); + } }