From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 11 九月 2025 18:43:14 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java | 190 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 142 insertions(+), 48 deletions(-) diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java index 1cdcdd2..ee19a81 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java @@ -1,27 +1,34 @@ package com.doumee.cloud.admin; import com.doumee.api.BaseController; +import com.doumee.biz.system.SystemUserBiz; import com.doumee.config.DataSyncConfig; import com.doumee.config.annotation.CloudRequiredPermission; +import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; -import com.doumee.core.model.ApiResponse; -import com.doumee.core.model.PageData; -import com.doumee.core.model.PageWrap; +import com.doumee.core.annotation.trace.Trace; +import com.doumee.service.business.third.model.ApiResponse; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.request.LaborMemberDTO; import com.doumee.dao.admin.request.MemberQuery; -import com.doumee.dao.admin.response.MemberInfoDTO; +import com.doumee.dao.business.dto.RegisterDriverDTO; import com.doumee.dao.business.model.Member; +import com.doumee.dao.system.dto.UpdatePwdDto; import com.doumee.service.business.MemberService; import com.doumee.service.business.ext.ERPSyncService; import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromHKServiceImpl; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromSelfServiceImpl; +import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.util.ArrayList; import java.util.List; /** @@ -37,17 +44,28 @@ @Autowired private HkSyncOrgUserFromHKServiceImpl hkSyncOrgUserFHKService; @Autowired + private HkSyncOrgUserFromSelfServiceImpl hkSyncOrgUserFromSelfService; + @Autowired private DataSyncConfig dataSyncConfig; @Autowired private MemberService memberService; + @Autowired + private SystemUserBiz systemUserBiz; @PreventRepeat @ApiOperation("鏂板缓") @PostMapping("/create") @CloudRequiredPermission("business:member:create") - public ApiResponse create(@RequestBody Member member) { - return ApiResponse.success(memberService.create(member)); + public ApiResponse create(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self){ + member.setLoginUserInfo(this.getLoginUser(token)); + Member insert = memberService.create(member); + //鍒涘缓浜鸿劯淇℃伅 + return ApiResponse.success("鎿嶄綔鎴愬姛锛�"); + }else{ + return ApiResponse.failed("瀵逛笉璧凤紝鏃犳潈闄愭搷浣滐紒"); + } } @PreventRepeat @@ -62,7 +80,7 @@ @GetMapping("/delete/{id}") @CloudRequiredPermission("business:member:delete") public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ - memberService.deleteById(id); + memberService.deleteById(id,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -75,15 +93,15 @@ for (String id : idArray ){ idList.add(Integer.valueOf(id)); } - memberService.deleteByIdInBatch(idList); + memberService.deleteByIdInBatch(idList,this.getLoginUser(token)); return ApiResponse.success(null); } @ApiOperation("鍛樺伐鏉冮檺涓嬪彂") @GetMapping("/roleAuth/{id}") @CloudRequiredPermission("business:empower:create") - public ApiResponse roleAuthById(@PathVariable Integer id) { - memberService.roleAuthById(id); + public ApiResponse roleAuthById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + memberService.roleAuthById(id,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -91,7 +109,15 @@ @ApiOperation("鍚屾浜鸿劯淇℃伅") @PostMapping("/updateFace") public ApiResponse updateFace(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + member.setLoginUserInfo(this.getLoginUser(token)); memberService.updateFace(member); + return ApiResponse.success(null); + } + @ApiOperation("鎵归噺鎺堟潈涓嬪彂") + @PostMapping("/batchRoleAuth") + public ApiResponse batchRoleAuth(@RequestBody Member memberRole, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + memberRole.setLoginUserInfo(this.getLoginUser(token)); + memberService.batchRoleAuth(memberRole); return ApiResponse.success(null); } @ApiOperation("寮哄埗鍒犻櫎瀹夐槻骞冲彴浜哄憳淇℃伅") @@ -110,72 +136,105 @@ @PostMapping("/updateById") @CloudRequiredPermission("business:member:update") public ApiResponse updateById(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + member.setLoginUserInfo(this.getLoginUser(token)); memberService.updateById(member); + return ApiResponse.success(null); + } + @ApiOperation("璁剧疆鎴栧彇娑堜富绠�") + @PostMapping("/updateHead") + @CloudRequiredPermission("business:member:head") + public ApiResponse updateHead(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + member.setLoginUserInfo(this.getLoginUser(token)); + memberService.updateHead(member); return ApiResponse.success(null); } @ApiOperation("鏍规嵁ID 绂佸惎鐢� ") @PostMapping("/updateStatusById") @CloudRequiredPermission("business:member:update") - public ApiResponse updateStatusById(@RequestBody Member member){ + public ApiResponse updateStatusById(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + member.setLoginUserInfo(this.getLoginUser(token)); memberService.updateStatusById(member); return ApiResponse.success(null); } - @ApiOperation("浜哄憳绉婚櫎/瑙e喕") - @PostMapping("/updateRemoveStatusById") + @ApiOperation("鏍规嵁ID 璁剧疆鍦ㄨ亴銆佺鑱� ") + @PostMapping("/updateWorkStatus") @CloudRequiredPermission("business:member:update") - public ApiResponse updateRemoveStatusById(@RequestBody List<Member> list){ - if(list.size()>0){ - memberService.updateRemoveStatusById(list); - return ApiResponse.success(null); - }else{ - return ApiResponse.failed("鍙傛暟閿欒"); - } - - } - - @ApiOperation("浜哄憳鎷夐粦/鍐荤粨") - @PostMapping("/updateVisitsStatusById") - @CloudRequiredPermission("business:member:update") - public ApiResponse updateVisitsStatusById(@RequestBody Member member){ - memberService.updateVisitsStatusById(member); + public ApiResponse updateWorkStatus(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + member.setLoginUserInfo(this.getLoginUser(token)); + memberService.updateWorkStatus(member); return ApiResponse.success(null); } + @ApiOperation(value = "浜哄憳淇℃伅瀵煎叆" ,notes = "淇濆崟鐢宠") + @PostMapping("/importExcel") + @ApiImplicitParams({ + @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class), + @ApiImplicitParam(name = "缁勭粐绫诲瀷 0鐩稿叧鏂� 1鍐呴儴缁勭粐", value = "companyType", required = true, paramType = "query", dataType = "Integer",example = "0",dataTypeClass = Integer.class), + }) + @CloudRequiredPermission("business:member:create") + public ApiResponse<String> importExcel (@ApiParam(value = "file") MultipartFile file,@ApiParam(value = "companyType") Integer companyType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + return ApiResponse.success(memberService.importBatch(file,companyType,this.getLoginUser(token))); + } @ApiOperation("鎵归噺鎷夐粦") @GetMapping("/batchBlock") - @CloudRequiredPermission("business:member:delete") + @CloudRequiredPermission("business:member:update") public ApiResponse batchBlock(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray ){ idList.add(Integer.valueOf(id)); } - memberService.batchBlock(idList,2); + memberService.batchBlock(idList,2,this.getLoginUser(token)); return ApiResponse.success(null); } @ApiOperation("鎵归噺鍐荤粨") @GetMapping("/batchFreeze") - @CloudRequiredPermission("business:member:delete") + @CloudRequiredPermission("business:member:update") public ApiResponse batchFreeze(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray ){ idList.add(Integer.valueOf(id)); } - memberService.batchBlock(idList,1); + memberService.batchBlock(idList,1,this.getLoginUser(token)); return ApiResponse.success(null); } + @ApiOperation("鎵归噺绉诲嚭榛戝悕鍗�") + @GetMapping("/batchRemoveBlock") + @CloudRequiredPermission("business:member:update") + public ApiResponse batchCancelBlock(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + String [] idArray = ids.split(","); + List<Integer> idList = new ArrayList<>(); + for (String id : idArray ){ + idList.add(Integer.valueOf(id)); + } + memberService.batchRemoveBlock(idList,2,this.getLoginUser(token)); + return ApiResponse.success(null); + } + @ApiOperation("鎵归噺瑙i櫎鍐荤粨") + @GetMapping("/batchRemoveFreeze") + @CloudRequiredPermission("business:member:update") + public ApiResponse batchRemoveFreeze(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + String [] idArray = ids.split(","); + List<Integer> idList = new ArrayList<>(); + for (String id : idArray ){ + idList.add(Integer.valueOf(id)); + } + memberService.batchRemoveBlock(idList,1,this.getLoginUser(token)); + return ApiResponse.success(null); + } @ApiOperation("鏄惁鍙嫓璁跨姸鎬佷慨鏀�") @PostMapping("/updateCanVisitById") @CloudRequiredPermission("business:member:update") - public ApiResponse updateCanVisitById(@RequestBody Member member){ + public ApiResponse updateCanVisitById(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + member.setLoginUserInfo(this.getLoginUser(token)); memberService.updateCanVisitById(member); return ApiResponse.success(null); } @@ -186,19 +245,31 @@ public ApiResponse<PageData<Member>> findPage (@RequestBody PageWrap<Member> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success(memberService.findPage(pageWrap)); } - - @ApiOperation("鍒嗛〉鍔冲姟鐢ㄦ埛淇℃伅鏌ヨ") - @PostMapping("/findLaborMemberInfoPage") + @ApiOperation("鏌ヨ鍏ㄩ儴") + @PostMapping("/list") @CloudRequiredPermission("business:member:query") - public ApiResponse<PageData<MemberInfoDTO>> findLaborMemberInfoPage(@RequestBody PageWrap<MemberInfoDTO> pageWrap){ - return ApiResponse.success(memberService.findLaborMemberInfoPage(pageWrap)); + public ApiResponse<List<Member>> list (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + return ApiResponse.success(memberService.findList(model)); + } + @ApiOperation("鏌ヨ鍏ㄩ儴鍙告満") + @PostMapping("/driveList") + @CloudRequiredPermission("business:member:query") + public ApiResponse<List<Member>> findDriveList (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + return ApiResponse.success(memberService.findDriveList(model)); } @ApiOperation("瀵煎嚭Excel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:member:exportExcel") - public void exportExcel (@RequestBody PageWrap<Member> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ - ExcelExporter.build(Member.class).export(memberService.findPage(pageWrap).getRecords(), "浜哄憳淇℃伅琛�", response); + public void exportExcel (@RequestBody PageWrap<MemberQuery> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + List<Member> memberList = new ArrayList<>(); + if(pageWrap.getModel().getType().equals(Constants.memberType.visitor)){ + memberList = memberService.findVisitPage(pageWrap).getRecords(); + }else if(pageWrap.getModel().getType().equals(Constants.memberType.internal)){ + pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token)); + memberList = memberService.findMemberInfoPage(pageWrap).getRecords(); + } + ExcelExporter.build(Member.class).export(memberList, "浜哄憳淇℃伅琛�", response); } @ApiOperation("鏍规嵁ID鏌ヨ") @@ -220,10 +291,11 @@ @ApiOperation("鍒嗛〉鏌ヨ鍐呴儴浜哄憳淇℃伅") @PostMapping("/findMemberInfoPage") @CloudRequiredPermission("business:member:query") - public ApiResponse<PageData<MemberInfoDTO>> findMemberInfoPage(@RequestBody PageWrap<MemberQuery> pageWrap){ + public ApiResponse<PageData<Member>> findMemberInfoPage(@RequestBody PageWrap<MemberQuery> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ if(pageWrap.getModel().getType().equals(Constants.memberType.visitor)){ return ApiResponse.success(memberService.findVisitPage(pageWrap)); }else if(pageWrap.getModel().getType().equals(Constants.memberType.internal)){ + pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(memberService.findMemberInfoPage(pageWrap)); }else { return ApiResponse.success(null); @@ -233,7 +305,7 @@ @ApiOperation("鍒嗛〉鏌ヨ璁垮浜哄憳淇℃伅") @PostMapping("/findVisitPage") @CloudRequiredPermission("business:member:query") - public ApiResponse<PageData<MemberInfoDTO>> findVisitPage (@RequestBody PageWrap<MemberQuery> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + public ApiResponse<PageData<Member>> findVisitPage (@RequestBody PageWrap<MemberQuery> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success(memberService.findVisitPage(pageWrap)); } @@ -241,7 +313,7 @@ @ApiOperation("寮傚父浜哄憳鍐荤粨/鎷夐粦") @PostMapping("/findUnusualPage") @CloudRequiredPermission("business:member:query") - public ApiResponse<PageData<MemberInfoDTO>> findUnusualPage (@RequestBody PageWrap<MemberQuery> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + public ApiResponse<PageData<Member>> findUnusualPage (@RequestBody PageWrap<MemberQuery> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success(memberService.findUnusualPage(pageWrap)); } @@ -255,15 +327,17 @@ @ApiOperation("鍏ㄩ噺淇℃伅鍚屾") @PostMapping("/syncAll") @CloudRequiredPermission("business:member:sync") - public ApiResponse sync(){ + public ApiResponse sync(@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){ erpSyncService.syncUsers(null); }else if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.hk){ - hkSyncOrgUserFHKService.syncUserData(); + hkSyncOrgUserFHKService.syncUserData(this.getLoginUser(token)); + }else if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self){ + hkSyncOrgUserFromSelfService.syncUserData(this.getLoginUser(token)); + return ApiResponse.success("鍚屾鎴愬姛"); } return ApiResponse.success("鍚屾鎴愬姛"); } - @ApiOperation("娴嬭瘯浜哄憳鍐荤粨") @@ -273,4 +347,24 @@ return ApiResponse.success(null); } + + @LoginNoRequired + @ApiOperation("鍙告満娉ㄥ唽") + @PostMapping("/registerDriver") + public ApiResponse registerDriver(@RequestBody RegisterDriverDTO registerDriverDTO ){ + memberService.registerDriver(registerDriverDTO); + return ApiResponse.success("娉ㄥ唽鎴愬姛"); + } + + + + @Trace(withRequestParameters = false) + @ApiOperation("淇敼褰撳墠鐢ㄦ埛瀵嗙爜") + @PostMapping("/updatePwd") + public ApiResponse updatePwd (@RequestHeader(Constants.HEADER_USER_TOKEN) String token, @Validated @RequestBody UpdatePwdDto dto) { + dto.setUserId(this.getLoginUser(token).getId()); + systemUserBiz.updatePwd(dto); + return ApiResponse.success(null); + } + } -- Gitblit v1.9.3