浏览代码

溢付款积分修改

lazhaoqian 3 年之前
父节点
当前提交
b65be2d474

+ 1 - 1
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/mapper/BusinessOverpaymentItemMapper.java

@@ -44,6 +44,6 @@ public interface BusinessOverpaymentItemMapper extends BaseMapper<BusinessOverpa
 	 * @param pid
 	 * @param overpaymentType
 	 */
-	void updateItem(@Param("pid") Long pid, @Param("overpaymentType") int overpaymentType);
+	void updateItem(@Param("pid") Long pid, @Param("overpaymentType") int overpaymentType,@Param("list") List<Long> list);
 
 }

+ 5 - 1
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/mapper/BusinessOverpaymentItemMapper.xml

@@ -28,7 +28,11 @@
         select * from business_overpayment_item where is_deleted = 0
     </select>
     <update id="updateItem" parameterType="object">
-        update business_overpayment_item set is_deleted = '0' where pid = #{pid} and overpayment_type = #{overpaymentType}
+        update business_overpayment_item set is_deleted = '1' where overpayment_type = #{overpaymentType}
+        and src_pid in
+        <foreach item="srcPid" collection="list" open="(" separator="," close=")">
+            #{srcPid}
+        </foreach>
     </update>
 
 </mapper>

+ 1 - 1
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/mapper/BusinessPointsItemMapper.java

@@ -40,6 +40,6 @@ public interface BusinessPointsItemMapper extends BaseMapper<BusinessPointsItem>
 	 */
 	List<BusinessPointsItemVO> selectBusinessPointsItemPage(IPage page, BusinessPointsItemVO businessPointsItem);
 
-	void updateItem(@Param("pid") Long pid,@Param("pointsType") int pointsType);
+	void updateItem(@Param("pid") Long pid,@Param("pointsType") int pointsType,@Param("list") List<Long> list);
 
 }

+ 5 - 1
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/mapper/BusinessPointsItemMapper.xml

@@ -28,7 +28,11 @@
         select * from business_points_item where is_deleted = 0
     </select>
     <update id="updateItem" parameterType="object">
-        update business_points_item set is_deleted = '0' where pid = #{pid} and points_type = #{pointsType}
+        update business_points_item set is_deleted = '1' where  points_type = #{pointsType}
+        and src_pid in
+        <foreach item="srcPid" collection="list" open="(" separator="," close=")">
+            #{srcPid}
+        </foreach>
     </update>
 
 </mapper>

+ 29 - 6
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/impl/BusinessOverpaymentServiceImpl.java

@@ -25,6 +25,7 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.mocha.entity.BusinessOverpayment;
 import org.springblade.mocha.entity.BusinessOverpaymentItem;
+import org.springblade.mocha.entity.BusinessPointsItem;
 import org.springblade.mocha.enums.OverpaymentEnum;
 import org.springblade.mocha.mapper.BusinessOverpaymentItemMapper;
 import org.springblade.mocha.vo.BusinessOverpaymentVO;
@@ -37,6 +38,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 客户溢付款主表 服务实现类
@@ -114,7 +116,7 @@ public class BusinessOverpaymentServiceImpl extends ServiceImpl<BusinessOverpaym
 			baseMapper.updatePoints(amount,new Date(),SecureUtil.getUserId(),businessOverpayment.getId(),type);
 		}
 		//处理明细数据  新增溢付款和消费溢付款 添加消费明细
-		if (CollectionUtils.isNotEmpty(list) && (type.equals(OverpaymentEnum.ADD.getType())||type.equals(OverpaymentEnum.REDUCE.getType()))){
+		if (CollectionUtils.isNotEmpty(list) && type.equals(OverpaymentEnum.ADD.getType())){
 			for (BusinessOverpaymentItem businessOverpaymentItem : list) {
 				businessOverpaymentItem.setOverpaymentType(itemType);
 				if (businessOverpaymentItem.getId() == null){
@@ -129,16 +131,37 @@ public class BusinessOverpaymentServiceImpl extends ServiceImpl<BusinessOverpaym
 					businessOverpaymentItem.setUpdateUser(SecureUtil.getUserId());
 					businessOverpaymentItem.setUpdateTime(new Date());
 					businessOverpaymentItem.setTenantId(SecureUtil.getTenantId());
-					businessOverpaymentItem.setOverpaymentType(1);
+					businessOverpaymentItem.setOverpaymentType(0);
 					businessOverpaymentItemMapper.updateById(businessOverpaymentItem);
 				}
 			}
+		}else if (CollectionUtils.isNotEmpty(list) && type.equals(OverpaymentEnum.REDUCE.getType())){
+				for (BusinessOverpaymentItem businessOverpaymentItem : list) {
+					businessOverpaymentItem.setOverpaymentType(itemType);
+					if (businessOverpaymentItem.getId() == null){
+						businessOverpaymentItem.setPid(pid);
+						businessOverpaymentItem.setCreateUser(SecureUtil.getUserId());
+						businessOverpaymentItem.setCreateTime(new Date());
+						businessOverpaymentItem.setTenantId(SecureUtil.getTenantId());
+						businessOverpaymentItem.setOverpaymentType(1);
+						businessOverpaymentItemMapper.insert(businessOverpaymentItem);
+					}else {
+						businessOverpaymentItem.setPid(pid);
+						businessOverpaymentItem.setUpdateUser(SecureUtil.getUserId());
+						businessOverpaymentItem.setUpdateTime(new Date());
+						businessOverpaymentItem.setTenantId(SecureUtil.getTenantId());
+						businessOverpaymentItem.setOverpaymentType(1);
+						businessOverpaymentItemMapper.updateById(businessOverpaymentItem);
+					}
+				}
 		}
 		//撤销新增溢付款和消费溢付款逻辑删除溢付款明细数据
-		if (type.equals(OverpaymentEnum.REPEALADD.getType())){
-			businessOverpaymentItemMapper.updateItem(pid,0);
-		}else if (type.equals(OverpaymentEnum.REPEALREDUCE.getType())){
-			businessOverpaymentItemMapper.updateItem(pid,1);
+		if (CollectionUtils.isNotEmpty(list) && type.equals(OverpaymentEnum.REPEALADD.getType())){
+			List<Long> collect = list.stream().map(BusinessOverpaymentItem::getSrcPid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+			businessOverpaymentItemMapper.updateItem(pid,0,collect);
+		}else if (CollectionUtils.isNotEmpty(list) && type.equals(OverpaymentEnum.REPEALREDUCE.getType())){
+			List<Long> collect = list.stream().map(BusinessOverpaymentItem::getSrcPid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+			businessOverpaymentItemMapper.updateItem(pid,1,collect);
 		}
 		return R.success("操作成功");
 	}

+ 8 - 3
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/impl/BusinessPointsServiceImpl.java

@@ -37,6 +37,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 客户积分主表 服务实现类
@@ -130,7 +131,7 @@ public class BusinessPointsServiceImpl extends ServiceImpl<BusinessPointsMapper,
 					businessPointsItemMapper.updateById(businessPointsItem);
 				}
 			}
-		}else if (CollectionUtils.isNotEmpty(list) && type.equals(OverpaymentEnum.REDUCE.getType())){
+		}else if (CollectionUtils.isNotEmpty(itemList) && type.equals(OverpaymentEnum.REDUCE.getType())){
 			for (BusinessPointsItem businessPointsItem : itemList) {
 				if (businessPointsItem.getId() == null){
 					businessPointsItem.setPid(pid);
@@ -150,8 +151,12 @@ public class BusinessPointsServiceImpl extends ServiceImpl<BusinessPointsMapper,
 			}
 		}
 		//消费积分明细
-		if (type.equals(OverpaymentEnum.REPEALADD.getType()) || type.equals(OverpaymentEnum.REPEALREDUCE.getType())){
-			businessPointsItemMapper.updateItem(pid,1);
+		if (CollectionUtils.isNotEmpty(list) && type.equals(OverpaymentEnum.REPEALADD.getType())){
+			List<Long> collect = list.stream().map(BusinessPointsItem::getSrcPid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+			businessPointsItemMapper.updateItem(pid,0,collect);
+		}else if (CollectionUtils.isNotEmpty(itemList) && type.equals(OverpaymentEnum.REPEALREDUCE.getType())){
+			List<Long> collect = itemList.stream().map(BusinessPointsItem::getSrcPid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+			businessPointsItemMapper.updateItem(pid,1,collect);
 		}
 		return R.success("操作成功");
 	}