diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; 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 0d0f699..80b8536 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 @@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import cn.hutool.core.codec.Base64; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -69,8 +71,8 @@ @Resource private IUserRoleRelationService iUserRoleRelationService; - - final String filePath = "/tmp/casicSecurityCockpitMiniFile/"; + @Value("${casic.file.uploadPathUrl}") + private String filePath; @Override public Object getLoginToken(String code) { @@ -137,35 +139,30 @@ userDto.setAccount("G"+userDto.getAccount()); } } - UserDto dto = new UserDto(); - dto.setAttr1(userDto.getPhone()); - UserDto user = userActionDao.getUserInfo(dto); - if(null == user){ - userDto.setAttr1(""); - UserDto userInfo = userActionDao.getUserInfo(userDto); - if(null != userInfo){ - if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ - return ResponseData.error(Status.DOCUMENT_TYPE); - } - userDto.setLogonState("0"); - userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); - userDto.setSyncId(jsonObject.get("openid").toString()); - userActionDao.userRegister(userDto); - RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("USERID",userInfo.getId()); - ruRelationMapper.delete(wrapper); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - }else { - return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); + userDto.setAttr1(""); + UserDto userInfo = userActionDao.getUserInfo(userDto); + if(null != userInfo){ + if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ + return ResponseData.error(Status.DOCUMENT_TYPE); } - }else{ - return ResponseData.error(Status.USER_ALREADY_REGISTERED); + userDto.setLogonState("0"); + userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); + userDto.setSyncId(jsonObject.get("openid").toString()); + if(StringUtil.isNotEmpty(userInfo.getPhone()) && !userInfo.getPhone().equals(userDto.getPhone())){ + return ResponseData.error(Status.PHONE_NOT_FIT); + } + userActionDao.userRegister(userDto); + RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("USERID",userInfo.getId()); + ruRelationMapper.delete(wrapper); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }else { + return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); } - }catch (Exception e){ - e.printStackTrace(); - return ResponseData.error(Status.FAIL); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } } @@ -320,32 +317,41 @@ for (List staffInfoList : staffInfoLists) { List accounts = staffInfoList.stream().map(StaffInfoDto::getAccount).distinct().collect(Collectors.toList()); if(accounts.size() phones = staffInfoList.stream().map(StaffInfoDto::getPhone).distinct().collect(Collectors.toList()); if(phones.size() ruRelations = new ArrayList<>(); for (StaffInfoDto bean : list) { + if(StringUtil.isEmpty(bean.getAccount()) || StringUtil.isEmpty(bean.getName())){ + return ResponseData.error("导入数据证件编号或员工姓名必填,请核对"); + } + if(StringUtil.isEmpty(bean.getDocumentType())){ + return ResponseData.error("导入数据证件类型必填,请核对"); + } + if(StringUtil.isEmpty(bean.getStaffType())){ + return ResponseData.error("导入数据员工类型必填,请核对"); + } + if(StringUtil.isNotEmpty(bean.getDocumentType()) && !(bean.getDocumentType().equals("1") || bean.getDocumentType().equals("0"))){ + return ResponseData.error("导入数据证件类型不符合规范"); + } + switch (bean.getStaffType()){ + case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; + case "2":bean.setStaffType(RoleEnum.MAINTENANCE_EMPLOYEE.getCode());break; + case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; + default: return ResponseData.error("导入数据人员类型不符合规范"); + } Long id = IdWorker.getId(); bean.setId(id); bean.setLogonState("1"); if (StringUtil.isNotEmpty(bean.getPhone())) { bean.setLogonState("0"); } - switch (bean.getStaffType()){ - case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; - case "2":bean.setStaffType(RoleEnum.ROLE_PROPERTY_PERSONNEL.getCode());break; - case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; - } ruRelations.add(new RuRelation(id,Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode()))); } - List> ruRelationLists = ListUtils.partition(ruRelations, 500); - for (List relations : ruRelationLists) { - iUserRoleRelationService.saveBatch(relations); - } for (List staffInfoDtoList : staffInfoLists) { try { userActionDao.batchImportStaff(staffInfoDtoList); @@ -353,6 +359,10 @@ throw new BusinessException(500,"导入数据人员编号或手机号已存在,请核对"); } } + List> ruRelationLists = ListUtils.partition(ruRelations, 500); + for (List relations : ruRelationLists) { + iUserRoleRelationService.saveBatch(relations); + } return ResponseData.success(list); } @@ -386,25 +396,26 @@ @Override @Transactional public Object addUser(StaffInfoDto staffInfoDto) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("account",staffInfoDto.getAccount()); - UserDto userDto = userActionDao.selectOne(wrapper); - if(null != userDto) return ResponseData.error("该员工工号已存在"); - staffInfoDto.setLogonState("1"); - if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ - wrapper.clear(); - wrapper.eq("phone",staffInfoDto.getPhone()); - UserDto user = userActionDao.selectOne(wrapper); - if(null != user) return ResponseData.error("该手机号已被绑定或注册"); - staffInfoDto.setLogonState("0"); + try { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account",staffInfoDto.getAccount()); + UserDto userDto = userActionDao.selectOne(wrapper); + if(null != userDto) return ResponseData.error("该员工工号已存在"); + staffInfoDto.setLogonState("1"); + if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else{ + staffInfoDto.setPhone(null); + } + Long id = IdWorker.getId(); + staffInfoDto.setId(id); + userActionDao.addUser(staffInfoDto); + RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } - Long id = IdWorker.getId(); - staffInfoDto.setId(id); - userActionDao.addUser(staffInfoDto); - RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - } @Override @@ -418,27 +429,43 @@ } @Override + @Transactional public Object updateUser(StaffInfoDto staffInfoDto) { UserDto userDto = userActionDao.selectById(staffInfoDto.getId()); - if(StringUtil.isNotEmpty(userDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ + if(StringUtil.isNotEmpty(userDto.getPhone()) && StringUtil.isNotEmpty(staffInfoDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ staffInfoDto.setSyncId(userDto.getSyncId()); - }else if(StringUtil.isNotEmpty(userDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ staffInfoDto.setSyncId(null); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("phone",staffInfoDto.getPhone()); UserDto user = userActionDao.selectOne(wrapper); + staffInfoDto.setLogonState("0"); if(null != user) return ResponseData.error("该手机号已被绑定或注册"); }else{ staffInfoDto.setSyncId(null); staffInfoDto.setPhone(null); + staffInfoDto.setLogonState("1"); } userActionDao.updateUser(staffInfoDto); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); - if(ruRelationMapper.update(null,updateWrapper)>0){ - return ResponseData.success(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("USERID",staffInfoDto.getId()); + if(ruRelationMapper.selectList(queryWrapper).size()>0){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); + if(ruRelationMapper.update(null,updateWrapper)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } + }else{ + RuRelation ruRelation = new RuRelation(staffInfoDto.getId(),Long.parseLong(staffInfoDto.getStaffRole())); + if(ruRelationMapper.insert(ruRelation)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } } - return ResponseData.error("操作失败"); } @Override diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; 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 0d0f699..80b8536 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 @@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import cn.hutool.core.codec.Base64; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -69,8 +71,8 @@ @Resource private IUserRoleRelationService iUserRoleRelationService; - - final String filePath = "/tmp/casicSecurityCockpitMiniFile/"; + @Value("${casic.file.uploadPathUrl}") + private String filePath; @Override public Object getLoginToken(String code) { @@ -137,35 +139,30 @@ userDto.setAccount("G"+userDto.getAccount()); } } - UserDto dto = new UserDto(); - dto.setAttr1(userDto.getPhone()); - UserDto user = userActionDao.getUserInfo(dto); - if(null == user){ - userDto.setAttr1(""); - UserDto userInfo = userActionDao.getUserInfo(userDto); - if(null != userInfo){ - if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ - return ResponseData.error(Status.DOCUMENT_TYPE); - } - userDto.setLogonState("0"); - userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); - userDto.setSyncId(jsonObject.get("openid").toString()); - userActionDao.userRegister(userDto); - RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("USERID",userInfo.getId()); - ruRelationMapper.delete(wrapper); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - }else { - return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); + userDto.setAttr1(""); + UserDto userInfo = userActionDao.getUserInfo(userDto); + if(null != userInfo){ + if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ + return ResponseData.error(Status.DOCUMENT_TYPE); } - }else{ - return ResponseData.error(Status.USER_ALREADY_REGISTERED); + userDto.setLogonState("0"); + userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); + userDto.setSyncId(jsonObject.get("openid").toString()); + if(StringUtil.isNotEmpty(userInfo.getPhone()) && !userInfo.getPhone().equals(userDto.getPhone())){ + return ResponseData.error(Status.PHONE_NOT_FIT); + } + userActionDao.userRegister(userDto); + RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("USERID",userInfo.getId()); + ruRelationMapper.delete(wrapper); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }else { + return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); } - }catch (Exception e){ - e.printStackTrace(); - return ResponseData.error(Status.FAIL); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } } @@ -320,32 +317,41 @@ for (List staffInfoList : staffInfoLists) { List accounts = staffInfoList.stream().map(StaffInfoDto::getAccount).distinct().collect(Collectors.toList()); if(accounts.size() phones = staffInfoList.stream().map(StaffInfoDto::getPhone).distinct().collect(Collectors.toList()); if(phones.size() ruRelations = new ArrayList<>(); for (StaffInfoDto bean : list) { + if(StringUtil.isEmpty(bean.getAccount()) || StringUtil.isEmpty(bean.getName())){ + return ResponseData.error("导入数据证件编号或员工姓名必填,请核对"); + } + if(StringUtil.isEmpty(bean.getDocumentType())){ + return ResponseData.error("导入数据证件类型必填,请核对"); + } + if(StringUtil.isEmpty(bean.getStaffType())){ + return ResponseData.error("导入数据员工类型必填,请核对"); + } + if(StringUtil.isNotEmpty(bean.getDocumentType()) && !(bean.getDocumentType().equals("1") || bean.getDocumentType().equals("0"))){ + return ResponseData.error("导入数据证件类型不符合规范"); + } + switch (bean.getStaffType()){ + case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; + case "2":bean.setStaffType(RoleEnum.MAINTENANCE_EMPLOYEE.getCode());break; + case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; + default: return ResponseData.error("导入数据人员类型不符合规范"); + } Long id = IdWorker.getId(); bean.setId(id); bean.setLogonState("1"); if (StringUtil.isNotEmpty(bean.getPhone())) { bean.setLogonState("0"); } - switch (bean.getStaffType()){ - case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; - case "2":bean.setStaffType(RoleEnum.ROLE_PROPERTY_PERSONNEL.getCode());break; - case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; - } ruRelations.add(new RuRelation(id,Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode()))); } - List> ruRelationLists = ListUtils.partition(ruRelations, 500); - for (List relations : ruRelationLists) { - iUserRoleRelationService.saveBatch(relations); - } for (List staffInfoDtoList : staffInfoLists) { try { userActionDao.batchImportStaff(staffInfoDtoList); @@ -353,6 +359,10 @@ throw new BusinessException(500,"导入数据人员编号或手机号已存在,请核对"); } } + List> ruRelationLists = ListUtils.partition(ruRelations, 500); + for (List relations : ruRelationLists) { + iUserRoleRelationService.saveBatch(relations); + } return ResponseData.success(list); } @@ -386,25 +396,26 @@ @Override @Transactional public Object addUser(StaffInfoDto staffInfoDto) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("account",staffInfoDto.getAccount()); - UserDto userDto = userActionDao.selectOne(wrapper); - if(null != userDto) return ResponseData.error("该员工工号已存在"); - staffInfoDto.setLogonState("1"); - if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ - wrapper.clear(); - wrapper.eq("phone",staffInfoDto.getPhone()); - UserDto user = userActionDao.selectOne(wrapper); - if(null != user) return ResponseData.error("该手机号已被绑定或注册"); - staffInfoDto.setLogonState("0"); + try { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account",staffInfoDto.getAccount()); + UserDto userDto = userActionDao.selectOne(wrapper); + if(null != userDto) return ResponseData.error("该员工工号已存在"); + staffInfoDto.setLogonState("1"); + if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else{ + staffInfoDto.setPhone(null); + } + Long id = IdWorker.getId(); + staffInfoDto.setId(id); + userActionDao.addUser(staffInfoDto); + RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } - Long id = IdWorker.getId(); - staffInfoDto.setId(id); - userActionDao.addUser(staffInfoDto); - RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - } @Override @@ -418,27 +429,43 @@ } @Override + @Transactional public Object updateUser(StaffInfoDto staffInfoDto) { UserDto userDto = userActionDao.selectById(staffInfoDto.getId()); - if(StringUtil.isNotEmpty(userDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ + if(StringUtil.isNotEmpty(userDto.getPhone()) && StringUtil.isNotEmpty(staffInfoDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ staffInfoDto.setSyncId(userDto.getSyncId()); - }else if(StringUtil.isNotEmpty(userDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ staffInfoDto.setSyncId(null); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("phone",staffInfoDto.getPhone()); UserDto user = userActionDao.selectOne(wrapper); + staffInfoDto.setLogonState("0"); if(null != user) return ResponseData.error("该手机号已被绑定或注册"); }else{ staffInfoDto.setSyncId(null); staffInfoDto.setPhone(null); + staffInfoDto.setLogonState("1"); } userActionDao.updateUser(staffInfoDto); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); - if(ruRelationMapper.update(null,updateWrapper)>0){ - return ResponseData.success(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("USERID",staffInfoDto.getId()); + if(ruRelationMapper.selectList(queryWrapper).size()>0){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); + if(ruRelationMapper.update(null,updateWrapper)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } + }else{ + RuRelation ruRelation = new RuRelation(staffInfoDto.getId(),Long.parseLong(staffInfoDto.getStaffRole())); + if(ruRelationMapper.insert(ruRelation)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } } - return ResponseData.error("操作失败"); } @Override 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 0a95f8b..37735e9 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 @@ -63,9 +63,25 @@ @Transactional public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { try { - JSONObject jsonObject = userActionService.getLoginStatus(request); + /*JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); + }*/ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("visitor_id_card",visitorApplyAddRequest.getVisitorIdCard()); + wrapper.eq("visitor_apply_status",MessageEnum.APPLY_SUBMITTED.getCode()); + if(visitorApplyMapper.selectList(wrapper).size()>0){ + return ResponseData.error(500,"当前访客已存在正在申请中的访客单,不可重复提交."); + } + List passedApplyList = visitorApplyMapper.selectPassedApply(visitorApplyAddRequest.getVisitorIdCard(),getDate(1),getDate(7)); + boolean flag = false; + for (VisitorApply apply : passedApplyList) { + if(hasOverlap(visitorApplyAddRequest.getInTime(),visitorApplyAddRequest.getOutTime(),apply.getInTime(),apply.getOutTime())){ + flag = true; + } + } + if(flag){ + return ResponseData.error(500,"当前访客在申请时间范围内已存在访客申请单,不能进行重复申请,请修改时间."); } VisitorApply visitorApply = new VisitorApply(); UserDto userDto = new UserDto(); @@ -82,7 +98,7 @@ List list = userActionMapper.getPropertyManager(RoleEnum.PROPERTY_PERSONNEL.getCode()); // 向物业管理员推送消息 for (String openid : list) { - String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); //String[] dataArr = {MessageEnum.TEST_MESSAGE.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),visitorApply.getVisitReason(),visitorApply.getVisitPosition()}; //JSONObject result = SendMassage(openid, MessageDict.APPLICANT_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.APPLICANT_MESSAGE_TEMPLATE_DATA); @@ -93,7 +109,7 @@ } } // 向提报人推送消息 - String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; sentMessage(visitorApply,dataArr,VisitorApplyStatusDict.APPLY_SUBMITTED); return ResponseData.success(); } @@ -103,12 +119,13 @@ } } + @Override public Object list(Page page,VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { - JSONObject jsonObject = userActionService.getLoginStatus(request); - if(null == jsonObject){ - return ResponseData.error(2401,Status.TOKEN_EXPIRES); - } +// JSONObject jsonObject = userActionService.getLoginStatus(request); +// if(null == jsonObject){ +// return ResponseData.error(2401,Status.TOKEN_EXPIRES); +// } Page visitorApplyPage = visitorApplyMapper.selectApplyList(page,visitorApplyListRequest); if(CollectionUtils.isEmpty(visitorApplyPage.getRecords())){ return ResponseData.success(new ArrayList<>()); @@ -137,7 +154,7 @@ case VisitorApplyStatusDict.APPLY_PASSED:apply.setVisitorApplyStatus("申请通过");break; case VisitorApplyStatusDict.APPLY_FAILED:apply.setVisitorApplyStatus("申请未通过");break; } - apply.setVisitDate(apply.getInTime()+"-"+apply.getOutTime()); + apply.setVisitDate(apply.getInTime()+"~"+apply.getOutTime()); } return list; } @@ -160,13 +177,13 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_PASSED); } //申请不通过 if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_FAILED); } } @@ -221,12 +238,17 @@ } @Override - public void exportMessage(IdsDTO idsDTO, HttpServletResponse response) { + public void exportMessage(VisitorApplyListRequest request, HttpServletResponse response) { try { - QueryWrapper qw = new QueryWrapper<>(); - qw.in("id", idsDTO.getIds()); - qw.orderByDesc("create_time"); - List visitorApplyList = visitorApplyMapper.selectList(qw); + List visitorApplyList; + if(ObjectUtil.isNotEmpty(request.getIdList()) && request.getIdList().size() != 0){ + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id", request.getIdList()); + qw.orderByDesc("create_time"); + visitorApplyList = visitorApplyMapper.selectList(qw); + }else{ + visitorApplyList = visitorApplyMapper.selectApplyList(request); + } ExportUtils.writeExcel(response,supplementList(visitorApplyList),"fileName","sheet",VisitorApply.class); } catch (Exception e) { e.printStackTrace(); @@ -250,22 +272,30 @@ } private Boolean judgeOperate(VisitorApply visitorApply) throws ParseException { Date date = DateUtils.parseDate(visitorApply.getCreateTime(),"yyyy-MM-dd"); - Date createDate = date; Calendar calendar = Calendar.getInstance(); // 设置为当前时间 calendar.setTime(date); calendar.add(Calendar.DATE,1); calendar.add(Calendar.HOUR,8); date = calendar.getTime(); - if(createDate.getTime()>date.getTime()){ + if(new Date().getTime()>date.getTime()){ return true; }else { return false; } } + private String getDate(int num){ + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + // 设置为当前时间 + calendar.setTime(date); + calendar.add(Calendar.DATE,num); + date = calendar.getTime(); + return DateUtils.format(date,"yyyy-MM-dd"); + } @Override public Object updateApply(VisitorApply visitorApply, HttpServletRequest request) throws ParseException { - JSONObject jsonObject = userActionService.getLoginStatus(request); + JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); } @@ -341,4 +371,20 @@ } return visitorApplyList; } + public boolean hasOverlap(String leftStart, String leftEnd, String rightStart, String rightEnd) { + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date leftStartDate = simpleDateFormat.parse(leftStart); + Date leftEndDate = simpleDateFormat.parse(leftEnd); + Date rightStartDate = simpleDateFormat.parse(rightStart); + Date rightEndDate = simpleDateFormat.parse(rightEnd); + return ((leftStartDate.getTime() >= rightStartDate.getTime()) && leftStartDate.getTime() < rightEndDate.getTime()) + || ((leftStartDate.getTime() > rightStartDate.getTime()) && leftStartDate.getTime() <= rightEndDate.getTime()) + || ((rightStartDate.getTime() >= leftStartDate.getTime()) && rightStartDate.getTime() < leftEndDate.getTime()) + || ((rightStartDate.getTime() > leftStartDate.getTime()) && rightStartDate.getTime() <= leftEndDate.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + return false; + } + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; 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 0d0f699..80b8536 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 @@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import cn.hutool.core.codec.Base64; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -69,8 +71,8 @@ @Resource private IUserRoleRelationService iUserRoleRelationService; - - final String filePath = "/tmp/casicSecurityCockpitMiniFile/"; + @Value("${casic.file.uploadPathUrl}") + private String filePath; @Override public Object getLoginToken(String code) { @@ -137,35 +139,30 @@ userDto.setAccount("G"+userDto.getAccount()); } } - UserDto dto = new UserDto(); - dto.setAttr1(userDto.getPhone()); - UserDto user = userActionDao.getUserInfo(dto); - if(null == user){ - userDto.setAttr1(""); - UserDto userInfo = userActionDao.getUserInfo(userDto); - if(null != userInfo){ - if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ - return ResponseData.error(Status.DOCUMENT_TYPE); - } - userDto.setLogonState("0"); - userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); - userDto.setSyncId(jsonObject.get("openid").toString()); - userActionDao.userRegister(userDto); - RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("USERID",userInfo.getId()); - ruRelationMapper.delete(wrapper); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - }else { - return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); + userDto.setAttr1(""); + UserDto userInfo = userActionDao.getUserInfo(userDto); + if(null != userInfo){ + if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ + return ResponseData.error(Status.DOCUMENT_TYPE); } - }else{ - return ResponseData.error(Status.USER_ALREADY_REGISTERED); + userDto.setLogonState("0"); + userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); + userDto.setSyncId(jsonObject.get("openid").toString()); + if(StringUtil.isNotEmpty(userInfo.getPhone()) && !userInfo.getPhone().equals(userDto.getPhone())){ + return ResponseData.error(Status.PHONE_NOT_FIT); + } + userActionDao.userRegister(userDto); + RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("USERID",userInfo.getId()); + ruRelationMapper.delete(wrapper); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }else { + return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); } - }catch (Exception e){ - e.printStackTrace(); - return ResponseData.error(Status.FAIL); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } } @@ -320,32 +317,41 @@ for (List staffInfoList : staffInfoLists) { List accounts = staffInfoList.stream().map(StaffInfoDto::getAccount).distinct().collect(Collectors.toList()); if(accounts.size() phones = staffInfoList.stream().map(StaffInfoDto::getPhone).distinct().collect(Collectors.toList()); if(phones.size() ruRelations = new ArrayList<>(); for (StaffInfoDto bean : list) { + if(StringUtil.isEmpty(bean.getAccount()) || StringUtil.isEmpty(bean.getName())){ + return ResponseData.error("导入数据证件编号或员工姓名必填,请核对"); + } + if(StringUtil.isEmpty(bean.getDocumentType())){ + return ResponseData.error("导入数据证件类型必填,请核对"); + } + if(StringUtil.isEmpty(bean.getStaffType())){ + return ResponseData.error("导入数据员工类型必填,请核对"); + } + if(StringUtil.isNotEmpty(bean.getDocumentType()) && !(bean.getDocumentType().equals("1") || bean.getDocumentType().equals("0"))){ + return ResponseData.error("导入数据证件类型不符合规范"); + } + switch (bean.getStaffType()){ + case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; + case "2":bean.setStaffType(RoleEnum.MAINTENANCE_EMPLOYEE.getCode());break; + case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; + default: return ResponseData.error("导入数据人员类型不符合规范"); + } Long id = IdWorker.getId(); bean.setId(id); bean.setLogonState("1"); if (StringUtil.isNotEmpty(bean.getPhone())) { bean.setLogonState("0"); } - switch (bean.getStaffType()){ - case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; - case "2":bean.setStaffType(RoleEnum.ROLE_PROPERTY_PERSONNEL.getCode());break; - case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; - } ruRelations.add(new RuRelation(id,Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode()))); } - List> ruRelationLists = ListUtils.partition(ruRelations, 500); - for (List relations : ruRelationLists) { - iUserRoleRelationService.saveBatch(relations); - } for (List staffInfoDtoList : staffInfoLists) { try { userActionDao.batchImportStaff(staffInfoDtoList); @@ -353,6 +359,10 @@ throw new BusinessException(500,"导入数据人员编号或手机号已存在,请核对"); } } + List> ruRelationLists = ListUtils.partition(ruRelations, 500); + for (List relations : ruRelationLists) { + iUserRoleRelationService.saveBatch(relations); + } return ResponseData.success(list); } @@ -386,25 +396,26 @@ @Override @Transactional public Object addUser(StaffInfoDto staffInfoDto) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("account",staffInfoDto.getAccount()); - UserDto userDto = userActionDao.selectOne(wrapper); - if(null != userDto) return ResponseData.error("该员工工号已存在"); - staffInfoDto.setLogonState("1"); - if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ - wrapper.clear(); - wrapper.eq("phone",staffInfoDto.getPhone()); - UserDto user = userActionDao.selectOne(wrapper); - if(null != user) return ResponseData.error("该手机号已被绑定或注册"); - staffInfoDto.setLogonState("0"); + try { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account",staffInfoDto.getAccount()); + UserDto userDto = userActionDao.selectOne(wrapper); + if(null != userDto) return ResponseData.error("该员工工号已存在"); + staffInfoDto.setLogonState("1"); + if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else{ + staffInfoDto.setPhone(null); + } + Long id = IdWorker.getId(); + staffInfoDto.setId(id); + userActionDao.addUser(staffInfoDto); + RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } - Long id = IdWorker.getId(); - staffInfoDto.setId(id); - userActionDao.addUser(staffInfoDto); - RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - } @Override @@ -418,27 +429,43 @@ } @Override + @Transactional public Object updateUser(StaffInfoDto staffInfoDto) { UserDto userDto = userActionDao.selectById(staffInfoDto.getId()); - if(StringUtil.isNotEmpty(userDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ + if(StringUtil.isNotEmpty(userDto.getPhone()) && StringUtil.isNotEmpty(staffInfoDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ staffInfoDto.setSyncId(userDto.getSyncId()); - }else if(StringUtil.isNotEmpty(userDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ staffInfoDto.setSyncId(null); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("phone",staffInfoDto.getPhone()); UserDto user = userActionDao.selectOne(wrapper); + staffInfoDto.setLogonState("0"); if(null != user) return ResponseData.error("该手机号已被绑定或注册"); }else{ staffInfoDto.setSyncId(null); staffInfoDto.setPhone(null); + staffInfoDto.setLogonState("1"); } userActionDao.updateUser(staffInfoDto); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); - if(ruRelationMapper.update(null,updateWrapper)>0){ - return ResponseData.success(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("USERID",staffInfoDto.getId()); + if(ruRelationMapper.selectList(queryWrapper).size()>0){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); + if(ruRelationMapper.update(null,updateWrapper)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } + }else{ + RuRelation ruRelation = new RuRelation(staffInfoDto.getId(),Long.parseLong(staffInfoDto.getStaffRole())); + if(ruRelationMapper.insert(ruRelation)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } } - return ResponseData.error("操作失败"); } @Override 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 0a95f8b..37735e9 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 @@ -63,9 +63,25 @@ @Transactional public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { try { - JSONObject jsonObject = userActionService.getLoginStatus(request); + /*JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); + }*/ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("visitor_id_card",visitorApplyAddRequest.getVisitorIdCard()); + wrapper.eq("visitor_apply_status",MessageEnum.APPLY_SUBMITTED.getCode()); + if(visitorApplyMapper.selectList(wrapper).size()>0){ + return ResponseData.error(500,"当前访客已存在正在申请中的访客单,不可重复提交."); + } + List passedApplyList = visitorApplyMapper.selectPassedApply(visitorApplyAddRequest.getVisitorIdCard(),getDate(1),getDate(7)); + boolean flag = false; + for (VisitorApply apply : passedApplyList) { + if(hasOverlap(visitorApplyAddRequest.getInTime(),visitorApplyAddRequest.getOutTime(),apply.getInTime(),apply.getOutTime())){ + flag = true; + } + } + if(flag){ + return ResponseData.error(500,"当前访客在申请时间范围内已存在访客申请单,不能进行重复申请,请修改时间."); } VisitorApply visitorApply = new VisitorApply(); UserDto userDto = new UserDto(); @@ -82,7 +98,7 @@ List list = userActionMapper.getPropertyManager(RoleEnum.PROPERTY_PERSONNEL.getCode()); // 向物业管理员推送消息 for (String openid : list) { - String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); //String[] dataArr = {MessageEnum.TEST_MESSAGE.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),visitorApply.getVisitReason(),visitorApply.getVisitPosition()}; //JSONObject result = SendMassage(openid, MessageDict.APPLICANT_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.APPLICANT_MESSAGE_TEMPLATE_DATA); @@ -93,7 +109,7 @@ } } // 向提报人推送消息 - String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; sentMessage(visitorApply,dataArr,VisitorApplyStatusDict.APPLY_SUBMITTED); return ResponseData.success(); } @@ -103,12 +119,13 @@ } } + @Override public Object list(Page page,VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { - JSONObject jsonObject = userActionService.getLoginStatus(request); - if(null == jsonObject){ - return ResponseData.error(2401,Status.TOKEN_EXPIRES); - } +// JSONObject jsonObject = userActionService.getLoginStatus(request); +// if(null == jsonObject){ +// return ResponseData.error(2401,Status.TOKEN_EXPIRES); +// } Page visitorApplyPage = visitorApplyMapper.selectApplyList(page,visitorApplyListRequest); if(CollectionUtils.isEmpty(visitorApplyPage.getRecords())){ return ResponseData.success(new ArrayList<>()); @@ -137,7 +154,7 @@ case VisitorApplyStatusDict.APPLY_PASSED:apply.setVisitorApplyStatus("申请通过");break; case VisitorApplyStatusDict.APPLY_FAILED:apply.setVisitorApplyStatus("申请未通过");break; } - apply.setVisitDate(apply.getInTime()+"-"+apply.getOutTime()); + apply.setVisitDate(apply.getInTime()+"~"+apply.getOutTime()); } return list; } @@ -160,13 +177,13 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_PASSED); } //申请不通过 if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_FAILED); } } @@ -221,12 +238,17 @@ } @Override - public void exportMessage(IdsDTO idsDTO, HttpServletResponse response) { + public void exportMessage(VisitorApplyListRequest request, HttpServletResponse response) { try { - QueryWrapper qw = new QueryWrapper<>(); - qw.in("id", idsDTO.getIds()); - qw.orderByDesc("create_time"); - List visitorApplyList = visitorApplyMapper.selectList(qw); + List visitorApplyList; + if(ObjectUtil.isNotEmpty(request.getIdList()) && request.getIdList().size() != 0){ + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id", request.getIdList()); + qw.orderByDesc("create_time"); + visitorApplyList = visitorApplyMapper.selectList(qw); + }else{ + visitorApplyList = visitorApplyMapper.selectApplyList(request); + } ExportUtils.writeExcel(response,supplementList(visitorApplyList),"fileName","sheet",VisitorApply.class); } catch (Exception e) { e.printStackTrace(); @@ -250,22 +272,30 @@ } private Boolean judgeOperate(VisitorApply visitorApply) throws ParseException { Date date = DateUtils.parseDate(visitorApply.getCreateTime(),"yyyy-MM-dd"); - Date createDate = date; Calendar calendar = Calendar.getInstance(); // 设置为当前时间 calendar.setTime(date); calendar.add(Calendar.DATE,1); calendar.add(Calendar.HOUR,8); date = calendar.getTime(); - if(createDate.getTime()>date.getTime()){ + if(new Date().getTime()>date.getTime()){ return true; }else { return false; } } + private String getDate(int num){ + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + // 设置为当前时间 + calendar.setTime(date); + calendar.add(Calendar.DATE,num); + date = calendar.getTime(); + return DateUtils.format(date,"yyyy-MM-dd"); + } @Override public Object updateApply(VisitorApply visitorApply, HttpServletRequest request) throws ParseException { - JSONObject jsonObject = userActionService.getLoginStatus(request); + JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); } @@ -341,4 +371,20 @@ } return visitorApplyList; } + public boolean hasOverlap(String leftStart, String leftEnd, String rightStart, String rightEnd) { + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date leftStartDate = simpleDateFormat.parse(leftStart); + Date leftEndDate = simpleDateFormat.parse(leftEnd); + Date rightStartDate = simpleDateFormat.parse(rightStart); + Date rightEndDate = simpleDateFormat.parse(rightEnd); + return ((leftStartDate.getTime() >= rightStartDate.getTime()) && leftStartDate.getTime() < rightEndDate.getTime()) + || ((leftStartDate.getTime() > rightStartDate.getTime()) && leftStartDate.getTime() <= rightEndDate.getTime()) + || ((rightStartDate.getTime() >= leftStartDate.getTime()) && rightStartDate.getTime() < leftEndDate.getTime()) + || ((rightStartDate.getTime() > leftStartDate.getTime()) && rightStartDate.getTime() <= leftEndDate.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + return false; + } + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a84577d..0255046 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -26,7 +26,7 @@ enable: false #图片下载本地地址 file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ commponentType: disk logging: diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; 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 0d0f699..80b8536 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 @@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import cn.hutool.core.codec.Base64; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -69,8 +71,8 @@ @Resource private IUserRoleRelationService iUserRoleRelationService; - - final String filePath = "/tmp/casicSecurityCockpitMiniFile/"; + @Value("${casic.file.uploadPathUrl}") + private String filePath; @Override public Object getLoginToken(String code) { @@ -137,35 +139,30 @@ userDto.setAccount("G"+userDto.getAccount()); } } - UserDto dto = new UserDto(); - dto.setAttr1(userDto.getPhone()); - UserDto user = userActionDao.getUserInfo(dto); - if(null == user){ - userDto.setAttr1(""); - UserDto userInfo = userActionDao.getUserInfo(userDto); - if(null != userInfo){ - if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ - return ResponseData.error(Status.DOCUMENT_TYPE); - } - userDto.setLogonState("0"); - userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); - userDto.setSyncId(jsonObject.get("openid").toString()); - userActionDao.userRegister(userDto); - RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("USERID",userInfo.getId()); - ruRelationMapper.delete(wrapper); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - }else { - return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); + userDto.setAttr1(""); + UserDto userInfo = userActionDao.getUserInfo(userDto); + if(null != userInfo){ + if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ + return ResponseData.error(Status.DOCUMENT_TYPE); } - }else{ - return ResponseData.error(Status.USER_ALREADY_REGISTERED); + userDto.setLogonState("0"); + userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); + userDto.setSyncId(jsonObject.get("openid").toString()); + if(StringUtil.isNotEmpty(userInfo.getPhone()) && !userInfo.getPhone().equals(userDto.getPhone())){ + return ResponseData.error(Status.PHONE_NOT_FIT); + } + userActionDao.userRegister(userDto); + RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("USERID",userInfo.getId()); + ruRelationMapper.delete(wrapper); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }else { + return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); } - }catch (Exception e){ - e.printStackTrace(); - return ResponseData.error(Status.FAIL); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } } @@ -320,32 +317,41 @@ for (List staffInfoList : staffInfoLists) { List accounts = staffInfoList.stream().map(StaffInfoDto::getAccount).distinct().collect(Collectors.toList()); if(accounts.size() phones = staffInfoList.stream().map(StaffInfoDto::getPhone).distinct().collect(Collectors.toList()); if(phones.size() ruRelations = new ArrayList<>(); for (StaffInfoDto bean : list) { + if(StringUtil.isEmpty(bean.getAccount()) || StringUtil.isEmpty(bean.getName())){ + return ResponseData.error("导入数据证件编号或员工姓名必填,请核对"); + } + if(StringUtil.isEmpty(bean.getDocumentType())){ + return ResponseData.error("导入数据证件类型必填,请核对"); + } + if(StringUtil.isEmpty(bean.getStaffType())){ + return ResponseData.error("导入数据员工类型必填,请核对"); + } + if(StringUtil.isNotEmpty(bean.getDocumentType()) && !(bean.getDocumentType().equals("1") || bean.getDocumentType().equals("0"))){ + return ResponseData.error("导入数据证件类型不符合规范"); + } + switch (bean.getStaffType()){ + case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; + case "2":bean.setStaffType(RoleEnum.MAINTENANCE_EMPLOYEE.getCode());break; + case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; + default: return ResponseData.error("导入数据人员类型不符合规范"); + } Long id = IdWorker.getId(); bean.setId(id); bean.setLogonState("1"); if (StringUtil.isNotEmpty(bean.getPhone())) { bean.setLogonState("0"); } - switch (bean.getStaffType()){ - case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; - case "2":bean.setStaffType(RoleEnum.ROLE_PROPERTY_PERSONNEL.getCode());break; - case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; - } ruRelations.add(new RuRelation(id,Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode()))); } - List> ruRelationLists = ListUtils.partition(ruRelations, 500); - for (List relations : ruRelationLists) { - iUserRoleRelationService.saveBatch(relations); - } for (List staffInfoDtoList : staffInfoLists) { try { userActionDao.batchImportStaff(staffInfoDtoList); @@ -353,6 +359,10 @@ throw new BusinessException(500,"导入数据人员编号或手机号已存在,请核对"); } } + List> ruRelationLists = ListUtils.partition(ruRelations, 500); + for (List relations : ruRelationLists) { + iUserRoleRelationService.saveBatch(relations); + } return ResponseData.success(list); } @@ -386,25 +396,26 @@ @Override @Transactional public Object addUser(StaffInfoDto staffInfoDto) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("account",staffInfoDto.getAccount()); - UserDto userDto = userActionDao.selectOne(wrapper); - if(null != userDto) return ResponseData.error("该员工工号已存在"); - staffInfoDto.setLogonState("1"); - if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ - wrapper.clear(); - wrapper.eq("phone",staffInfoDto.getPhone()); - UserDto user = userActionDao.selectOne(wrapper); - if(null != user) return ResponseData.error("该手机号已被绑定或注册"); - staffInfoDto.setLogonState("0"); + try { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account",staffInfoDto.getAccount()); + UserDto userDto = userActionDao.selectOne(wrapper); + if(null != userDto) return ResponseData.error("该员工工号已存在"); + staffInfoDto.setLogonState("1"); + if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else{ + staffInfoDto.setPhone(null); + } + Long id = IdWorker.getId(); + staffInfoDto.setId(id); + userActionDao.addUser(staffInfoDto); + RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } - Long id = IdWorker.getId(); - staffInfoDto.setId(id); - userActionDao.addUser(staffInfoDto); - RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - } @Override @@ -418,27 +429,43 @@ } @Override + @Transactional public Object updateUser(StaffInfoDto staffInfoDto) { UserDto userDto = userActionDao.selectById(staffInfoDto.getId()); - if(StringUtil.isNotEmpty(userDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ + if(StringUtil.isNotEmpty(userDto.getPhone()) && StringUtil.isNotEmpty(staffInfoDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ staffInfoDto.setSyncId(userDto.getSyncId()); - }else if(StringUtil.isNotEmpty(userDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ staffInfoDto.setSyncId(null); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("phone",staffInfoDto.getPhone()); UserDto user = userActionDao.selectOne(wrapper); + staffInfoDto.setLogonState("0"); if(null != user) return ResponseData.error("该手机号已被绑定或注册"); }else{ staffInfoDto.setSyncId(null); staffInfoDto.setPhone(null); + staffInfoDto.setLogonState("1"); } userActionDao.updateUser(staffInfoDto); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); - if(ruRelationMapper.update(null,updateWrapper)>0){ - return ResponseData.success(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("USERID",staffInfoDto.getId()); + if(ruRelationMapper.selectList(queryWrapper).size()>0){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); + if(ruRelationMapper.update(null,updateWrapper)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } + }else{ + RuRelation ruRelation = new RuRelation(staffInfoDto.getId(),Long.parseLong(staffInfoDto.getStaffRole())); + if(ruRelationMapper.insert(ruRelation)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } } - return ResponseData.error("操作失败"); } @Override 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 0a95f8b..37735e9 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 @@ -63,9 +63,25 @@ @Transactional public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { try { - JSONObject jsonObject = userActionService.getLoginStatus(request); + /*JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); + }*/ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("visitor_id_card",visitorApplyAddRequest.getVisitorIdCard()); + wrapper.eq("visitor_apply_status",MessageEnum.APPLY_SUBMITTED.getCode()); + if(visitorApplyMapper.selectList(wrapper).size()>0){ + return ResponseData.error(500,"当前访客已存在正在申请中的访客单,不可重复提交."); + } + List passedApplyList = visitorApplyMapper.selectPassedApply(visitorApplyAddRequest.getVisitorIdCard(),getDate(1),getDate(7)); + boolean flag = false; + for (VisitorApply apply : passedApplyList) { + if(hasOverlap(visitorApplyAddRequest.getInTime(),visitorApplyAddRequest.getOutTime(),apply.getInTime(),apply.getOutTime())){ + flag = true; + } + } + if(flag){ + return ResponseData.error(500,"当前访客在申请时间范围内已存在访客申请单,不能进行重复申请,请修改时间."); } VisitorApply visitorApply = new VisitorApply(); UserDto userDto = new UserDto(); @@ -82,7 +98,7 @@ List list = userActionMapper.getPropertyManager(RoleEnum.PROPERTY_PERSONNEL.getCode()); // 向物业管理员推送消息 for (String openid : list) { - String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); //String[] dataArr = {MessageEnum.TEST_MESSAGE.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),visitorApply.getVisitReason(),visitorApply.getVisitPosition()}; //JSONObject result = SendMassage(openid, MessageDict.APPLICANT_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.APPLICANT_MESSAGE_TEMPLATE_DATA); @@ -93,7 +109,7 @@ } } // 向提报人推送消息 - String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; sentMessage(visitorApply,dataArr,VisitorApplyStatusDict.APPLY_SUBMITTED); return ResponseData.success(); } @@ -103,12 +119,13 @@ } } + @Override public Object list(Page page,VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { - JSONObject jsonObject = userActionService.getLoginStatus(request); - if(null == jsonObject){ - return ResponseData.error(2401,Status.TOKEN_EXPIRES); - } +// JSONObject jsonObject = userActionService.getLoginStatus(request); +// if(null == jsonObject){ +// return ResponseData.error(2401,Status.TOKEN_EXPIRES); +// } Page visitorApplyPage = visitorApplyMapper.selectApplyList(page,visitorApplyListRequest); if(CollectionUtils.isEmpty(visitorApplyPage.getRecords())){ return ResponseData.success(new ArrayList<>()); @@ -137,7 +154,7 @@ case VisitorApplyStatusDict.APPLY_PASSED:apply.setVisitorApplyStatus("申请通过");break; case VisitorApplyStatusDict.APPLY_FAILED:apply.setVisitorApplyStatus("申请未通过");break; } - apply.setVisitDate(apply.getInTime()+"-"+apply.getOutTime()); + apply.setVisitDate(apply.getInTime()+"~"+apply.getOutTime()); } return list; } @@ -160,13 +177,13 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_PASSED); } //申请不通过 if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_FAILED); } } @@ -221,12 +238,17 @@ } @Override - public void exportMessage(IdsDTO idsDTO, HttpServletResponse response) { + public void exportMessage(VisitorApplyListRequest request, HttpServletResponse response) { try { - QueryWrapper qw = new QueryWrapper<>(); - qw.in("id", idsDTO.getIds()); - qw.orderByDesc("create_time"); - List visitorApplyList = visitorApplyMapper.selectList(qw); + List visitorApplyList; + if(ObjectUtil.isNotEmpty(request.getIdList()) && request.getIdList().size() != 0){ + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id", request.getIdList()); + qw.orderByDesc("create_time"); + visitorApplyList = visitorApplyMapper.selectList(qw); + }else{ + visitorApplyList = visitorApplyMapper.selectApplyList(request); + } ExportUtils.writeExcel(response,supplementList(visitorApplyList),"fileName","sheet",VisitorApply.class); } catch (Exception e) { e.printStackTrace(); @@ -250,22 +272,30 @@ } private Boolean judgeOperate(VisitorApply visitorApply) throws ParseException { Date date = DateUtils.parseDate(visitorApply.getCreateTime(),"yyyy-MM-dd"); - Date createDate = date; Calendar calendar = Calendar.getInstance(); // 设置为当前时间 calendar.setTime(date); calendar.add(Calendar.DATE,1); calendar.add(Calendar.HOUR,8); date = calendar.getTime(); - if(createDate.getTime()>date.getTime()){ + if(new Date().getTime()>date.getTime()){ return true; }else { return false; } } + private String getDate(int num){ + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + // 设置为当前时间 + calendar.setTime(date); + calendar.add(Calendar.DATE,num); + date = calendar.getTime(); + return DateUtils.format(date,"yyyy-MM-dd"); + } @Override public Object updateApply(VisitorApply visitorApply, HttpServletRequest request) throws ParseException { - JSONObject jsonObject = userActionService.getLoginStatus(request); + JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); } @@ -341,4 +371,20 @@ } return visitorApplyList; } + public boolean hasOverlap(String leftStart, String leftEnd, String rightStart, String rightEnd) { + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date leftStartDate = simpleDateFormat.parse(leftStart); + Date leftEndDate = simpleDateFormat.parse(leftEnd); + Date rightStartDate = simpleDateFormat.parse(rightStart); + Date rightEndDate = simpleDateFormat.parse(rightEnd); + return ((leftStartDate.getTime() >= rightStartDate.getTime()) && leftStartDate.getTime() < rightEndDate.getTime()) + || ((leftStartDate.getTime() > rightStartDate.getTime()) && leftStartDate.getTime() <= rightEndDate.getTime()) + || ((rightStartDate.getTime() >= leftStartDate.getTime()) && rightStartDate.getTime() < leftEndDate.getTime()) + || ((rightStartDate.getTime() > leftStartDate.getTime()) && rightStartDate.getTime() <= leftEndDate.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + return false; + } + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a84577d..0255046 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -26,7 +26,7 @@ enable: false #图片下载本地地址 file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ commponentType: disk logging: diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index 237f3e4..40b7008 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -31,7 +31,7 @@ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ # config: # export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ # config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; 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 0d0f699..80b8536 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 @@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import cn.hutool.core.codec.Base64; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -69,8 +71,8 @@ @Resource private IUserRoleRelationService iUserRoleRelationService; - - final String filePath = "/tmp/casicSecurityCockpitMiniFile/"; + @Value("${casic.file.uploadPathUrl}") + private String filePath; @Override public Object getLoginToken(String code) { @@ -137,35 +139,30 @@ userDto.setAccount("G"+userDto.getAccount()); } } - UserDto dto = new UserDto(); - dto.setAttr1(userDto.getPhone()); - UserDto user = userActionDao.getUserInfo(dto); - if(null == user){ - userDto.setAttr1(""); - UserDto userInfo = userActionDao.getUserInfo(userDto); - if(null != userInfo){ - if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ - return ResponseData.error(Status.DOCUMENT_TYPE); - } - userDto.setLogonState("0"); - userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); - userDto.setSyncId(jsonObject.get("openid").toString()); - userActionDao.userRegister(userDto); - RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("USERID",userInfo.getId()); - ruRelationMapper.delete(wrapper); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - }else { - return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); + userDto.setAttr1(""); + UserDto userInfo = userActionDao.getUserInfo(userDto); + if(null != userInfo){ + if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ + return ResponseData.error(Status.DOCUMENT_TYPE); } - }else{ - return ResponseData.error(Status.USER_ALREADY_REGISTERED); + userDto.setLogonState("0"); + userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); + userDto.setSyncId(jsonObject.get("openid").toString()); + if(StringUtil.isNotEmpty(userInfo.getPhone()) && !userInfo.getPhone().equals(userDto.getPhone())){ + return ResponseData.error(Status.PHONE_NOT_FIT); + } + userActionDao.userRegister(userDto); + RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("USERID",userInfo.getId()); + ruRelationMapper.delete(wrapper); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }else { + return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); } - }catch (Exception e){ - e.printStackTrace(); - return ResponseData.error(Status.FAIL); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } } @@ -320,32 +317,41 @@ for (List staffInfoList : staffInfoLists) { List accounts = staffInfoList.stream().map(StaffInfoDto::getAccount).distinct().collect(Collectors.toList()); if(accounts.size() phones = staffInfoList.stream().map(StaffInfoDto::getPhone).distinct().collect(Collectors.toList()); if(phones.size() ruRelations = new ArrayList<>(); for (StaffInfoDto bean : list) { + if(StringUtil.isEmpty(bean.getAccount()) || StringUtil.isEmpty(bean.getName())){ + return ResponseData.error("导入数据证件编号或员工姓名必填,请核对"); + } + if(StringUtil.isEmpty(bean.getDocumentType())){ + return ResponseData.error("导入数据证件类型必填,请核对"); + } + if(StringUtil.isEmpty(bean.getStaffType())){ + return ResponseData.error("导入数据员工类型必填,请核对"); + } + if(StringUtil.isNotEmpty(bean.getDocumentType()) && !(bean.getDocumentType().equals("1") || bean.getDocumentType().equals("0"))){ + return ResponseData.error("导入数据证件类型不符合规范"); + } + switch (bean.getStaffType()){ + case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; + case "2":bean.setStaffType(RoleEnum.MAINTENANCE_EMPLOYEE.getCode());break; + case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; + default: return ResponseData.error("导入数据人员类型不符合规范"); + } Long id = IdWorker.getId(); bean.setId(id); bean.setLogonState("1"); if (StringUtil.isNotEmpty(bean.getPhone())) { bean.setLogonState("0"); } - switch (bean.getStaffType()){ - case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; - case "2":bean.setStaffType(RoleEnum.ROLE_PROPERTY_PERSONNEL.getCode());break; - case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; - } ruRelations.add(new RuRelation(id,Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode()))); } - List> ruRelationLists = ListUtils.partition(ruRelations, 500); - for (List relations : ruRelationLists) { - iUserRoleRelationService.saveBatch(relations); - } for (List staffInfoDtoList : staffInfoLists) { try { userActionDao.batchImportStaff(staffInfoDtoList); @@ -353,6 +359,10 @@ throw new BusinessException(500,"导入数据人员编号或手机号已存在,请核对"); } } + List> ruRelationLists = ListUtils.partition(ruRelations, 500); + for (List relations : ruRelationLists) { + iUserRoleRelationService.saveBatch(relations); + } return ResponseData.success(list); } @@ -386,25 +396,26 @@ @Override @Transactional public Object addUser(StaffInfoDto staffInfoDto) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("account",staffInfoDto.getAccount()); - UserDto userDto = userActionDao.selectOne(wrapper); - if(null != userDto) return ResponseData.error("该员工工号已存在"); - staffInfoDto.setLogonState("1"); - if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ - wrapper.clear(); - wrapper.eq("phone",staffInfoDto.getPhone()); - UserDto user = userActionDao.selectOne(wrapper); - if(null != user) return ResponseData.error("该手机号已被绑定或注册"); - staffInfoDto.setLogonState("0"); + try { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account",staffInfoDto.getAccount()); + UserDto userDto = userActionDao.selectOne(wrapper); + if(null != userDto) return ResponseData.error("该员工工号已存在"); + staffInfoDto.setLogonState("1"); + if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else{ + staffInfoDto.setPhone(null); + } + Long id = IdWorker.getId(); + staffInfoDto.setId(id); + userActionDao.addUser(staffInfoDto); + RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } - Long id = IdWorker.getId(); - staffInfoDto.setId(id); - userActionDao.addUser(staffInfoDto); - RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - } @Override @@ -418,27 +429,43 @@ } @Override + @Transactional public Object updateUser(StaffInfoDto staffInfoDto) { UserDto userDto = userActionDao.selectById(staffInfoDto.getId()); - if(StringUtil.isNotEmpty(userDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ + if(StringUtil.isNotEmpty(userDto.getPhone()) && StringUtil.isNotEmpty(staffInfoDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ staffInfoDto.setSyncId(userDto.getSyncId()); - }else if(StringUtil.isNotEmpty(userDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ staffInfoDto.setSyncId(null); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("phone",staffInfoDto.getPhone()); UserDto user = userActionDao.selectOne(wrapper); + staffInfoDto.setLogonState("0"); if(null != user) return ResponseData.error("该手机号已被绑定或注册"); }else{ staffInfoDto.setSyncId(null); staffInfoDto.setPhone(null); + staffInfoDto.setLogonState("1"); } userActionDao.updateUser(staffInfoDto); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); - if(ruRelationMapper.update(null,updateWrapper)>0){ - return ResponseData.success(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("USERID",staffInfoDto.getId()); + if(ruRelationMapper.selectList(queryWrapper).size()>0){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); + if(ruRelationMapper.update(null,updateWrapper)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } + }else{ + RuRelation ruRelation = new RuRelation(staffInfoDto.getId(),Long.parseLong(staffInfoDto.getStaffRole())); + if(ruRelationMapper.insert(ruRelation)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } } - return ResponseData.error("操作失败"); } @Override 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 0a95f8b..37735e9 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 @@ -63,9 +63,25 @@ @Transactional public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { try { - JSONObject jsonObject = userActionService.getLoginStatus(request); + /*JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); + }*/ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("visitor_id_card",visitorApplyAddRequest.getVisitorIdCard()); + wrapper.eq("visitor_apply_status",MessageEnum.APPLY_SUBMITTED.getCode()); + if(visitorApplyMapper.selectList(wrapper).size()>0){ + return ResponseData.error(500,"当前访客已存在正在申请中的访客单,不可重复提交."); + } + List passedApplyList = visitorApplyMapper.selectPassedApply(visitorApplyAddRequest.getVisitorIdCard(),getDate(1),getDate(7)); + boolean flag = false; + for (VisitorApply apply : passedApplyList) { + if(hasOverlap(visitorApplyAddRequest.getInTime(),visitorApplyAddRequest.getOutTime(),apply.getInTime(),apply.getOutTime())){ + flag = true; + } + } + if(flag){ + return ResponseData.error(500,"当前访客在申请时间范围内已存在访客申请单,不能进行重复申请,请修改时间."); } VisitorApply visitorApply = new VisitorApply(); UserDto userDto = new UserDto(); @@ -82,7 +98,7 @@ List list = userActionMapper.getPropertyManager(RoleEnum.PROPERTY_PERSONNEL.getCode()); // 向物业管理员推送消息 for (String openid : list) { - String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); //String[] dataArr = {MessageEnum.TEST_MESSAGE.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),visitorApply.getVisitReason(),visitorApply.getVisitPosition()}; //JSONObject result = SendMassage(openid, MessageDict.APPLICANT_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.APPLICANT_MESSAGE_TEMPLATE_DATA); @@ -93,7 +109,7 @@ } } // 向提报人推送消息 - String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; sentMessage(visitorApply,dataArr,VisitorApplyStatusDict.APPLY_SUBMITTED); return ResponseData.success(); } @@ -103,12 +119,13 @@ } } + @Override public Object list(Page page,VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { - JSONObject jsonObject = userActionService.getLoginStatus(request); - if(null == jsonObject){ - return ResponseData.error(2401,Status.TOKEN_EXPIRES); - } +// JSONObject jsonObject = userActionService.getLoginStatus(request); +// if(null == jsonObject){ +// return ResponseData.error(2401,Status.TOKEN_EXPIRES); +// } Page visitorApplyPage = visitorApplyMapper.selectApplyList(page,visitorApplyListRequest); if(CollectionUtils.isEmpty(visitorApplyPage.getRecords())){ return ResponseData.success(new ArrayList<>()); @@ -137,7 +154,7 @@ case VisitorApplyStatusDict.APPLY_PASSED:apply.setVisitorApplyStatus("申请通过");break; case VisitorApplyStatusDict.APPLY_FAILED:apply.setVisitorApplyStatus("申请未通过");break; } - apply.setVisitDate(apply.getInTime()+"-"+apply.getOutTime()); + apply.setVisitDate(apply.getInTime()+"~"+apply.getOutTime()); } return list; } @@ -160,13 +177,13 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_PASSED); } //申请不通过 if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_FAILED); } } @@ -221,12 +238,17 @@ } @Override - public void exportMessage(IdsDTO idsDTO, HttpServletResponse response) { + public void exportMessage(VisitorApplyListRequest request, HttpServletResponse response) { try { - QueryWrapper qw = new QueryWrapper<>(); - qw.in("id", idsDTO.getIds()); - qw.orderByDesc("create_time"); - List visitorApplyList = visitorApplyMapper.selectList(qw); + List visitorApplyList; + if(ObjectUtil.isNotEmpty(request.getIdList()) && request.getIdList().size() != 0){ + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id", request.getIdList()); + qw.orderByDesc("create_time"); + visitorApplyList = visitorApplyMapper.selectList(qw); + }else{ + visitorApplyList = visitorApplyMapper.selectApplyList(request); + } ExportUtils.writeExcel(response,supplementList(visitorApplyList),"fileName","sheet",VisitorApply.class); } catch (Exception e) { e.printStackTrace(); @@ -250,22 +272,30 @@ } private Boolean judgeOperate(VisitorApply visitorApply) throws ParseException { Date date = DateUtils.parseDate(visitorApply.getCreateTime(),"yyyy-MM-dd"); - Date createDate = date; Calendar calendar = Calendar.getInstance(); // 设置为当前时间 calendar.setTime(date); calendar.add(Calendar.DATE,1); calendar.add(Calendar.HOUR,8); date = calendar.getTime(); - if(createDate.getTime()>date.getTime()){ + if(new Date().getTime()>date.getTime()){ return true; }else { return false; } } + private String getDate(int num){ + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + // 设置为当前时间 + calendar.setTime(date); + calendar.add(Calendar.DATE,num); + date = calendar.getTime(); + return DateUtils.format(date,"yyyy-MM-dd"); + } @Override public Object updateApply(VisitorApply visitorApply, HttpServletRequest request) throws ParseException { - JSONObject jsonObject = userActionService.getLoginStatus(request); + JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); } @@ -341,4 +371,20 @@ } return visitorApplyList; } + public boolean hasOverlap(String leftStart, String leftEnd, String rightStart, String rightEnd) { + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date leftStartDate = simpleDateFormat.parse(leftStart); + Date leftEndDate = simpleDateFormat.parse(leftEnd); + Date rightStartDate = simpleDateFormat.parse(rightStart); + Date rightEndDate = simpleDateFormat.parse(rightEnd); + return ((leftStartDate.getTime() >= rightStartDate.getTime()) && leftStartDate.getTime() < rightEndDate.getTime()) + || ((leftStartDate.getTime() > rightStartDate.getTime()) && leftStartDate.getTime() <= rightEndDate.getTime()) + || ((rightStartDate.getTime() >= leftStartDate.getTime()) && rightStartDate.getTime() < leftEndDate.getTime()) + || ((rightStartDate.getTime() > leftStartDate.getTime()) && rightStartDate.getTime() <= leftEndDate.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + return false; + } + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a84577d..0255046 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -26,7 +26,7 @@ enable: false #图片下载本地地址 file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ commponentType: disk logging: diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index 237f3e4..40b7008 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -31,7 +31,7 @@ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ # config: # export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ # config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file diff --git a/casic-web/src/main/resources/mapper/UserActionMapper.xml b/casic-web/src/main/resources/mapper/UserActionMapper.xml index 8e6823b..3bbc654 100644 --- a/casic-web/src/main/resources/mapper/UserActionMapper.xml +++ b/casic-web/src/main/resources/mapper/UserActionMapper.xml @@ -171,7 +171,8 @@ `PHONE` = #{user.phone}, `DOCUMENT_TYPE` = #{user.documentType}, `remark` = #{user.remark}, - `SYNC_ID` = #{user.syncId} + `SYNC_ID` = #{user.syncId}, + `logon_state` = #{user.logonState} WHERE `ID` = #{user.id} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java index 02b1d9d..37f90fa 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/UserController.java @@ -169,7 +169,7 @@ } @PostMapping(value = "/importList", headers = "content-type=multipart/form-data") @ResponseBody - public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { + public Object batchImportStaff(@RequestParam MultipartFile[] multipartFile) { try { CommonExcelListener listener = new CommonExcelListener<>(); final long start = System.currentTimeMillis(); 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 736bc10..2b3890b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -1,22 +1,15 @@ package com.casic.missiles.modular.system.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.modular.system.dto.*; -import com.casic.missiles.modular.system.enums.MessageDict; -import com.casic.missiles.modular.system.enums.MessageEnum; 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.WXUserUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -70,8 +63,8 @@ * 导出消息列表 */ @PostMapping("/exportMessage") - public void exportMessage(@RequestBody IdsDTO idsDTO, HttpServletResponse response) { - visitorApplyService.exportMessage(idsDTO,response); + public void exportMessage(@RequestBody VisitorApplyListRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(request,response); } /** * 获取消息列表 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 de8770d..b0c7914 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 @@ -21,6 +21,8 @@ Page selectApplyList(Page page,@Param("request") VisitorApplyListRequest request); + List selectApplyList(@Param("request") VisitorApplyListRequest request); + Page> getMessageList(Page> page,@Param("openid") String openid,@Param("user")String user,@Param("flag")String flag); String selectApplyNo(); @@ -28,4 +30,6 @@ Page getApplyList(Page page, @Param("request")VisitorApplyListRequest visitorApplyListRequest); List getApplyList(@Param("request")VisitorApplyListRequest visitorApplyListRequest); + + List selectPassedApply(@Param("visitorIdCard")String visitorIdCard,@Param("startDate")String startDate, @Param("endDate")String endDate); } 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 index bffecfc..9f3a628 100644 --- 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 @@ -13,7 +13,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class MessageDto { /** diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java index 56d36ae..8ad7768 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/UserDto.java @@ -18,7 +18,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class UserDto { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java index e142195..f9fab5f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/VisitorApplyListRequest.java @@ -38,4 +38,6 @@ private String staffCode; //申请者姓名 private String staffName; + //导出ids + private List idList; } 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 abb76a7..e48c73f 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,12 +2,14 @@ public interface MessageDict { - String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJgGsbmr1eoO5opeW9brYEeA"; + // 访客申请审批提醒模板 + String ADMINISTRATOR_MESSAGE_TEMPLATE_ID = "W5Xhyw94AuONUpkhWWpLJq_QIbTtv_cCxqISMFyS5p0"; - String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string1","thing2","time3"}; + String[] ADMINISTRATOR_MESSAGE_TEMPLATE_DATA = {"character_string6","thing2","time3"}; - String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZev5gr-E6KRsRcJ-9T-tbXI"; + // 访客申请结果通知模板 + String APPLICANT_MESSAGE_TEMPLATE_ID = "34re6IUbmEjUvOFmFcwMZfg2wljyXCf0DRzETlmduHM"; - String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string6","thing3","time7"}; + String[] APPLICANT_MESSAGE_TEMPLATE_DATA = {"phrase1","character_string10","thing11","time7"}; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java index bcfc905..73291e8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/RoleEnum.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.enums; public enum RoleEnum { - + // 字典值 + MAINTENANCE_EMPLOYEE("1556844891459883009", "运维人员"), REGULAR_EMPLOYEE("1556844891841564673", "正式员工"), PROPERTY_PERSONNEL("1556844890952372225", "物业人员"), - ROLE_PROPERTY_PERSONNEL("1319814546311985641", "物业人员"), + // 角色 + ROLE_PROPERTY_PERSONNEL("1319814546311985641", "管理员"), ROLE_ORDINARY_USER("1397015476211346433", "普通员工"); private String code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java index 9b12ccf..c08f535 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/Status.java @@ -17,6 +17,7 @@ String TOKEN_EXPIRES = "登录过期,请重新登录"; String UNAUTHORIZED = "微信未授权,请重新刷新小程序"; String NOT_SUPPORT = "暂不支持非微信绑定手机号进行登录"; + String PHONE_NOT_FIT = "授权手机号用户已绑定的手机号不一致,请联系管理员"; } 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 9cce542..9ab8d2a 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 @@ -20,7 +20,7 @@ @ColumnWidth(30) @HeadRowHeight(15) @ContentRowHeight(20) -@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ContentStyle(dataFormat = 49,borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated @Data @TableName("bus_visit_apply") @@ -54,12 +54,12 @@ private String outTime; @ExcelProperty(value = "状态",order = 12) private String visitorApplyStatus; - + @TableField("create_time") + private String createTime; private String adminVisitorApplyStatus; @ExcelProperty(value = "申请者联系方式",order = 11) private String staffPhone; @TableField(exist = false) private String visitDate; - private String createTime; private String updateTime; } 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 d20e7ca..5053567 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 @@ -31,7 +31,7 @@ Object getMessageList(Page> page,HttpServletRequest request); - void exportMessage(IdsDTO idsDTO, HttpServletResponse response); + void exportMessage(VisitorApplyListRequest request, HttpServletResponse response); Object delApply(String applyId, HttpServletRequest request) throws ParseException; 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 0d0f699..80b8536 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 @@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import cn.hutool.core.codec.Base64; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -69,8 +71,8 @@ @Resource private IUserRoleRelationService iUserRoleRelationService; - - final String filePath = "/tmp/casicSecurityCockpitMiniFile/"; + @Value("${casic.file.uploadPathUrl}") + private String filePath; @Override public Object getLoginToken(String code) { @@ -137,35 +139,30 @@ userDto.setAccount("G"+userDto.getAccount()); } } - UserDto dto = new UserDto(); - dto.setAttr1(userDto.getPhone()); - UserDto user = userActionDao.getUserInfo(dto); - if(null == user){ - userDto.setAttr1(""); - UserDto userInfo = userActionDao.getUserInfo(userDto); - if(null != userInfo){ - if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ - return ResponseData.error(Status.DOCUMENT_TYPE); - } - userDto.setLogonState("0"); - userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); - userDto.setSyncId(jsonObject.get("openid").toString()); - userActionDao.userRegister(userDto); - RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("USERID",userInfo.getId()); - ruRelationMapper.delete(wrapper); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - }else { - return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); + userDto.setAttr1(""); + UserDto userInfo = userActionDao.getUserInfo(userDto); + if(null != userInfo){ + if(StringUtil.isNotEmpty(userInfo.getDocumentType()) && !userDto.getDocumentType().equals(userInfo.getDocumentType())){ + return ResponseData.error(Status.DOCUMENT_TYPE); } - }else{ - return ResponseData.error(Status.USER_ALREADY_REGISTERED); + userDto.setLogonState("0"); + userDto.setSalt(RoleEnum.REGULAR_EMPLOYEE.getCode()); + userDto.setSyncId(jsonObject.get("openid").toString()); + if(StringUtil.isNotEmpty(userInfo.getPhone()) && !userInfo.getPhone().equals(userDto.getPhone())){ + return ResponseData.error(Status.PHONE_NOT_FIT); + } + userActionDao.userRegister(userDto); + RuRelation ruRelation = new RuRelation(Long.parseLong(userInfo.getId()),Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode())); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("USERID",userInfo.getId()); + ruRelationMapper.delete(wrapper); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }else { + return ResponseData.error(Status.EMPLOYEE_NOT_EXIS); } - }catch (Exception e){ - e.printStackTrace(); - return ResponseData.error(Status.FAIL); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } } @@ -320,32 +317,41 @@ for (List staffInfoList : staffInfoLists) { List accounts = staffInfoList.stream().map(StaffInfoDto::getAccount).distinct().collect(Collectors.toList()); if(accounts.size() phones = staffInfoList.stream().map(StaffInfoDto::getPhone).distinct().collect(Collectors.toList()); if(phones.size() ruRelations = new ArrayList<>(); for (StaffInfoDto bean : list) { + if(StringUtil.isEmpty(bean.getAccount()) || StringUtil.isEmpty(bean.getName())){ + return ResponseData.error("导入数据证件编号或员工姓名必填,请核对"); + } + if(StringUtil.isEmpty(bean.getDocumentType())){ + return ResponseData.error("导入数据证件类型必填,请核对"); + } + if(StringUtil.isEmpty(bean.getStaffType())){ + return ResponseData.error("导入数据员工类型必填,请核对"); + } + if(StringUtil.isNotEmpty(bean.getDocumentType()) && !(bean.getDocumentType().equals("1") || bean.getDocumentType().equals("0"))){ + return ResponseData.error("导入数据证件类型不符合规范"); + } + switch (bean.getStaffType()){ + case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; + case "2":bean.setStaffType(RoleEnum.MAINTENANCE_EMPLOYEE.getCode());break; + case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; + default: return ResponseData.error("导入数据人员类型不符合规范"); + } Long id = IdWorker.getId(); bean.setId(id); bean.setLogonState("1"); if (StringUtil.isNotEmpty(bean.getPhone())) { bean.setLogonState("0"); } - switch (bean.getStaffType()){ - case "1":bean.setStaffType(RoleEnum.PROPERTY_PERSONNEL.getCode());break; - case "2":bean.setStaffType(RoleEnum.ROLE_PROPERTY_PERSONNEL.getCode());break; - case "3":bean.setStaffType(RoleEnum.REGULAR_EMPLOYEE.getCode());break; - } ruRelations.add(new RuRelation(id,Long.parseLong(RoleEnum.ROLE_ORDINARY_USER.getCode()))); } - List> ruRelationLists = ListUtils.partition(ruRelations, 500); - for (List relations : ruRelationLists) { - iUserRoleRelationService.saveBatch(relations); - } for (List staffInfoDtoList : staffInfoLists) { try { userActionDao.batchImportStaff(staffInfoDtoList); @@ -353,6 +359,10 @@ throw new BusinessException(500,"导入数据人员编号或手机号已存在,请核对"); } } + List> ruRelationLists = ListUtils.partition(ruRelations, 500); + for (List relations : ruRelationLists) { + iUserRoleRelationService.saveBatch(relations); + } return ResponseData.success(list); } @@ -386,25 +396,26 @@ @Override @Transactional public Object addUser(StaffInfoDto staffInfoDto) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("account",staffInfoDto.getAccount()); - UserDto userDto = userActionDao.selectOne(wrapper); - if(null != userDto) return ResponseData.error("该员工工号已存在"); - staffInfoDto.setLogonState("1"); - if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ - wrapper.clear(); - wrapper.eq("phone",staffInfoDto.getPhone()); - UserDto user = userActionDao.selectOne(wrapper); - if(null != user) return ResponseData.error("该手机号已被绑定或注册"); - staffInfoDto.setLogonState("0"); + try { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account",staffInfoDto.getAccount()); + UserDto userDto = userActionDao.selectOne(wrapper); + if(null != userDto) return ResponseData.error("该员工工号已存在"); + staffInfoDto.setLogonState("1"); + if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else{ + staffInfoDto.setPhone(null); + } + Long id = IdWorker.getId(); + staffInfoDto.setId(id); + userActionDao.addUser(staffInfoDto); + RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); + ruRelationMapper.insert(ruRelation); + return ResponseData.success(); + }catch (DuplicateKeyException exception){ + throw new BusinessException(500,Status.USER_ALREADY_REGISTERED); } - Long id = IdWorker.getId(); - staffInfoDto.setId(id); - userActionDao.addUser(staffInfoDto); - RuRelation ruRelation = new RuRelation(id,Long.parseLong(staffInfoDto.getStaffRole())); - ruRelationMapper.insert(ruRelation); - return ResponseData.success(); - } @Override @@ -418,27 +429,43 @@ } @Override + @Transactional public Object updateUser(StaffInfoDto staffInfoDto) { UserDto userDto = userActionDao.selectById(staffInfoDto.getId()); - if(StringUtil.isNotEmpty(userDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ + if(StringUtil.isNotEmpty(userDto.getPhone()) && StringUtil.isNotEmpty(staffInfoDto.getPhone()) && staffInfoDto.getPhone().equals(userDto.getPhone())){ staffInfoDto.setSyncId(userDto.getSyncId()); - }else if(StringUtil.isNotEmpty(userDto.getPhone())){ + staffInfoDto.setLogonState("0"); + }else if(StringUtil.isNotEmpty(staffInfoDto.getPhone())){ staffInfoDto.setSyncId(null); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("phone",staffInfoDto.getPhone()); UserDto user = userActionDao.selectOne(wrapper); + staffInfoDto.setLogonState("0"); if(null != user) return ResponseData.error("该手机号已被绑定或注册"); }else{ staffInfoDto.setSyncId(null); staffInfoDto.setPhone(null); + staffInfoDto.setLogonState("1"); } userActionDao.updateUser(staffInfoDto); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); - if(ruRelationMapper.update(null,updateWrapper)>0){ - return ResponseData.success(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("USERID",staffInfoDto.getId()); + if(ruRelationMapper.selectList(queryWrapper).size()>0){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("USERID",staffInfoDto.getId()).set("ROLEID", staffInfoDto.getStaffRole()); + if(ruRelationMapper.update(null,updateWrapper)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } + }else{ + RuRelation ruRelation = new RuRelation(staffInfoDto.getId(),Long.parseLong(staffInfoDto.getStaffRole())); + if(ruRelationMapper.insert(ruRelation)>0){ + return ResponseData.success(); + }else{ + return ResponseData.error("操作失败"); + } } - return ResponseData.error("操作失败"); } @Override 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 0a95f8b..37735e9 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 @@ -63,9 +63,25 @@ @Transactional public Object add(VisitorApplyAddRequest visitorApplyAddRequest, HttpServletRequest request) { try { - JSONObject jsonObject = userActionService.getLoginStatus(request); + /*JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); + }*/ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("visitor_id_card",visitorApplyAddRequest.getVisitorIdCard()); + wrapper.eq("visitor_apply_status",MessageEnum.APPLY_SUBMITTED.getCode()); + if(visitorApplyMapper.selectList(wrapper).size()>0){ + return ResponseData.error(500,"当前访客已存在正在申请中的访客单,不可重复提交."); + } + List passedApplyList = visitorApplyMapper.selectPassedApply(visitorApplyAddRequest.getVisitorIdCard(),getDate(1),getDate(7)); + boolean flag = false; + for (VisitorApply apply : passedApplyList) { + if(hasOverlap(visitorApplyAddRequest.getInTime(),visitorApplyAddRequest.getOutTime(),apply.getInTime(),apply.getOutTime())){ + flag = true; + } + } + if(flag){ + return ResponseData.error(500,"当前访客在申请时间范围内已存在访客申请单,不能进行重复申请,请修改时间."); } VisitorApply visitorApply = new VisitorApply(); UserDto userDto = new UserDto(); @@ -82,7 +98,7 @@ List list = userActionMapper.getPropertyManager(RoleEnum.PROPERTY_PERSONNEL.getCode()); // 向物业管理员推送消息 for (String openid : list) { - String[] dataArr = {visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; JSONObject result = SendMassage(openid, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.ADMINISTRATOR_MESSAGE_TEMPLATE_DATA); //String[] dataArr = {MessageEnum.TEST_MESSAGE.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),visitorApply.getVisitReason(),visitorApply.getVisitPosition()}; //JSONObject result = SendMassage(openid, MessageDict.APPLICANT_MESSAGE_TEMPLATE_ID, dataArr, MessageDict.APPLICANT_MESSAGE_TEMPLATE_DATA); @@ -93,7 +109,7 @@ } } // 向提报人推送消息 - String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getApplyNo(),visitorApply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_SUBMITTED.getValue(),visitorApply.getStaffCode(),visitorApply.getVisitorName(),accTime}; sentMessage(visitorApply,dataArr,VisitorApplyStatusDict.APPLY_SUBMITTED); return ResponseData.success(); } @@ -103,12 +119,13 @@ } } + @Override public Object list(Page page,VisitorApplyListRequest visitorApplyListRequest, HttpServletRequest request) { - JSONObject jsonObject = userActionService.getLoginStatus(request); - if(null == jsonObject){ - return ResponseData.error(2401,Status.TOKEN_EXPIRES); - } +// JSONObject jsonObject = userActionService.getLoginStatus(request); +// if(null == jsonObject){ +// return ResponseData.error(2401,Status.TOKEN_EXPIRES); +// } Page visitorApplyPage = visitorApplyMapper.selectApplyList(page,visitorApplyListRequest); if(CollectionUtils.isEmpty(visitorApplyPage.getRecords())){ return ResponseData.success(new ArrayList<>()); @@ -137,7 +154,7 @@ case VisitorApplyStatusDict.APPLY_PASSED:apply.setVisitorApplyStatus("申请通过");break; case VisitorApplyStatusDict.APPLY_FAILED:apply.setVisitorApplyStatus("申请未通过");break; } - apply.setVisitDate(apply.getInTime()+"-"+apply.getOutTime()); + apply.setVisitDate(apply.getInTime()+"~"+apply.getOutTime()); } return list; } @@ -160,13 +177,13 @@ //申请通过 if(VisitorApplyStatusDict.APPLY_PASSED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_PASSED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_PASSED); } //申请不通过 if(VisitorApplyStatusDict.APPLY_FAILED.equals(visitorApply.getVisitorApplyStatus())){ // 向申请人推送消息 - String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getApplyNo(),apply.getVisitorName(),accTime}; + String[] dataArr = {MessageEnum.APPLY_FAILED.getValue(),apply.getStaffCode(),apply.getVisitorName(),accTime}; sentMessage(apply,dataArr,VisitorApplyStatusDict.APPLY_FAILED); } } @@ -221,12 +238,17 @@ } @Override - public void exportMessage(IdsDTO idsDTO, HttpServletResponse response) { + public void exportMessage(VisitorApplyListRequest request, HttpServletResponse response) { try { - QueryWrapper qw = new QueryWrapper<>(); - qw.in("id", idsDTO.getIds()); - qw.orderByDesc("create_time"); - List visitorApplyList = visitorApplyMapper.selectList(qw); + List visitorApplyList; + if(ObjectUtil.isNotEmpty(request.getIdList()) && request.getIdList().size() != 0){ + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id", request.getIdList()); + qw.orderByDesc("create_time"); + visitorApplyList = visitorApplyMapper.selectList(qw); + }else{ + visitorApplyList = visitorApplyMapper.selectApplyList(request); + } ExportUtils.writeExcel(response,supplementList(visitorApplyList),"fileName","sheet",VisitorApply.class); } catch (Exception e) { e.printStackTrace(); @@ -250,22 +272,30 @@ } private Boolean judgeOperate(VisitorApply visitorApply) throws ParseException { Date date = DateUtils.parseDate(visitorApply.getCreateTime(),"yyyy-MM-dd"); - Date createDate = date; Calendar calendar = Calendar.getInstance(); // 设置为当前时间 calendar.setTime(date); calendar.add(Calendar.DATE,1); calendar.add(Calendar.HOUR,8); date = calendar.getTime(); - if(createDate.getTime()>date.getTime()){ + if(new Date().getTime()>date.getTime()){ return true; }else { return false; } } + private String getDate(int num){ + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + // 设置为当前时间 + calendar.setTime(date); + calendar.add(Calendar.DATE,num); + date = calendar.getTime(); + return DateUtils.format(date,"yyyy-MM-dd"); + } @Override public Object updateApply(VisitorApply visitorApply, HttpServletRequest request) throws ParseException { - JSONObject jsonObject = userActionService.getLoginStatus(request); + JSONObject jsonObject = userActionService.getLoginStatus(request); if(null == jsonObject){ return ResponseData.error(2401,Status.TOKEN_EXPIRES); } @@ -341,4 +371,20 @@ } return visitorApplyList; } + public boolean hasOverlap(String leftStart, String leftEnd, String rightStart, String rightEnd) { + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date leftStartDate = simpleDateFormat.parse(leftStart); + Date leftEndDate = simpleDateFormat.parse(leftEnd); + Date rightStartDate = simpleDateFormat.parse(rightStart); + Date rightEndDate = simpleDateFormat.parse(rightEnd); + return ((leftStartDate.getTime() >= rightStartDate.getTime()) && leftStartDate.getTime() < rightEndDate.getTime()) + || ((leftStartDate.getTime() > rightStartDate.getTime()) && leftStartDate.getTime() <= rightEndDate.getTime()) + || ((rightStartDate.getTime() >= leftStartDate.getTime()) && rightStartDate.getTime() < leftEndDate.getTime()) + || ((rightStartDate.getTime() > leftStartDate.getTime()) && rightStartDate.getTime() <= leftEndDate.getTime()); + } catch (ParseException e) { + e.printStackTrace(); + return false; + } + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a84577d..0255046 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -26,7 +26,7 @@ enable: false #图片下载本地地址 file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ commponentType: disk logging: diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index 237f3e4..40b7008 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -31,7 +31,7 @@ session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken file: - uploadPath: /tmp/ + uploadPathUrl: /tmp/casicSecurityCockpitMiniFile/ # config: # export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ # config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file diff --git a/casic-web/src/main/resources/mapper/UserActionMapper.xml b/casic-web/src/main/resources/mapper/UserActionMapper.xml index 8e6823b..3bbc654 100644 --- a/casic-web/src/main/resources/mapper/UserActionMapper.xml +++ b/casic-web/src/main/resources/mapper/UserActionMapper.xml @@ -171,7 +171,8 @@ `PHONE` = #{user.phone}, `DOCUMENT_TYPE` = #{user.documentType}, `remark` = #{user.remark}, - `SYNC_ID` = #{user.syncId} + `SYNC_ID` = #{user.syncId}, + `logon_state` = #{user.logonState} WHERE `ID` = #{user.id} diff --git a/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml b/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml index 9ed3d1a..2b79d6a 100644 --- a/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml +++ b/casic-web/src/main/resources/mapper/VisitorApplyMapper.xml @@ -12,10 +12,10 @@ or visitor_phone like concat('%',#{request.keywords},'%')) - and in_time >= #{request.startTime} + and DATE_FORMAT( in_time, '%Y-%m-%d %H:%i:%s' ) >= #{request.startTime} - and out_time <= #{request.endTime} + and DATE_FORMAT( out_time, '%Y-%m-%d %H:%i:%s' ) <= #{request.endTime} and visitor_apply_status = #{request.status} @@ -48,13 +48,29 @@ and visit_position = #{request.visitPosition} - and in_time >= #{request.inTime} + and DATE_FORMAT( in_time, '%Y-%m-%d %H:%i:%s' ) >= #{request.inTime} - and out_time <= #{request.outTime} + and DATE_FORMAT( out_time, '%Y-%m-%d %H:%i:%s' ) <= #{request.outTime} ORDER BY create_time DESC +