diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } 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 123ef64..08c0cdb 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 @@ -83,7 +83,7 @@ } return ResponseData.success(); }else{ - return ResponseData.error(Status.USER_ALREADY_NOT_REGISTERED); + return ResponseData.error(2402,Status.USER_ALREADY_NOT_REGISTERED); } }catch (Exception e){ e.printStackTrace(); diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } 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 123ef64..08c0cdb 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 @@ -83,7 +83,7 @@ } return ResponseData.success(); }else{ - return ResponseData.error(Status.USER_ALREADY_NOT_REGISTERED); + return ResponseData.error(2402,Status.USER_ALREADY_NOT_REGISTERED); } }catch (Exception e){ e.printStackTrace(); 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 5e2a415..020f56d 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,23 +1,35 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUnit; +import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.UserActionMapper; 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.dto.*; import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.enums.Status; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.InitialUtils; +import com.casic.missiles.modular.system.utils.UuidUtils; +import com.casic.missiles.modular.system.utils.WXUserUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.crypto.hash.Hash; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -32,55 +44,129 @@ @Autowired private VisitorApplyMapper visitorApplyMapper; - @Override - public Object add(VisitorApplyAddRequest visitorApplyAddRequest) { - VisitorApply visitorApply = new VisitorApply(); - BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); - visitorApply.setStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); - if(visitorApplyMapper.insert(visitorApply) > 0){ - // TODO: 2022/11/15 给物业管理员发送校验通过通知,生成单号 - // 当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时, - // 可允许开发者向用户在7天内推送有限条数的模板消息(一次提交表单可下发1条多次提交下发条数独立,相互不影响) - // TODO: 2022/11/17 消息发送成功存入消息表 + @Resource + private UserActionService userActionService; - return ResponseData.success(); + @Resource + private UserActionMapper userActionDao; + + + @Override + public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + VisitorApply visitorApply = new VisitorApply(); + BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); + String messageId = getMassageId(visitorApply.getVisitorName(), visitorApply.getInTime()); + visitorApply.setApplyNo(messageId); + visitorApply.setVisitorApplyStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); + if(visitorApplyMapper.insert(visitorApply) > 0){ + List list = userActionDao.getPropertyManager(); + // 向物业管理员推送消息 + for (String openid : list) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(messageId,"0",openid); + }else{ + insertMessageLog(messageId,"1",openid); + } + } + // 向提报人推送消息 + sentMessage(visitorApply); + return ResponseData.success(); + } + return ResponseData.error("访客申请失败"); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); } - return ResponseData.error("访客申请失败"); } @Override - public Object list(VisitorApplyListRequest visitorApplyListRequest) { + public Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } List list = visitorApplyMapper.selectApplyList(visitorApplyListRequest); if(CollectionUtils.isEmpty(list)){ - return new ArrayList<>(); + return ResponseData.success(new ArrayList<>()); } return ResponseData.success(list); } @Override - public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest) { + public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } VisitorApply visitorApply = new VisitorApply(); BeanUtils.copyProperties(visitorApplyStatusRequest, visitorApply); if(visitorApplyMapper.updateById(visitorApply) > 0){ + VisitorApply apply = visitorApplyMapper.selectById(visitorApplyStatusRequest.getId()); //申请通过 - if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请通过消息通知 - String[] dataArr = {}; - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } //申请不通过 - if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请不通过消息通知 - - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } return ResponseData.success(); } return ResponseData.error("提交失败"); } - public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + + @Override + public Object getMessageInfo(String messageId, HttpServletRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_no" , messageId); + List users = visitorApplyMapper.selectList(wrapper); + if(users != null && users.size() != 0){ + return ResponseData.success(users.get(0)); + }else{ + return ResponseData.error("消息详细信息获取失败"); + } + } + + @Override + public Object getMessageList(HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + String openid = jsonObject.get("openid").toString(); + List> resMap = visitorApplyMapper.getMessageList(openid); + return ResponseData.success(resMap); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); + } + + } + + private void sentMessage(VisitorApply visitorApply) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String toUser = getToUser(visitorApply.getStaffCode()); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorApplyStatus(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(toUser, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(visitorApply.getApplyNo(),"0",toUser); + }else{ + insertMessageLog(visitorApply.getApplyNo(),"1",toUser); + } + } + + public JSONObject SendMassage(String toUser,String templateId,String[] dataArr,String[] templateArr) { HashMap map = new HashMap<>(); map.put("toUser",toUser); map.put("templateId",templateId); @@ -92,6 +178,23 @@ } map.put("data",dataMap); JSONObject jsonObject = new JSONObject(map); - return jsonObject.toString(); + String token = userActionService.getToken(); + return WXUserUtils.sendSubscribeMessage(jsonObject.toString(),token); + } + public String getMassageId(String userName,String dateTime) throws ParseException { + String name = InitialUtils.getNameInitial(userName, false); + Date date = DateUtils.parseDate(dateTime); + String str = DateUtils.format(date, "yyyyMMddHHmmss"); + return name+str; + } + public String getToUser(String staffCode) { + UserDto userDto = new UserDto(); + userDto.setAccount(staffCode); + UserDto userInfo = userActionDao.getUserInfo(userDto); + return userInfo.getSyncId(); + } + public void insertMessageLog(String messageId,String status,String toUser){ + MessageDto message = new MessageDto(UuidUtils.getId(),messageId,status,DateUtils.format(new Date()),toUser); + userActionDao.insertMessageLog(message); } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } 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 123ef64..08c0cdb 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 @@ -83,7 +83,7 @@ } return ResponseData.success(); }else{ - return ResponseData.error(Status.USER_ALREADY_NOT_REGISTERED); + return ResponseData.error(2402,Status.USER_ALREADY_NOT_REGISTERED); } }catch (Exception e){ e.printStackTrace(); 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 5e2a415..020f56d 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,23 +1,35 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUnit; +import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.UserActionMapper; 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.dto.*; import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.enums.Status; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.InitialUtils; +import com.casic.missiles.modular.system.utils.UuidUtils; +import com.casic.missiles.modular.system.utils.WXUserUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.crypto.hash.Hash; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -32,55 +44,129 @@ @Autowired private VisitorApplyMapper visitorApplyMapper; - @Override - public Object add(VisitorApplyAddRequest visitorApplyAddRequest) { - VisitorApply visitorApply = new VisitorApply(); - BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); - visitorApply.setStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); - if(visitorApplyMapper.insert(visitorApply) > 0){ - // TODO: 2022/11/15 给物业管理员发送校验通过通知,生成单号 - // 当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时, - // 可允许开发者向用户在7天内推送有限条数的模板消息(一次提交表单可下发1条多次提交下发条数独立,相互不影响) - // TODO: 2022/11/17 消息发送成功存入消息表 + @Resource + private UserActionService userActionService; - return ResponseData.success(); + @Resource + private UserActionMapper userActionDao; + + + @Override + public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + VisitorApply visitorApply = new VisitorApply(); + BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); + String messageId = getMassageId(visitorApply.getVisitorName(), visitorApply.getInTime()); + visitorApply.setApplyNo(messageId); + visitorApply.setVisitorApplyStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); + if(visitorApplyMapper.insert(visitorApply) > 0){ + List list = userActionDao.getPropertyManager(); + // 向物业管理员推送消息 + for (String openid : list) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(messageId,"0",openid); + }else{ + insertMessageLog(messageId,"1",openid); + } + } + // 向提报人推送消息 + sentMessage(visitorApply); + return ResponseData.success(); + } + return ResponseData.error("访客申请失败"); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); } - return ResponseData.error("访客申请失败"); } @Override - public Object list(VisitorApplyListRequest visitorApplyListRequest) { + public Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } List list = visitorApplyMapper.selectApplyList(visitorApplyListRequest); if(CollectionUtils.isEmpty(list)){ - return new ArrayList<>(); + return ResponseData.success(new ArrayList<>()); } return ResponseData.success(list); } @Override - public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest) { + public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } VisitorApply visitorApply = new VisitorApply(); BeanUtils.copyProperties(visitorApplyStatusRequest, visitorApply); if(visitorApplyMapper.updateById(visitorApply) > 0){ + VisitorApply apply = visitorApplyMapper.selectById(visitorApplyStatusRequest.getId()); //申请通过 - if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请通过消息通知 - String[] dataArr = {}; - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } //申请不通过 - if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请不通过消息通知 - - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } return ResponseData.success(); } return ResponseData.error("提交失败"); } - public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + + @Override + public Object getMessageInfo(String messageId, HttpServletRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_no" , messageId); + List users = visitorApplyMapper.selectList(wrapper); + if(users != null && users.size() != 0){ + return ResponseData.success(users.get(0)); + }else{ + return ResponseData.error("消息详细信息获取失败"); + } + } + + @Override + public Object getMessageList(HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + String openid = jsonObject.get("openid").toString(); + List> resMap = visitorApplyMapper.getMessageList(openid); + return ResponseData.success(resMap); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); + } + + } + + private void sentMessage(VisitorApply visitorApply) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String toUser = getToUser(visitorApply.getStaffCode()); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorApplyStatus(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(toUser, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(visitorApply.getApplyNo(),"0",toUser); + }else{ + insertMessageLog(visitorApply.getApplyNo(),"1",toUser); + } + } + + public JSONObject SendMassage(String toUser,String templateId,String[] dataArr,String[] templateArr) { HashMap map = new HashMap<>(); map.put("toUser",toUser); map.put("templateId",templateId); @@ -92,6 +178,23 @@ } map.put("data",dataMap); JSONObject jsonObject = new JSONObject(map); - return jsonObject.toString(); + String token = userActionService.getToken(); + return WXUserUtils.sendSubscribeMessage(jsonObject.toString(),token); + } + public String getMassageId(String userName,String dateTime) throws ParseException { + String name = InitialUtils.getNameInitial(userName, false); + Date date = DateUtils.parseDate(dateTime); + String str = DateUtils.format(date, "yyyyMMddHHmmss"); + return name+str; + } + public String getToUser(String staffCode) { + UserDto userDto = new UserDto(); + userDto.setAccount(staffCode); + UserDto userInfo = userActionDao.getUserInfo(userDto); + return userInfo.getSyncId(); + } + public void insertMessageLog(String messageId,String status,String toUser){ + MessageDto message = new MessageDto(UuidUtils.getId(),messageId,status,DateUtils.format(new Date()),toUser); + userActionDao.insertMessageLog(message); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java new file mode 100644 index 0000000..d1a784d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java @@ -0,0 +1,86 @@ +package com.casic.missiles.modular.system.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; + +public class InitialUtils { + /*** + * 将汉字转成拼音(取首字母或全拼) + * @param hanzi + * @param full 是否全拼 + * @return + */ + public static String getNameInitial(String hanzi,boolean full) + { + /*** + * ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言 + * ^[\u4E00-\u9FFF]+$ 匹配简体和繁体 + * ^[\u4E00-\u9FA5]+$ 匹配简体 + */ + String regExp="^[\u4E00-\u9FFF]+$"; + StringBuffer sb=new StringBuffer(); + if(hanzi==null||"".equals(hanzi.trim())) + { + return ""; + } + String pinyin=""; + for(int i=0;i3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } 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 123ef64..08c0cdb 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 @@ -83,7 +83,7 @@ } return ResponseData.success(); }else{ - return ResponseData.error(Status.USER_ALREADY_NOT_REGISTERED); + return ResponseData.error(2402,Status.USER_ALREADY_NOT_REGISTERED); } }catch (Exception e){ e.printStackTrace(); 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 5e2a415..020f56d 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,23 +1,35 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUnit; +import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.UserActionMapper; 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.dto.*; import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.enums.Status; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.InitialUtils; +import com.casic.missiles.modular.system.utils.UuidUtils; +import com.casic.missiles.modular.system.utils.WXUserUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.crypto.hash.Hash; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -32,55 +44,129 @@ @Autowired private VisitorApplyMapper visitorApplyMapper; - @Override - public Object add(VisitorApplyAddRequest visitorApplyAddRequest) { - VisitorApply visitorApply = new VisitorApply(); - BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); - visitorApply.setStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); - if(visitorApplyMapper.insert(visitorApply) > 0){ - // TODO: 2022/11/15 给物业管理员发送校验通过通知,生成单号 - // 当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时, - // 可允许开发者向用户在7天内推送有限条数的模板消息(一次提交表单可下发1条多次提交下发条数独立,相互不影响) - // TODO: 2022/11/17 消息发送成功存入消息表 + @Resource + private UserActionService userActionService; - return ResponseData.success(); + @Resource + private UserActionMapper userActionDao; + + + @Override + public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + VisitorApply visitorApply = new VisitorApply(); + BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); + String messageId = getMassageId(visitorApply.getVisitorName(), visitorApply.getInTime()); + visitorApply.setApplyNo(messageId); + visitorApply.setVisitorApplyStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); + if(visitorApplyMapper.insert(visitorApply) > 0){ + List list = userActionDao.getPropertyManager(); + // 向物业管理员推送消息 + for (String openid : list) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(messageId,"0",openid); + }else{ + insertMessageLog(messageId,"1",openid); + } + } + // 向提报人推送消息 + sentMessage(visitorApply); + return ResponseData.success(); + } + return ResponseData.error("访客申请失败"); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); } - return ResponseData.error("访客申请失败"); } @Override - public Object list(VisitorApplyListRequest visitorApplyListRequest) { + public Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } List list = visitorApplyMapper.selectApplyList(visitorApplyListRequest); if(CollectionUtils.isEmpty(list)){ - return new ArrayList<>(); + return ResponseData.success(new ArrayList<>()); } return ResponseData.success(list); } @Override - public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest) { + public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } VisitorApply visitorApply = new VisitorApply(); BeanUtils.copyProperties(visitorApplyStatusRequest, visitorApply); if(visitorApplyMapper.updateById(visitorApply) > 0){ + VisitorApply apply = visitorApplyMapper.selectById(visitorApplyStatusRequest.getId()); //申请通过 - if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请通过消息通知 - String[] dataArr = {}; - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } //申请不通过 - if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请不通过消息通知 - - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } return ResponseData.success(); } return ResponseData.error("提交失败"); } - public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + + @Override + public Object getMessageInfo(String messageId, HttpServletRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_no" , messageId); + List users = visitorApplyMapper.selectList(wrapper); + if(users != null && users.size() != 0){ + return ResponseData.success(users.get(0)); + }else{ + return ResponseData.error("消息详细信息获取失败"); + } + } + + @Override + public Object getMessageList(HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + String openid = jsonObject.get("openid").toString(); + List> resMap = visitorApplyMapper.getMessageList(openid); + return ResponseData.success(resMap); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); + } + + } + + private void sentMessage(VisitorApply visitorApply) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String toUser = getToUser(visitorApply.getStaffCode()); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorApplyStatus(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(toUser, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(visitorApply.getApplyNo(),"0",toUser); + }else{ + insertMessageLog(visitorApply.getApplyNo(),"1",toUser); + } + } + + public JSONObject SendMassage(String toUser,String templateId,String[] dataArr,String[] templateArr) { HashMap map = new HashMap<>(); map.put("toUser",toUser); map.put("templateId",templateId); @@ -92,6 +178,23 @@ } map.put("data",dataMap); JSONObject jsonObject = new JSONObject(map); - return jsonObject.toString(); + String token = userActionService.getToken(); + return WXUserUtils.sendSubscribeMessage(jsonObject.toString(),token); + } + public String getMassageId(String userName,String dateTime) throws ParseException { + String name = InitialUtils.getNameInitial(userName, false); + Date date = DateUtils.parseDate(dateTime); + String str = DateUtils.format(date, "yyyyMMddHHmmss"); + return name+str; + } + public String getToUser(String staffCode) { + UserDto userDto = new UserDto(); + userDto.setAccount(staffCode); + UserDto userInfo = userActionDao.getUserInfo(userDto); + return userInfo.getSyncId(); + } + public void insertMessageLog(String messageId,String status,String toUser){ + MessageDto message = new MessageDto(UuidUtils.getId(),messageId,status,DateUtils.format(new Date()),toUser); + userActionDao.insertMessageLog(message); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java new file mode 100644 index 0000000..d1a784d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java @@ -0,0 +1,86 @@ +package com.casic.missiles.modular.system.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; + +public class InitialUtils { + /*** + * 将汉字转成拼音(取首字母或全拼) + * @param hanzi + * @param full 是否全拼 + * @return + */ + public static String getNameInitial(String hanzi,boolean full) + { + /*** + * ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言 + * ^[\u4E00-\u9FFF]+$ 匹配简体和繁体 + * ^[\u4E00-\u9FA5]+$ 匹配简体 + */ + String regExp="^[\u4E00-\u9FFF]+$"; + StringBuffer sb=new StringBuffer(); + if(hanzi==null||"".equals(hanzi.trim())) + { + return ""; + } + String pinyin=""; + for(int i=0;i3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } 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 123ef64..08c0cdb 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 @@ -83,7 +83,7 @@ } return ResponseData.success(); }else{ - return ResponseData.error(Status.USER_ALREADY_NOT_REGISTERED); + return ResponseData.error(2402,Status.USER_ALREADY_NOT_REGISTERED); } }catch (Exception e){ e.printStackTrace(); 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 5e2a415..020f56d 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,23 +1,35 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUnit; +import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.UserActionMapper; 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.dto.*; import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.enums.Status; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.InitialUtils; +import com.casic.missiles.modular.system.utils.UuidUtils; +import com.casic.missiles.modular.system.utils.WXUserUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.crypto.hash.Hash; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -32,55 +44,129 @@ @Autowired private VisitorApplyMapper visitorApplyMapper; - @Override - public Object add(VisitorApplyAddRequest visitorApplyAddRequest) { - VisitorApply visitorApply = new VisitorApply(); - BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); - visitorApply.setStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); - if(visitorApplyMapper.insert(visitorApply) > 0){ - // TODO: 2022/11/15 给物业管理员发送校验通过通知,生成单号 - // 当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时, - // 可允许开发者向用户在7天内推送有限条数的模板消息(一次提交表单可下发1条多次提交下发条数独立,相互不影响) - // TODO: 2022/11/17 消息发送成功存入消息表 + @Resource + private UserActionService userActionService; - return ResponseData.success(); + @Resource + private UserActionMapper userActionDao; + + + @Override + public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + VisitorApply visitorApply = new VisitorApply(); + BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); + String messageId = getMassageId(visitorApply.getVisitorName(), visitorApply.getInTime()); + visitorApply.setApplyNo(messageId); + visitorApply.setVisitorApplyStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); + if(visitorApplyMapper.insert(visitorApply) > 0){ + List list = userActionDao.getPropertyManager(); + // 向物业管理员推送消息 + for (String openid : list) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(messageId,"0",openid); + }else{ + insertMessageLog(messageId,"1",openid); + } + } + // 向提报人推送消息 + sentMessage(visitorApply); + return ResponseData.success(); + } + return ResponseData.error("访客申请失败"); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); } - return ResponseData.error("访客申请失败"); } @Override - public Object list(VisitorApplyListRequest visitorApplyListRequest) { + public Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } List list = visitorApplyMapper.selectApplyList(visitorApplyListRequest); if(CollectionUtils.isEmpty(list)){ - return new ArrayList<>(); + return ResponseData.success(new ArrayList<>()); } return ResponseData.success(list); } @Override - public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest) { + public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } VisitorApply visitorApply = new VisitorApply(); BeanUtils.copyProperties(visitorApplyStatusRequest, visitorApply); if(visitorApplyMapper.updateById(visitorApply) > 0){ + VisitorApply apply = visitorApplyMapper.selectById(visitorApplyStatusRequest.getId()); //申请通过 - if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请通过消息通知 - String[] dataArr = {}; - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } //申请不通过 - if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请不通过消息通知 - - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } return ResponseData.success(); } return ResponseData.error("提交失败"); } - public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + + @Override + public Object getMessageInfo(String messageId, HttpServletRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_no" , messageId); + List users = visitorApplyMapper.selectList(wrapper); + if(users != null && users.size() != 0){ + return ResponseData.success(users.get(0)); + }else{ + return ResponseData.error("消息详细信息获取失败"); + } + } + + @Override + public Object getMessageList(HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + String openid = jsonObject.get("openid").toString(); + List> resMap = visitorApplyMapper.getMessageList(openid); + return ResponseData.success(resMap); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); + } + + } + + private void sentMessage(VisitorApply visitorApply) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String toUser = getToUser(visitorApply.getStaffCode()); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorApplyStatus(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(toUser, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(visitorApply.getApplyNo(),"0",toUser); + }else{ + insertMessageLog(visitorApply.getApplyNo(),"1",toUser); + } + } + + public JSONObject SendMassage(String toUser,String templateId,String[] dataArr,String[] templateArr) { HashMap map = new HashMap<>(); map.put("toUser",toUser); map.put("templateId",templateId); @@ -92,6 +178,23 @@ } map.put("data",dataMap); JSONObject jsonObject = new JSONObject(map); - return jsonObject.toString(); + String token = userActionService.getToken(); + return WXUserUtils.sendSubscribeMessage(jsonObject.toString(),token); + } + public String getMassageId(String userName,String dateTime) throws ParseException { + String name = InitialUtils.getNameInitial(userName, false); + Date date = DateUtils.parseDate(dateTime); + String str = DateUtils.format(date, "yyyyMMddHHmmss"); + return name+str; + } + public String getToUser(String staffCode) { + UserDto userDto = new UserDto(); + userDto.setAccount(staffCode); + UserDto userInfo = userActionDao.getUserInfo(userDto); + return userInfo.getSyncId(); + } + public void insertMessageLog(String messageId,String status,String toUser){ + MessageDto message = new MessageDto(UuidUtils.getId(),messageId,status,DateUtils.format(new Date()),toUser); + userActionDao.insertMessageLog(message); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java new file mode 100644 index 0000000..d1a784d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java @@ -0,0 +1,86 @@ +package com.casic.missiles.modular.system.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; + +public class InitialUtils { + /*** + * 将汉字转成拼音(取首字母或全拼) + * @param hanzi + * @param full 是否全拼 + * @return + */ + public static String getNameInitial(String hanzi,boolean full) + { + /*** + * ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言 + * ^[\u4E00-\u9FFF]+$ 匹配简体和繁体 + * ^[\u4E00-\u9FA5]+$ 匹配简体 + */ + String regExp="^[\u4E00-\u9FFF]+$"; + StringBuffer sb=new StringBuffer(); + if(hanzi==null||"".equals(hanzi.trim())) + { + return ""; + } + String pinyin=""; + for(int i=0;i + + INSERT INTO bus_message ( `ID`, `MESSAGE_ID`, `STATUS`,`CREATE_TIME`) + VALUES (#{message.id},#{message.messageId},#{message.status},DATE_FORMAT(#{message.createTime},'%Y-%m-%d %H:%i:%S')) + UPDATE sys_user SET `AVATAR` = #{fileId} WHERE `ID` = #{uid} @@ -60,4 +64,18 @@ WHERE t.Userid = ( SELECT id FROM sys_user WHERE id = #{uid} )) + \ No newline at end of file diff --git a/casic-server/pom.xml b/casic-server/pom.xml index 060eae2..1f1699d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -100,6 +100,11 @@ 3.7.0 compile + + com.belerweb + pinyin4j + 2.5.0 + 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 3b07709..f239d47 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 @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -38,24 +39,34 @@ * 访客信息提交 */ @PostMapping("/apply/submit") - public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest) { - return visitorApplyService.add(visitorApplyAddRequest); + public Object visitorApply(@RequestBody VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + return visitorApplyService.add(visitorApplyAddRequest,request); } /** * 访客申请列表,管理员使用keywords任意传,申请者使用keywords传申请者工号 */ @PostMapping("/apply/list") - public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest) { - return visitorApplyService.list(visitorApplyListRequest); + public Object visitorApplyList(@RequestBody VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + return visitorApplyService.list(visitorApplyListRequest,request); } /** * 管理员变更申请状态(通过/不通过) */ @PostMapping("/apply/status") - public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest) { - return visitorApplyService.updateStatus(visitorApplyStatusRequest); + public Object visitorApplyStatus(@RequestBody VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + return visitorApplyService.updateStatus(visitorApplyStatusRequest,request); + } + + @RequestMapping("/getMessageInfo") + public Object getMessageInfo(String messageId, HttpServletRequest request) { + return visitorApplyService.getMessageInfo(messageId,request); + } + + @RequestMapping("/getMessageList") + public Object getMessageList(HttpServletRequest request) { + return visitorApplyService.getMessageList(request); } @RequestMapping("/sendSubscribeMessage") @@ -73,7 +84,7 @@ map.put("templateId","CKObrc7Z2Qc19ckYb1YeYW5PCYjPoqHdyHZqpRAJLoM"); HashMap dataMap = new HashMap<>(); String [] arr = {"11","22","33","44","55"}; - String [] mbarr = MessageDict.PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE; + String [] mbarr = MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA; for (int i = 0; i< mbarr.length; i++) { HashMap valueMap = new HashMap<>(); valueMap.put("value",arr[i]); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java index d2c32af..0081f53 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/UserActionMapper.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.dto.MessageDto; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.model.Dict; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,8 @@ void updateUserImg(@Param("fileId")String fileId, @Param("uid") String uid); List getUserJurisdiction(@Param("uid") String uid); + + void insertMessageLog(@Param("message") MessageDto message); + + List getPropertyManager(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java index f07223d..8bee8b9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/VisitorApplyMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +18,5 @@ public interface VisitorApplyMapper extends BaseMapper { List selectApplyList(@Param("request") VisitorApplyListRequest request); + List> getMessageList(@Param("openid") String openid); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java new file mode 100644 index 0000000..a16cd1e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/MessageDto.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class MessageDto { + private String id; + private String messageId; + private String status; + private String createTime; + private String openId; + + public MessageDto(String id, String messageId, String status, String createTime, String openId) { + this.id = id; + this.messageId = messageId; + this.status = status; + this.createTime = createTime; + this.openId = openId; + } + + public MessageDto() { + } +} 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 index db7ef85..f2c5f51 100644 --- 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 @@ -2,6 +2,12 @@ public interface MessageDict { - String[] PROPERTY_ADMINISTRATOR_MESSAGE_TEMPLATE = {"time1","thing2","thing3","thing4","thing5"}; + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = ""; + + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; + + String APPLICANT_MESSAGE_TEMPLATE_ID = ""; + + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"time1","thing2","thing3","thing4","thing5"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java index ec22d7e..7db3083 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/VisitorApply.java @@ -48,8 +48,10 @@ private String inTime; @ExcelProperty("访问结束时间") private String outTime; - @ExcelProperty("状态") - private String status; + @ExcelProperty("申请者查看的访客申请状态") + private String visitorApplyStatus; + @ExcelProperty("物业管理员查看的访客申请状态") + private String adminVisitorApplyStatus; private String createTime; private String updateTime; 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 c2ae57a..eb8d9e9 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 @@ -1,5 +1,6 @@ package com.casic.missiles.modular.system.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.dto.UserDto; import com.casic.missiles.modular.system.dto.ParamsDto; @@ -24,4 +25,6 @@ Object getUserInfo(HttpServletRequest request); String getToken(); + + JSONObject getLoginStatus(HttpServletRequest request); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 3bc9b9b..2f0b978 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -4,6 +4,8 @@ import com.casic.missiles.modular.system.dto.VisitorApplyListRequest; import com.casic.missiles.modular.system.dto.VisitorApplyStatusRequest; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 访问申请service * @Author: wangpeng @@ -12,9 +14,13 @@ public interface VisitorApplyService { // List visitorApplyListPage(Page page, VisitorApplyRequest visitorApplyRequest); - Object add(VisitorApplyAddRequest visitorApplyAddRequest); + Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request); - Object list(VisitorApplyListRequest visitorApplyListRequest); + Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request); - Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest); + Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request); + + Object getMessageInfo(String messageId, HttpServletRequest request); + + Object getMessageList(HttpServletRequest request); } 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 123ef64..08c0cdb 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 @@ -83,7 +83,7 @@ } return ResponseData.success(); }else{ - return ResponseData.error(Status.USER_ALREADY_NOT_REGISTERED); + return ResponseData.error(2402,Status.USER_ALREADY_NOT_REGISTERED); } }catch (Exception e){ e.printStackTrace(); 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 5e2a415..020f56d 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,23 +1,35 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUnit; +import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.UserActionMapper; 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.dto.*; import com.casic.missiles.modular.system.enums.MessageDict; +import com.casic.missiles.modular.system.enums.Status; import com.casic.missiles.modular.system.enums.VisitorApplyStatusDict; import com.casic.missiles.modular.system.model.VisitorApply; +import com.casic.missiles.modular.system.service.UserActionService; import com.casic.missiles.modular.system.service.VisitorApplyService; +import com.casic.missiles.modular.system.utils.InitialUtils; +import com.casic.missiles.modular.system.utils.UuidUtils; +import com.casic.missiles.modular.system.utils.WXUserUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.crypto.hash.Hash; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -32,55 +44,129 @@ @Autowired private VisitorApplyMapper visitorApplyMapper; - @Override - public Object add(VisitorApplyAddRequest visitorApplyAddRequest) { - VisitorApply visitorApply = new VisitorApply(); - BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); - visitorApply.setStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); - if(visitorApplyMapper.insert(visitorApply) > 0){ - // TODO: 2022/11/15 给物业管理员发送校验通过通知,生成单号 - // 当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时, - // 可允许开发者向用户在7天内推送有限条数的模板消息(一次提交表单可下发1条多次提交下发条数独立,相互不影响) - // TODO: 2022/11/17 消息发送成功存入消息表 + @Resource + private UserActionService userActionService; - return ResponseData.success(); + @Resource + private UserActionMapper userActionDao; + + + @Override + public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + VisitorApply visitorApply = new VisitorApply(); + BeanUtils.copyProperties(visitorApplyAddRequest, visitorApply); + String messageId = getMassageId(visitorApply.getVisitorName(), visitorApply.getInTime()); + visitorApply.setApplyNo(messageId); + visitorApply.setVisitorApplyStatus(VisitorApplyStatusDict.APPLY_SUBMITTED); + if(visitorApplyMapper.insert(visitorApply) > 0){ + List list = userActionDao.getPropertyManager(); + // 向物业管理员推送消息 + for (String openid : list) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(messageId,"0",openid); + }else{ + insertMessageLog(messageId,"1",openid); + } + } + // 向提报人推送消息 + sentMessage(visitorApply); + return ResponseData.success(); + } + return ResponseData.error("访客申请失败"); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); } - return ResponseData.error("访客申请失败"); } @Override - public Object list(VisitorApplyListRequest visitorApplyListRequest) { + public Object list(VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } List list = visitorApplyMapper.selectApplyList(visitorApplyListRequest); if(CollectionUtils.isEmpty(list)){ - return new ArrayList<>(); + return ResponseData.success(new ArrayList<>()); } return ResponseData.success(list); } @Override - public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest) { + public Object updateStatus(VisitorApplyStatusRequest visitorApplyStatusRequest, HttpServletRequest request) { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } VisitorApply visitorApply = new VisitorApply(); BeanUtils.copyProperties(visitorApplyStatusRequest, visitorApply); if(visitorApplyMapper.updateById(visitorApply) > 0){ + VisitorApply apply = visitorApplyMapper.selectById(visitorApplyStatusRequest.getId()); //申请通过 - if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请通过消息通知 - String[] dataArr = {}; - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } //申请不通过 - if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getStatus())){ - // TODO: 2022/11/17 向用户发送申请不通过消息通知 - - // TODO: 2022/11/17 消息发送成功存入消息表 - + if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ + // 向申请人推送消息 + sentMessage(apply); } return ResponseData.success(); } return ResponseData.error("提交失败"); } - public String getSendParams(String toUser,String templateId,String[] dataArr,String[] templateArr) { + + @Override + public Object getMessageInfo(String messageId, HttpServletRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_no" , messageId); + List users = visitorApplyMapper.selectList(wrapper); + if(users != null && users.size() != 0){ + return ResponseData.success(users.get(0)); + }else{ + return ResponseData.error("消息详细信息获取失败"); + } + } + + @Override + public Object getMessageList(HttpServletRequest request) { + try { + JSONObject jsonObject = userActionService.getLoginStatus(request); + if(null == jsonObject){ + return ResponseData.error(2401,Status.TOKEN_EXPIRES); + } + String openid = jsonObject.get("openid").toString(); + List> resMap = visitorApplyMapper.getMessageList(openid); + return ResponseData.success(resMap); + }catch (Exception e){ + e.printStackTrace(); + return ResponseData.error(Status.FAIL); + } + + } + + private void sentMessage(VisitorApply visitorApply) { + String accTime = visitorApply.getInTime()+"-"+visitorApply.getOutTime(); + String toUser = getToUser(visitorApply.getStaffCode()); + String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorApplyStatus(),visitorApply.getStaffCode(),visitorApply.getStaffName(),accTime}; + JSONObject result = SendMassage(toUser, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); + if(result.get("errcode").equals("0")){ + insertMessageLog(visitorApply.getApplyNo(),"0",toUser); + }else{ + insertMessageLog(visitorApply.getApplyNo(),"1",toUser); + } + } + + public JSONObject SendMassage(String toUser,String templateId,String[] dataArr,String[] templateArr) { HashMap map = new HashMap<>(); map.put("toUser",toUser); map.put("templateId",templateId); @@ -92,6 +178,23 @@ } map.put("data",dataMap); JSONObject jsonObject = new JSONObject(map); - return jsonObject.toString(); + String token = userActionService.getToken(); + return WXUserUtils.sendSubscribeMessage(jsonObject.toString(),token); + } + public String getMassageId(String userName,String dateTime) throws ParseException { + String name = InitialUtils.getNameInitial(userName, false); + Date date = DateUtils.parseDate(dateTime); + String str = DateUtils.format(date, "yyyyMMddHHmmss"); + return name+str; + } + public String getToUser(String staffCode) { + UserDto userDto = new UserDto(); + userDto.setAccount(staffCode); + UserDto userInfo = userActionDao.getUserInfo(userDto); + return userInfo.getSyncId(); + } + public void insertMessageLog(String messageId,String status,String toUser){ + MessageDto message = new MessageDto(UuidUtils.getId(),messageId,status,DateUtils.format(new Date()),toUser); + userActionDao.insertMessageLog(message); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java new file mode 100644 index 0000000..d1a784d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/InitialUtils.java @@ -0,0 +1,86 @@ +package com.casic.missiles.modular.system.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; + +public class InitialUtils { + /*** + * 将汉字转成拼音(取首字母或全拼) + * @param hanzi + * @param full 是否全拼 + * @return + */ + public static String getNameInitial(String hanzi,boolean full) + { + /*** + * ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言 + * ^[\u4E00-\u9FFF]+$ 匹配简体和繁体 + * ^[\u4E00-\u9FA5]+$ 匹配简体 + */ + String regExp="^[\u4E00-\u9FFF]+$"; + StringBuffer sb=new StringBuffer(); + if(hanzi==null||"".equals(hanzi.trim())) + { + return ""; + } + String pinyin=""; + for(int i=0;i + + INSERT INTO bus_message ( `ID`, `MESSAGE_ID`, `STATUS`,`CREATE_TIME`) + VALUES (#{message.id},#{message.messageId},#{message.status},DATE_FORMAT(#{message.createTime},'%Y-%m-%d %H:%i:%S')) + UPDATE sys_user SET `AVATAR` = #{fileId} WHERE `ID` = #{uid} @@ -60,4 +64,18 @@ WHERE t.Userid = ( SELECT id FROM sys_user WHERE id = #{uid} )) + \ No newline at end of file diff --git a/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml b/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml index aa5f058..2f50ea4 100644 --- a/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml +++ b/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml @@ -23,4 +23,18 @@ ORDER BY create_time DESC + \ No newline at end of file