Przeglądaj źródła

feat: 积分包增加截止时间/任务中心提交校验

lixuesong 1 rok temu
rodzic
commit
c833449080

+ 3 - 0
db/v2.0/20240131.sql

@@ -1,2 +1,5 @@
 alter table wm_task_type
     add task_remark text null comment '任务备注';
+
+alter table wm_score_package
+    add end_time date null comment '截止日期';

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmReportController.java

@@ -34,6 +34,7 @@ import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.admin.entity.WmReport;
@@ -47,6 +48,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.Comparator;
@@ -217,6 +219,12 @@ public class WmReportController {
 		if(StringUtil.isEmpty(wmReport.getReportStatus())){
 			return R.failed("缺少状态参数");
 		}
+
+		WmScorePackage scorePackage = wmScorePackageService.getById(wmReport1.getScoreId());
+		if (LocalDate.now().isAfter(scorePackage.getEndTime())) {
+			throw new BizException("当前积分包已过截止日期");
+		}
+
 		return wmReportService.updateReportStatus(wmReport);
 	}
 

+ 27 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1712,6 +1712,8 @@ public class WmScorePackageController {
 		wmScorePackage.setPackageAuditStatus("0");
 		wmScorePackage.setSendPackageDeptId(deptId.toString());
 		wmScorePackage.setAllocationDate(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(now));
+		// 默认截止日期为一年后
+		wmScorePackage.setEndTime(now.plusYears(1).toLocalDate());
 
 		// 关联上级推广药品企业(兼容历史)
 		if (StringUtils.isEmpty(relPkgId)) {
@@ -3777,4 +3779,29 @@ public class WmScorePackageController {
 		return R.ok(wmScorePackageService.updateById(update));
 	}
 
+	/**
+	 * 重启积分包(默认延长1年)
+	 *
+	 * @param scorePackage 参数
+	 * @return 结果
+	 */
+	@SysLog("重启积分包")
+	@PostMapping("/restart")
+	public R<?> restart(@RequestBody WmScorePackage scorePackage) {
+		if (scorePackage.getId() == null) {
+			return R.failed("积分包id必填");
+		}
+
+		LocalDate now = LocalDate.now();
+		WmScorePackage update = new WmScorePackage();
+		update.setId(scorePackage.getId());
+		if (scorePackage.getEndTime() != null) {
+			update.setEndTime(scorePackage.getEndTime());
+		} else {
+			update.setEndTime(now.plusYears(1));
+		}
+		wmScorePackageService.updateById(update);
+
+		return R.ok();
+	}
 }

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java

@@ -324,6 +324,7 @@ public class WmTaskTypeController {
 	 * @param taskRemarkUpdate 参数
 	 * @return {@link R}<{@link ?}> 结果
 	 */
+	@SysLog("更新自定义任务要求")
 	@PostMapping("/update-task-remark")
 	public R<?> updateTaskRemark(@RequestBody @Validated WmTaskDTO.TaskRemarkUpdate taskRemarkUpdate) {
 		WmTaskType update = new WmTaskType();

+ 6 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmScorePackage.java

@@ -17,6 +17,7 @@ import lombok.Getter;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
@@ -524,6 +525,11 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	 */
 	private String invoiceNumber;
 
+	/**
+	 * 截止日期
+	 */
+	private LocalDate endTime;
+
 	/**
 	 * 发票文件
 	 */

+ 3 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -838,7 +838,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			wmScorePackage.setUserNum(9999);
 		}
 		wmScorePackage.setCreateUser(currentUser.getId());
-		wmScorePackage.setCreateTime(LocalDateTime.now());
+		wmScorePackage.setCreateTime(now);
+		// 默认截止日期为一年后
+		wmScorePackage.setEndTime(now.plusYears(1).toLocalDate());
 		boolean isAnswer = this.save(wmScorePackage);
 		if (isAnswer) {
 

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

@@ -80,6 +80,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmScoreTaskTypeService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.util.RegUtils;
 import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
@@ -560,6 +561,10 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 		List<String> strs1 = new ArrayList<>();
 
 		WmScorePackage wmScorePackage = wmScorePackageService.getById(packageId);
+		if (LocalDate.now().isAfter(wmScorePackage.getEndTime())) {
+			throw new BizException("当前积分包已过截止日期");
+		}
+
 		String name = wmScorePackage.getScorePackageName();
 		SysDept sysDept = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
 
@@ -1079,6 +1084,10 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 		List<String> strs1 = new ArrayList<>();
 
 		WmScorePackage wmScorePackage = wmScorePackageService.getById(packageId);
+		if (LocalDate.now().isAfter(wmScorePackage.getEndTime())) {
+			throw new BizException("当前积分包已过截止日期");
+		}
+
 		String name = wmScorePackage.getScorePackageName();
 		SysDept sysDept = sysDeptService.getById(SecurityUtils.getUser().getDeptId());