|  |  | 
 |  |  | 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.business.dto.RegisterDriverDTO; | 
 |  |  | import com.doumee.dao.business.model.Member; | 
 |  |  | import com.doumee.dao.business.model.MemberRole; | 
 |  |  | 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; | 
 |  |  | /** | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private HkSyncOrgUserFromHKServiceImpl hkSyncOrgUserFHKService; | 
 |  |  |     @Autowired | 
 |  |  |     private HkSyncOrgUserFromSelfServiceImpl hkSyncOrgUserFromSelfService; | 
 |  |  |     @Autowired | 
 |  |  |     private DataSyncConfig dataSyncConfig; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MemberService memberService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SystemUserBiz systemUserBiz; | 
 |  |  |     @PreventRepeat | 
 |  |  |     @ApiOperation("新建") | 
 |  |  |     @PostMapping("/create") | 
 |  |  | 
 |  |  |         for (String id : idArray ){ | 
 |  |  |             idList.add(Integer.valueOf(id)); | 
 |  |  |         } | 
 |  |  |         memberService.deleteByIdInBatch(idList,this.getLoginUser(null)); | 
 |  |  |         memberService.deleteByIdInBatch(idList,this.getLoginUser(token)); | 
 |  |  |         return ApiResponse.success(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         memberService.updateFace(member); | 
 |  |  |         return ApiResponse.success(null); | 
 |  |  |     } | 
 |  |  |     @ApiOperation("同步人脸信息") | 
 |  |  |     @ApiOperation("批量授权下发") | 
 |  |  |     @PostMapping("/batchRoleAuth") | 
 |  |  |     public ApiResponse batchRoleAuth(@RequestBody Member memberRole, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
 |  |  |         memberRole.setLoginUserInfo(this.getLoginUser(token)); | 
 |  |  | 
 |  |  |         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") | 
 |  |  | 
 |  |  |         return ApiResponse.success(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @ApiOperation("是否可拜访状态修改") | 
 |  |  |     @PostMapping("/updateCanVisitById") | 
 |  |  |     @CloudRequiredPermission("business:member:update") | 
 |  |  | 
 |  |  |     @ApiOperation("查询全部") | 
 |  |  |     @PostMapping("/list") | 
 |  |  |     @CloudRequiredPermission("business:member:query") | 
 |  |  |     public ApiResponse<List<Member>> findPage (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
 |  |  |     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查询") | 
 |  |  | 
 |  |  |         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); | 
 |  |  | 
 |  |  |     @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("测试人员冻结") | 
 |  |  | 
 |  |  |         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); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |