diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java new file mode 100644 index 0000000..db7ef85 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.enums; + +public interface MessageDict { + + String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java new file mode 100644 index 0000000..db7ef85 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.enums; + +public interface MessageDict { + + String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java index 4a9527f..c2ae57a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java @@ -22,4 +22,6 @@ Object getLoginToken(String code); Object getUserInfo(HttpServletRequest request); + + String getToken(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java new file mode 100644 index 0000000..db7ef85 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.enums; + +public interface MessageDict { + + String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java index 4a9527f..c2ae57a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java @@ -22,4 +22,6 @@ Object getLoginToken(String code); Object getUserInfo(HttpServletRequest request); + + String getToken(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java index 3c02b4a..1475bb4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; @@ -49,6 +50,7 @@ Map payLoad = new HashMap<>(); payLoad.put("token", newOpenid); String token = JJWTRootUtils.generatorToken(payLoad); + System.out.println(jsonObject.get("openid")); if(StringUtil.isNotEmpty(token)){ ValueOperations operations = redisTemplate.opsForValue(); operations.set(newOpenid, jsonObject); @@ -62,10 +64,10 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } UserDto userDto = new UserDto(); - //String phone = WXUserUtils.getPhone(dto.getPhoneCode()); + //String phone = WXUserUtils.getPhone(dto.getPhoneCode(),getToken()); String phone = dto.getPhoneCode(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -93,7 +95,7 @@ public Object userRegister(UserDto userDto) { try { SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //String phone = WXUserUtils.getPhone(userDto.getPhone()); + //String phone = WXUserUtils.getPhone(userDto.getPhone(),getToken()); String phone = userDto.getPhone(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -124,7 +126,7 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } userActionDao.updateUserImg(dto.getFileId(), dto.getUid()); return ResponseData.success(); @@ -187,4 +189,16 @@ return ResponseData.error(Status.FAIL); } } + + public String getToken(){ + ValueOperations operations = redisTemplate.opsForValue(); + String token = (String) operations.get("AccessToken"); + if(StringUtil.isEmpty(token)){ + JSONObject accessToken = WXUserUtils.getAccessToken(); + operations.set("AccessToken", accessToken.get("access_token")); + redisTemplate.expire("AccessToken", 90 , TimeUnit.MINUTES); + token = accessToken.get("access_token").toString(); + } + return token; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java new file mode 100644 index 0000000..db7ef85 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.enums; + +public interface MessageDict { + + String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java index 4a9527f..c2ae57a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java @@ -22,4 +22,6 @@ Object getLoginToken(String code); Object getUserInfo(HttpServletRequest request); + + String getToken(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java index 3c02b4a..1475bb4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; @@ -49,6 +50,7 @@ Map payLoad = new HashMap<>(); payLoad.put("token", newOpenid); String token = JJWTRootUtils.generatorToken(payLoad); + System.out.println(jsonObject.get("openid")); if(StringUtil.isNotEmpty(token)){ ValueOperations operations = redisTemplate.opsForValue(); operations.set(newOpenid, jsonObject); @@ -62,10 +64,10 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } UserDto userDto = new UserDto(); - //String phone = WXUserUtils.getPhone(dto.getPhoneCode()); + //String phone = WXUserUtils.getPhone(dto.getPhoneCode(),getToken()); String phone = dto.getPhoneCode(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -93,7 +95,7 @@ public Object userRegister(UserDto userDto) { try { SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //String phone = WXUserUtils.getPhone(userDto.getPhone()); + //String phone = WXUserUtils.getPhone(userDto.getPhone(),getToken()); String phone = userDto.getPhone(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -124,7 +126,7 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } userActionDao.updateUserImg(dto.getFileId(), dto.getUid()); return ResponseData.success(); @@ -187,4 +189,16 @@ return ResponseData.error(Status.FAIL); } } + + public String getToken(){ + ValueOperations operations = redisTemplate.opsForValue(); + String token = (String) operations.get("AccessToken"); + if(StringUtil.isEmpty(token)){ + JSONObject accessToken = WXUserUtils.getAccessToken(); + operations.set("AccessToken", accessToken.get("access_token")); + redisTemplate.expire("AccessToken", 90 , TimeUnit.MINUTES); + token = accessToken.get("access_token").toString(); + } + return token; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java index 7c3fbfb..5e2a415 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java @@ -1,11 +1,13 @@ package com.casic.missiles.modular.system.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.VisitorApplyMapper; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; import com.casic.missiles.modular.system.service.VisitorApplyService; @@ -16,6 +18,7 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; /** @@ -62,7 +65,7 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ // TODO: 2022/11/17 向用户发送申请通过消息通知 - + String[] dataArr = {}; // TODO: 2022/11/17 消息发送成功存入消息表 } @@ -77,4 +80,18 @@ } return ResponseData.error("提交失败"); } + public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + HashMap map = new HashMap<>(); + map.put("toUser",toUser); + map.put("templateId",templateId); + HashMap dataMap = new HashMap<>(); + for (int i = 0; i< templateArr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",dataArr[i]); + dataMap.put(templateArr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java new file mode 100644 index 0000000..db7ef85 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.enums; + +public interface MessageDict { + + String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java index 4a9527f..c2ae57a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java @@ -22,4 +22,6 @@ Object getLoginToken(String code); Object getUserInfo(HttpServletRequest request); + + String getToken(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java index 3c02b4a..1475bb4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; @@ -49,6 +50,7 @@ Map payLoad = new HashMap<>(); payLoad.put("token", newOpenid); String token = JJWTRootUtils.generatorToken(payLoad); + System.out.println(jsonObject.get("openid")); if(StringUtil.isNotEmpty(token)){ ValueOperations operations = redisTemplate.opsForValue(); operations.set(newOpenid, jsonObject); @@ -62,10 +64,10 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } UserDto userDto = new UserDto(); - //String phone = WXUserUtils.getPhone(dto.getPhoneCode()); + //String phone = WXUserUtils.getPhone(dto.getPhoneCode(),getToken()); String phone = dto.getPhoneCode(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -93,7 +95,7 @@ public Object userRegister(UserDto userDto) { try { SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //String phone = WXUserUtils.getPhone(userDto.getPhone()); + //String phone = WXUserUtils.getPhone(userDto.getPhone(),getToken()); String phone = userDto.getPhone(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -124,7 +126,7 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } userActionDao.updateUserImg(dto.getFileId(), dto.getUid()); return ResponseData.success(); @@ -187,4 +189,16 @@ return ResponseData.error(Status.FAIL); } } + + public String getToken(){ + ValueOperations operations = redisTemplate.opsForValue(); + String token = (String) operations.get("AccessToken"); + if(StringUtil.isEmpty(token)){ + JSONObject accessToken = WXUserUtils.getAccessToken(); + operations.set("AccessToken", accessToken.get("access_token")); + redisTemplate.expire("AccessToken", 90 , TimeUnit.MINUTES); + token = accessToken.get("access_token").toString(); + } + return token; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java index 7c3fbfb..5e2a415 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java @@ -1,11 +1,13 @@ package com.casic.missiles.modular.system.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.VisitorApplyMapper; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; import com.casic.missiles.modular.system.service.VisitorApplyService; @@ -16,6 +18,7 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; /** @@ -62,7 +65,7 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ // TODO: 2022/11/17 向用户发送申请通过消息通知 - + String[] dataArr = {}; // TODO: 2022/11/17 消息发送成功存入消息表 } @@ -77,4 +80,18 @@ } return ResponseData.error("提交失败"); } + public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + HashMap map = new HashMap<>(); + map.put("toUser",toUser); + map.put("templateId",templateId); + HashMap dataMap = new HashMap<>(); + for (int i = 0; i< templateArr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",dataArr[i]); + dataMap.put(templateArr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java index ec2b22f..569ccff 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java @@ -4,12 +4,18 @@ import java.security.Key; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Resource; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import com.alibaba.fastjson.JSONObject; +import dm.jdbc.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component; @Component @@ -32,8 +38,6 @@ return JSONObject.parseObject(result); } - - public static JSONObject getAccessToken() { Map params=new HashMap<>(); params.put("appid", "wx899496f4295e554e"); @@ -44,9 +48,7 @@ return JSONObject.parseObject(result); } - public static String getPhone(String code) { - JSONObject accessToken = getAccessToken(); - String token = accessToken.get("access_token").toString(); + public static String getPhone(String code,String token) { String json = "{ \"code\": \""+code+"\" }"; String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + token + "&"; String doPost = HttpClientUtil.doPostJson(url, json); @@ -58,7 +60,11 @@ }else{ return "GetFailed"; } - + } + public static JSONObject sendSubscribeMessage(String param,String token) { + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token + "&"; + String doPost = HttpClientUtil.doPostJson(url, param); + return JSONObject.parseObject(doPost); } /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 661e5f5..3b07709 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.controller; +import com.alibaba.fastjson.JSONObject; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.WXUserUtils; +import javafx.beans.binding.ObjectExpression; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -11,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.HashMap; + /** * @Description: 访客信息提交 * @Author: wangpeng @@ -23,6 +31,9 @@ @Autowired private VisitorApplyService visitorApplyService; + @Resource + private UserActionService userActionService; + /** * 访客信息提交 */ @@ -47,4 +58,30 @@ return visitorApplyService.updateStatus(visitorApplyStatusRequest); } + @RequestMapping("/sendSubscribeMessage") + public Object sendSubscribeMessage() { + String token = userActionService.getToken(); + System.out.println(token); + String param = testJson(); + JSONObject result = WXUserUtils.sendSubscribeMessage(param,token); + return result; + } + @RequestMapping("/testJson") + public String testJson() { + HashMap map = new HashMap<>(); + map.put("toUser","oqiuy5PMAVo-1IDcwBu5c0F3H0JE"); + map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); + HashMap dataMap = new HashMap<>(); + String [] arr = {"11","22","33","44","55"}; + String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + for (int i = 0; i< mbarr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",arr[i]); + dataMap.put(mbarr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + System.out.println(jsonObject); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml deleted file mode 100644 index aa5f058..0000000 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/VisitorApplyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java new file mode 100644 index 0000000..db7ef85 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/MessageDict.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.enums; + +public interface MessageDict { + + String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java index 4a9527f..c2ae57a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/UserActionService.java @@ -22,4 +22,6 @@ Object getLoginToken(String code); Object getUserInfo(HttpServletRequest request); + + String getToken(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java index 3c02b4a..1475bb4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/UserActionServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; @@ -49,6 +50,7 @@ Map payLoad = new HashMap<>(); payLoad.put("token", newOpenid); String token = JJWTRootUtils.generatorToken(payLoad); + System.out.println(jsonObject.get("openid")); if(StringUtil.isNotEmpty(token)){ ValueOperations operations = redisTemplate.opsForValue(); operations.set(newOpenid, jsonObject); @@ -62,10 +64,10 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } UserDto userDto = new UserDto(); - //String phone = WXUserUtils.getPhone(dto.getPhoneCode()); + //String phone = WXUserUtils.getPhone(dto.getPhoneCode(),getToken()); String phone = dto.getPhoneCode(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -93,7 +95,7 @@ public Object userRegister(UserDto userDto) { try { SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //String phone = WXUserUtils.getPhone(userDto.getPhone()); + //String phone = WXUserUtils.getPhone(userDto.getPhone(),getToken()); String phone = userDto.getPhone(); if(phone.equals("GetFailed")){ return ResponseData.error(Status.PHONE_GET_FAILED); @@ -124,7 +126,7 @@ try { JSONObject jsonObject = getLoginStatus(request); if(null == jsonObject){ - return ResponseData.error(Status.TOKEN_EXPIRES); + return ResponseData.error(2401,Status.TOKEN_EXPIRES); } userActionDao.updateUserImg(dto.getFileId(), dto.getUid()); return ResponseData.success(); @@ -187,4 +189,16 @@ return ResponseData.error(Status.FAIL); } } + + public String getToken(){ + ValueOperations operations = redisTemplate.opsForValue(); + String token = (String) operations.get("AccessToken"); + if(StringUtil.isEmpty(token)){ + JSONObject accessToken = WXUserUtils.getAccessToken(); + operations.set("AccessToken", accessToken.get("access_token")); + redisTemplate.expire("AccessToken", 90 , TimeUnit.MINUTES); + token = accessToken.get("access_token").toString(); + } + return token; + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java index 7c3fbfb..5e2a415 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java @@ -1,11 +1,13 @@ package com.casic.missiles.modular.system.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.VisitorApplyMapper; import com.casic.missiles.modular.system.dto.VisitorApplyAddRequest; import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import com.casic.missiles.modular.system.enums.MessageDict; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; import com.casic.missiles.modular.system.service.VisitorApplyService; @@ -16,6 +18,7 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; /** @@ -62,7 +65,7 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ // TODO: 2022/11/17 向用户发送申请通过消息通知 - + String[] dataArr = {}; // TODO: 2022/11/17 消息发送成功存入消息表 } @@ -77,4 +80,18 @@ } return ResponseData.error("提交失败"); } + public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + HashMap map = new HashMap<>(); + map.put("toUser",toUser); + map.put("templateId",templateId); + HashMap dataMap = new HashMap<>(); + for (int i = 0; i< templateArr.length; i++) { + HashMap valueMap = new HashMap<>(); + valueMap.put("value",dataArr[i]); + dataMap.put(templateArr[i],valueMap); + } + map.put("data",dataMap); + JSONObject jsonObject = new JSONObject(map); + return jsonObject.toString(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java index ec2b22f..569ccff 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/WXUserUtils.java @@ -4,12 +4,18 @@ import java.security.Key; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Resource; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import com.alibaba.fastjson.JSONObject; +import dm.jdbc.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component; @Component @@ -32,8 +38,6 @@ return JSONObject.parseObject(result); } - - public static JSONObject getAccessToken() { Map params=new HashMap<>(); params.put("appid", "wx899496f4295e554e"); @@ -44,9 +48,7 @@ return JSONObject.parseObject(result); } - public static String getPhone(String code) { - JSONObject accessToken = getAccessToken(); - String token = accessToken.get("access_token").toString(); + public static String getPhone(String code,String token) { String json = "{ \"code\": \""+code+"\" }"; String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + token + "&"; String doPost = HttpClientUtil.doPostJson(url, json); @@ -58,7 +60,11 @@ }else{ return "GetFailed"; } - + } + public static JSONObject sendSubscribeMessage(String param,String token) { + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token + "&"; + String doPost = HttpClientUtil.doPostJson(url, param); + return JSONObject.parseObject(doPost); } /** diff --git a/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml b/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml new file mode 100644 index 0000000..aa5f058 --- /dev/null +++ b/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file