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