Эх сурвалжийг харах

feat: 查询关联积分包的可分配积分值-改为新的方法

lixuesong 1 жил өмнө
parent
commit
6995a15486

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

@@ -65,7 +65,7 @@ public class WmDeptTaskController {
     public R<?> listRelatedEntPackage() {
         Integer deptId = SecurityUtils.getUser().getDeptId();
 
-        List<WmScorePackage> packageList = wmScorePackageService.getScorePackagekfpjf(deptId, new String[]{"0", "1", "2"});
+        List<WmScorePackage> packageList = wmScorePackageService.getScorePackagekfpjf(deptId, new String[]{"0", "1", "2"}, null);
 
         List<Map<String, String>> results = new ArrayList<>();
         if (CollUtil.isNotEmpty(packageList)) {

+ 4 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageService.java

@@ -216,9 +216,10 @@ public interface WmScorePackageService extends IService<WmScorePackage> {
 	/**
 	 * 获取指定企业下积分包的可分配积分值
 	 *
-	 * @param deptId 企业id
-	 * @param typeIds 企业类型
+	 * @param deptId     企业id
+	 * @param typeIds    企业类型
+	 * @param packageIds 积分包id
 	 * @return 结果
 	 */
-	List<WmScorePackage> getScorePackagekfpjf(Integer deptId, String[] typeIds);
+	List<WmScorePackage> getScorePackagekfpjf(Integer deptId, String[] typeIds, String[] packageIds);
 }

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

@@ -81,7 +81,10 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
         WmScorePackage scorePackage = wmScorePackageService.getById(params.getPackageId());
 
         // 校验是否超过可分配积分值
-        if (params.getScore() > scorePackage.getKfpjf()) {
+        List<WmScorePackage> scorePackagekfpjf =
+                wmScorePackageService.getScorePackagekfpjf(SecurityUtils.getUser().getDeptId(),
+                        new String[]{"0", "1", "2"}, new String[]{params.getPackageId()});
+        if (params.getScore() > scorePackagekfpjf.get(0).getKfpjf()) {
             throw new RuntimeException("可分配积分不足!");
         }
 
@@ -165,7 +168,10 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
         int score = wmTaskTypeService.getWmTaskTypeByEnt(wmTaskType);
 
         // 校验是否超过可分配积分值
-        if (score > scorePackage.getKfpjf()) {
+        List<WmScorePackage> scorePackagekfpjf =
+                wmScorePackageService.getScorePackagekfpjf(SecurityUtils.getUser().getDeptId(),
+                        new String[]{"0", "1", "2"}, new String[]{params.getPackageId()});
+        if (score > scorePackagekfpjf.get(0).getKfpjf()) {
             throw new RuntimeException("可分配积分不足!");
         }
 
@@ -256,7 +262,10 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
         int score = wmTaskTypeService.getWmTaskTypeByEnt(wmTaskType);
 
         // 校验是否超过可分配积分值
-        if (score > scorePackage.getKfpjf()) {
+        List<WmScorePackage> scorePackagekfpjf =
+                wmScorePackageService.getScorePackagekfpjf(SecurityUtils.getUser().getDeptId(),
+                        new String[]{"0", "1", "2"}, new String[]{params.getPackageId()});
+        if (score > scorePackagekfpjf.get(0).getKfpjf()) {
             throw new RuntimeException("可分配积分不足!");
         }
 

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

@@ -19,6 +19,7 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.DesensitizedUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.RandomUtil;
@@ -546,7 +547,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 //		wmScorePackage.setDeptId(deptId);
 //		wmScorePackage.setTypeid("0,1,2");
 //		wmScorePackage.setSendPackageDeptId(wmScorePackage.getRelatedService());
-		List<WmScorePackage> packageList = this.getScorePackagekfpjf(deptId, new String[]{"0", "1", "2"});
+		List<WmScorePackage> packageList = this.getScorePackagekfpjf(deptId, new String[]{"0", "1", "2"}, null);
 
 		for (WmScorePackage wmScorePackage1 : packageList) {
 			List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(wmScorePackage1.getId());
@@ -3177,19 +3178,26 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	/**
 	 * 获取指定企业下积分包的可分配积分值
 	 *
-	 * @param deptId  企业id
-	 * @param typeIds 企业类型
+	 * @param deptId     企业id
+	 * @param typeIds    企业类型
+	 * @param packageIds 积分包id
 	 * @return 结果
 	 */
 	@Override
-	public List<WmScorePackage> getScorePackagekfpjf(Integer deptId, String[] typeIds) {
+	public List<WmScorePackage> getScorePackagekfpjf(Integer deptId, String[] typeIds, String[] packageIds) {
 		// 查询企业下的积分包
-		List<WmScorePackage> packages = this.list(Wrappers.<WmScorePackage>lambdaQuery()
-				.eq(WmScorePackage::getDeptId, deptId)
+		LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
 				.in(WmScorePackage::getTypeid, typeIds)
 				.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
 				.eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
-				.eq(WmScorePackage::getOldPackage, "0"));
+				.eq(WmScorePackage::getOldPackage, "0");
+		if (deptId != null) {
+			queryWrapper.eq(WmScorePackage::getDeptId, deptId);
+		}
+		if (ArrayUtil.isNotEmpty(packageIds)) {
+			queryWrapper.in(WmScorePackage::getId, packageIds);
+		}
+		List<WmScorePackage> packages = this.list(queryWrapper);
 
 		if (CollUtil.isNotEmpty(packages)) {
 			// 查询积分包的子包