Переглянути джерело

feat: 批量创建积分包step2

shc 3 роки тому
батько
коміт
3655c0f008

+ 30 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/enums/TargetType.java

@@ -0,0 +1,30 @@
+package com.qunzhixinxi.hnqz.admin.api.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+/**
+ * {@code TargetType}
+ * <p>
+ * 接单对象枚举
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021/11/18 15:23
+ */
+@Getter
+@AllArgsConstructor
+public enum TargetType {
+
+	PART_TIME(0, "兼职学术信息沟通专员"),
+	FULL_TIME(1, "全职学术信息沟通专员");
+
+	@EnumValue
+	private final int code;
+
+	private final String desc;
+
+
+}

+ 85 - 13
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -24,6 +24,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -36,10 +37,14 @@ import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.dto.UserDTO;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
+import com.qunzhixinxi.hnqz.admin.api.enums.TargetType;
 import com.qunzhixinxi.hnqz.admin.api.vo.ErrorInfoVo;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
 import com.qunzhixinxi.hnqz.admin.api.vo.WmScorePackageVO;
 import com.qunzhixinxi.hnqz.admin.entity.*;
+import com.qunzhixinxi.hnqz.admin.entity.model.excel.BatchPackageExcelModel;
+import com.qunzhixinxi.hnqz.admin.entity.model.excel.BatchPackageFullTimeExcelModel;
+import com.qunzhixinxi.hnqz.admin.entity.model.excel.BatchPackagePartTimeExcelModel;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
 import com.qunzhixinxi.hnqz.admin.enums.WmScoreTaskTypeEnum;
@@ -3306,36 +3311,103 @@ public class WmScorePackageController {
 
 		if (StrUtil.isNotEmpty(result) && JSONUtil.isJson(result)) {
 			JSONObject jsonObject = JSONUtil.parseObj(result);
-			WmScorePackage wmScorePackage = JSONUtil.toBean(jsonObject, WmScorePackage.class);
-			return R.ok(wmScorePackage);
+			return R.ok(jsonObject);
 		}
 
 		return R.ok();
 	}
 
 
-	@Inner(value = false)
-	@PostMapping(value = "/package/batch")
-	public R<?> batchCreatePackage(@RequestBody WmScorePackage wmScorePackage) {
+	/**
+	 * 批量下发兼职积分包
+	 *
+	 * @param batchPackageExcelModels 兼职模板内容
+	 * @param WmScorePackage          积分包信息
+	 * @return 结果
+	 */
+	@PostMapping(value = "/batch")
+	public R<?> batchCreatePackageForPartTime(@RequestExcel(ignoreEmptyRow = true) List<BatchPackageExcelModel> batchPackageExcelModels,
+											  @RequestBody WmScorePackage WmScorePackage) {
+		// 获取操作人
+		HnqzUser user = SecurityUtils.getUser();
+
+		// 业务校验
+		// 1. 获取创建的类型
+
+
+
+
+
+		// 批量创建
 
 
 
-		Map<String, Object> map = new HashMap<>();
 
-		map.put("history",wmScorePackage);
-		map.put("timestamp",
-				DateTimeFormatter.ofPattern(DatePattern.CHINESE_DATE_TIME_PATTERN).format(LocalDateTime.now()));
 
-		String res = JSONUtil.toJsonStr(map);
 
+
+
+
+
+		// 记录历史信息
 		// 缓存记录key
-		HnqzUser user = SecurityUtils.getUser();
 		String key = String.format(CacheConstants.BATCH_PACKAGE_HISTORY, user.getDeptId(), user.getId());
-		redisTemplate.opsForValue().set(key,res);
+		Map<String, Object> history = new HashMap<>(2);
+		history.put("history", WmScorePackage);
+		history.put("timestamp",
+				DateTimeFormatter.ofPattern(DatePattern.CHINESE_DATE_TIME_PATTERN).format(LocalDateTime.now()));
+		redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(history));
+
+		return R.ok();
+	}
+
+
+
+	private  void checkColumn(BatchPackageExcelModel model, TargetType targetType){
 
-		return null;
+		// 校验列
+		if (!targetType.getDesc().equals(model.getTargetType())){
 
+		}
+
+		if (StrUtil.isEmpty(model.getScorePackageName())){
+
+		}
+
+		if (model.getScore() == null){
+
+		}
 
+		if (targetType == TargetType.FULL_TIME) {
+
+			if (StrUtil.isEmpty(model.getTargetName())){
+
+			}
+
+			if (StrUtil.isEmpty(model.getMobile())){
+
+			}
+		}
+
+
+	}
+
+
+
+	private void batchCheck(List<BatchPackageExcelModel> batchPackageExcelModels, String deptId, TargetType targetType){
+		//数据
+		List<WmScorePackage> wmScorePackageList = new ArrayList<>();
+		List<ErrorInfoVo> errorList = new ArrayList<>();
+		List mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+
+		log.info(">>> 校验开始 <<<");
+
+		for (int i = 1, size = batchPackageExcelModels.size(); i <= size ;i++){
+			log.info(">>>当前第{}行<<<", i);
+			BatchPackageExcelModel model = batchPackageExcelModels.get(i);
+
+		}
 	}
 
 

+ 61 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/excel/BatchPackageExcelModel.java

@@ -0,0 +1,61 @@
+package com.qunzhixinxi.hnqz.admin.entity.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * {@code BatchPackageExcelModel}
+ * <p>
+ * 批量下发积分包
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021/11/18 15:07
+ */
+@Data
+public class BatchPackageExcelModel implements Serializable {
+
+	private static final long serialVersionUID = 311997134231676639L;
+
+
+	/**
+	 * 接单对象类型
+	 */
+	@ExcelProperty(index = 0, value = "接单对象类型")
+	private String targetType;
+
+	/**
+	 * 积分包名称
+	 */
+	@ExcelProperty(index = 1, value = "积分包名称")
+	private String scorePackageName;
+
+	/**
+	 * 积分包值,单位:元
+	 */
+	@ExcelProperty(index = 2, value = "积分包值")
+	private Integer score;
+
+	/**
+	 * 描述
+	 */
+	@ExcelProperty(index = 3, value = "描述")
+	private String description;
+
+
+	/**
+	 * 接包对象
+	 */
+	@ExcelProperty(index = 4, value = "接包对象")
+	private String targetName;
+
+	/**
+	 * 手机号
+	 */
+	@ExcelProperty(index = 5, value = "手机号")
+	private String mobile;
+
+
+}

+ 62 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/excel/BatchPackageFullTimeExcelModel.java

@@ -0,0 +1,62 @@
+package com.qunzhixinxi.hnqz.admin.entity.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * {@code BatchPackageFullTimeExcelModel}
+ * <p>
+ * 批量下发积分包(全职)
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021/11/18 15:12
+ */
+@Data
+public class BatchPackageFullTimeExcelModel implements Serializable {
+
+	private static final long serialVersionUID = 2053830075650614516L;
+
+	/**
+	 * 接单对象类型
+	 */
+	@ExcelProperty(index = 0, value = "接单对象类型")
+	private String targetType;
+
+	/**
+	 * 积分包名称
+	 */
+	@ExcelProperty(index = 1, value = "积分包名称")
+	private String scorePackageName;
+
+	/**
+	 * 接包对象
+	 */
+	@ExcelProperty(index = 2, value = "接包对象")
+	private String targetName;
+
+	/**
+	 * 手机号
+	 */
+	@ExcelProperty(index = 3, value = "手机号")
+	private String mobile;
+
+	/**
+	 * 积分包值,单位:元
+	 */
+	@ExcelProperty(index = 4, value = "积分包值")
+	private Integer score;
+
+	/**
+	 * 描述
+	 */
+	@ExcelProperty(index = 5, value = "描述")
+	private String description;
+}

+ 52 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/excel/BatchPackagePartTimeExcelModel.java

@@ -0,0 +1,52 @@
+package com.qunzhixinxi.hnqz.admin.entity.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * {@code BatchPackagePartTimeExcelModel}
+ * <p>
+ * 批量下发积分包(兼职)
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021/11/18 15:07
+ */
+@Data
+public class BatchPackagePartTimeExcelModel implements Serializable {
+
+	private static final long serialVersionUID = 311997134231676639L;
+
+
+	/**
+	 * 接单对象类型
+	 */
+	@ExcelProperty(index = 0, value = "接单对象类型")
+	private String targetType;
+
+	/**
+	 * 积分包名称
+	 */
+	@ExcelProperty(index = 1, value = "积分包名称")
+	private String scorePackageName;
+
+	/**
+	 * 积分包值,单位:元
+	 */
+	@ExcelProperty(index = 2, value = "积分包值")
+	private Integer score;
+
+	/**
+	 * 描述
+	 */
+	@ExcelProperty(index = 3, value = "描述")
+	private String description;
+
+}

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/WmScoreTaskTypeEnum.java

@@ -53,11 +53,11 @@ public enum WmScoreTaskTypeEnum {
 	/**
 	 * 类型
 	 */
-	private String type;
+	private final String type;
 
 	/**
 	 * 描述
 	 */
-	private String description;
+	private final String description;
 
 }

+ 11 - 0
pom.xml

@@ -311,5 +311,16 @@
 				<profiles.daemon.quartz.port>5007</profiles.daemon.quartz.port>
 			</properties>
 		</profile>
+		<profile>
+			<id>local</id>
+			<properties>
+				<profiles.active>local</profiles.active>
+				<profiles.namespace>4f0d7def-4521-48aa-9357-fc970756c195</profiles.namespace>
+				<profiles.auth.port>3000</profiles.auth.port>
+				<profiles.gateway.port>9999</profiles.gateway.port>
+				<prefiles.upms.biz.port>4000</prefiles.upms.biz.port>
+				<profiles.daemon.quartz.port>5007</profiles.daemon.quartz.port>
+			</properties>
+		</profile>
 	</profiles>
 </project>