server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -10,18 +10,21 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.request.LaborMemberDTO; import com.doumee.dao.admin.request.MemberImport; import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberRole; 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 io.swagger.annotations.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; 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; /** @@ -156,7 +159,15 @@ return ApiResponse.success(null); } @ApiOperation(value = "人åä¿¡æ¯å¯¼å ¥" ,notes = "ä¿åç³è¯·") @PostMapping("/importExcel") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class), }) @RequiresPermissions("business:worktype:create") public ApiResponse<String> importExcel (@ApiParam(value = "file") MultipartFile file, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(memberService.importBatch(file,this.getLoginUser(token))); } @ApiOperation("æ¹éæé»") @GetMapping("/batchBlock") server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/MemberImport.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package com.doumee.dao.admin.request; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * å工信æ¯å¯¼å ¥è¡¨ * @author æ±è¹è¹ * @date 2024/01/16 10:03 */ @Data @ApiModel("å工信æ¯å¯¼å ¥") public class MemberImport { @ExcelColumn(name="åºå·",value = "sn") private Integer sn; @ExcelColumn(name="å§å",value = "name") private String name; @ExcelColumn(name="身份è¯å·",value = "idcardNo") private String idcardNo; @ExcelColumn(name="æå±ç»ç»" , value = "companyName") private String companyName; @ExcelColumn(name="å·¥å·" , value = "code") private String code; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -14,6 +14,7 @@ import com.doumee.dao.web.reqeust.VisitMemberDTO; import com.doumee.dao.web.response.MemberVO; import com.doumee.dao.web.response.WxAuthorizeVO; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -203,4 +204,6 @@ void updateWorkStatus(Member member); void batchRoleAuth(Member memberRole); String importBatch(MultipartFile file, LoginUserInfo loginUser); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -29,6 +29,7 @@ import com.doumee.core.wx.WXConstant; import com.doumee.dao.admin.request.LaborEmpowerDTO; import com.doumee.dao.admin.request.LaborMemberDTO; import com.doumee.dao.admin.request.MemberImport; import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.admin.response.StagingDataVO; import com.doumee.dao.business.*; @@ -58,6 +59,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.Date; import java.util.*; @@ -1686,6 +1688,34 @@ return stagingHeadVO; } @Override public String importBatch(MultipartFile file, LoginUserInfo loginUserInfo){ List<Member> list = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() .selectAll(Member.class) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .eq(Member::getIsdeleted,Constants.ZERO) ); ExcelImporter ie = null; List<MemberImport> dataList =null; try { ie = new ExcelImporter(file,0,0); dataList = ie.getDataList(MemberImport.class,null); } catch (Exception e) { e.printStackTrace(); } if(dataList == null || dataList.size() ==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼å½å ¥æ°æ®ä¸ºç©ºï¼"); } List<String> idCardList = dataList.stream().map(m->m.getIdcardNo()).collect(Collectors.toList()); Set<String> set = new HashSet<>(idCardList); if(idCardList.size() != set.size()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼å½å ¥æ°æ®åå¨èº«ä»½è¯å·ç¸åæ°æ®ï¼"); } return "å¯¼å ¥æå"; } }