瀏覽代碼

feat: 团队管理-导入

lixuesong 3 年之前
父節點
當前提交
57fb5989da

+ 13 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTeamController.java

@@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestPart;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.time.LocalDateTime;
@@ -154,9 +155,9 @@ public class WmTeamController {
 	 * @param teamExcelModelList
 	 * @return
 	 */
-	@SysLog("团队批量导入")
-	@PostMapping("/batch-import/{teamId}")
-	public R<?> batchImport(@PathVariable("teamId") Integer teamId, @RequestExcel List<WmTeamExcelModel> teamExcelModelList) {
+	@SysLog("团队成员批量导入")
+	@PostMapping("/batch-import")
+	public R<?> batchImport(@RequestExcel(ignoreEmptyRow = true) List<WmTeamExcelModel> teamExcelModelList, @RequestParam("teamId") String teamId) {
 		// 参数校验
 		if (CollectionUtils.isEmpty(teamExcelModelList)) {
 			log.error("空报表,不能上传");
@@ -164,10 +165,17 @@ public class WmTeamController {
 		}
 
 		Map<String, List<WmTeamExcelModel>> excelMap = teamExcelModelList.stream()
+				.filter(wmTeamExcelModel -> StrUtil.isNotBlank(wmTeamExcelModel.getId()))
+				.map(wmTeamExcelModel -> {
+					wmTeamExcelModel.setId(StrUtil.trim(wmTeamExcelModel.getId()));
+					wmTeamExcelModel.setRealname(StrUtil.trim(wmTeamExcelModel.getRealname()));
+					wmTeamExcelModel.setUsername(StrUtil.trim(wmTeamExcelModel.getUsername()));
+					return wmTeamExcelModel;
+				})
 				.collect(Collectors.groupingBy(WmTeamExcelModel::getUsername));
 
 		// 实际的处理业务
-		Map<String, String> errorMap = wmTeamService.batchImport(teamId, excelMap);
+		Map<String, String> errorMap = wmTeamService.batchImport(Integer.valueOf(teamId), excelMap);
 
 		// 返回上传结果
 		Map<String, Object> result = new HashMap<>(3);
@@ -287,7 +295,7 @@ public class WmTeamController {
 	/**
 	 * 查询团队可选择人员
 	 *
-	 * @param teamId 团队id
+	 * @param teamId          团队id
 	 * @param realNameOrPhone 姓名或手机号
 	 * @return
 	 */

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTeamServiceImpl.java

@@ -20,6 +20,7 @@ import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -161,6 +162,7 @@ public class WmTeamServiceImpl extends ServiceImpl<WmTeamMapper, WmTeam> impleme
 	 * @return
 	 */
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public Map<String, String> batchImport(Integer teamId, Map<String, List<WmTeamExcelModel>> excelMap) {
 		// 变量
 		Map<String, String> errorMap = new HashMap<>();