fix(): 拼团完善活动修改

1127/masongjia
masongjia 2024-11-27 21:41:32 +08:00
parent 523104d85c
commit 907b0d1356
13 changed files with 320 additions and 27 deletions

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -111,4 +112,27 @@ public class ActivityTeamInfo extends BaseEntity {
.strategyId(activityTeamInfoAddModel.getStrategyId()) .strategyId(activityTeamInfoAddModel.getStrategyId())
.build(); .build();
} }
/**
*
* @param activityTeamInfoUpdModel
* @return
*/
public static ActivityTeamInfo activityTeamInfoUpdBulider(ActivityTeamInfoUpdModel activityTeamInfoUpdModel){
return ActivityTeamInfo.builder()
.id(activityTeamInfoUpdModel.getId())
.name(activityTeamInfoUpdModel.getName())
.productId(activityTeamInfoUpdModel.getProductId())
.productImage(activityTeamInfoUpdModel.getProductImage())
.introduction(activityTeamInfoUpdModel.getIntroduction())
.unit(activityTeamInfoUpdModel.getUnit())
.imageList(activityTeamInfoUpdModel.getImageList())
.endTime(activityTeamInfoUpdModel.getEndTime())
.sort(activityTeamInfoUpdModel.getSort())
.content(activityTeamInfoUpdModel.getContent())
.status(activityTeamInfoUpdModel.getStatus())
.strategyType(activityTeamInfoUpdModel.getStrategyType())
.strategyId(activityTeamInfoUpdModel.getStrategyId())
.build();
}
} }

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoUpdModel;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -57,11 +58,25 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
*/ */
public static ActivityTeamProductSkuInfo modelBuild(ActivityTeamProductSkuAddModel activityTeamProductSkuAddModel) { public static ActivityTeamProductSkuInfo modelBuild(ActivityTeamProductSkuAddModel activityTeamProductSkuAddModel) {
return ActivityTeamProductSkuInfo.builder() return ActivityTeamProductSkuInfo.builder()
.productId(activityTeamProductSkuAddModel.getProductId())
.teamId(activityTeamProductSkuAddModel.getTeamId()) .teamId(activityTeamProductSkuAddModel.getTeamId())
.productId(activityTeamProductSkuAddModel.getProductId())
.teamStock(activityTeamProductSkuAddModel.getTeamStock()) .teamStock(activityTeamProductSkuAddModel.getTeamStock())
.remainStock(activityTeamProductSkuAddModel.getTeamStock()) .remainStock(activityTeamProductSkuAddModel.getTeamStock())
.teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice())
.build(); .build();
} }
/**
* ActivityTeamProductSkuInfoUpdModel
* @param activityTeamProductSkuInfoUpdModel
* @return
*/
public static ActivityTeamProductSkuInfo ActivityTeamProductSkuInfoUpdBuilder(ActivityTeamProductSkuInfoUpdModel activityTeamProductSkuInfoUpdModel){
return ActivityTeamProductSkuInfo.builder()
.id(activityTeamProductSkuInfoUpdModel.getId())
.teamPrice(activityTeamProductSkuInfoUpdModel.getTeamPrice())
.teamStock(activityTeamProductSkuInfoUpdModel.getTeamStock())
.build();
}
} }

View File

@ -1,12 +1,17 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ActivityTeamInfoUpdRequest;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.Date; import java.util.Date;
import java.util.List;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@ -64,10 +69,28 @@ public class ActivityTeamInfoUpdModel {
* ID * ID
*/ */
private long strategyId; private long strategyId;
/** /**
* *
*/ */
private ActivityTeamProductSkuInfoUpdModel activityTeamProductSkuInfoUpdModel; private ActivityTeamProductSkuInfoAllUpdModel activityTeamProductSkuInfoAllUpdModel;
public static ActivityTeamInfoUpdModel ActivityTeamInfoUpdModelBulider(ActivityTeamInfoUpdRequest activityTeamInfoUpdRequest){
return ActivityTeamInfoUpdModel.builder()
.id(activityTeamInfoUpdRequest.getId())
.name(activityTeamInfoUpdRequest.getName())
.productId(activityTeamInfoUpdRequest.getProductId())
.productImage(activityTeamInfoUpdRequest.getProductImage())
.introduction(activityTeamInfoUpdRequest.getIntroduction())
.unit(activityTeamInfoUpdRequest.getUnit())
.imageList(activityTeamInfoUpdRequest.getImageList())
.endTime(activityTeamInfoUpdRequest.getEndTime())
.sort(activityTeamInfoUpdRequest.getSort())
.content(activityTeamInfoUpdRequest.getContent())
.status(activityTeamInfoUpdRequest.getStatus())
.strategyType(activityTeamInfoUpdRequest.getStrategyType())
.strategyId(activityTeamInfoUpdRequest.getStrategyId())
.activityTeamProductSkuInfoAllUpdModel(ActivityTeamProductSkuInfoAllUpdModel.activityTeamProductSkuInfoAllUpdModelBulider(activityTeamInfoUpdRequest.getActivityTeamProductSkuInfoAllUpdRequest()))
.build();
}
} }

View File

@ -12,7 +12,7 @@ import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
/** /**
* spu * SKU
* *
* @author DongZeLiang * @author DongZeLiang
* @date 2024-11-26 09:36 * @date 2024-11-26 09:36

View File

@ -0,0 +1,41 @@
package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ActivityTeamProductSkuInfoAllUpdRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductSkuInfoAllUpdModel {
/**
* SkU
*/
private List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList;
/**
* ID
*/
private List<Long> listId;
/**
*
*/
private List<ActivityTeamProductSkuInfoUpdModel> activityTeamProductSkuInfoUpdModelList;
public static ActivityTeamProductSkuInfoAllUpdModel activityTeamProductSkuInfoAllUpdModelBulider(ActivityTeamProductSkuInfoAllUpdRequest activityTeamProductSkuInfoAllUpdRequest){
return ActivityTeamProductSkuInfoAllUpdModel.builder()
.activityTeamProductSkuAddModelList(activityTeamProductSkuInfoAllUpdRequest.getActivityTeamProductSkuAddModelList())
.listId(activityTeamProductSkuInfoAllUpdRequest.getListId())
.activityTeamProductSkuInfoUpdModelList(activityTeamProductSkuInfoAllUpdRequest.getActivityTeamProductSkuInfoUpdModelList())
.build();
}
}

View File

@ -1,17 +1,31 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.List; import java.math.BigDecimal;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class ActivityTeamProductSkuInfoUpdModel { public class ActivityTeamProductSkuInfoUpdModel {
/**
* ID
*/
private long id;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
} }

View File

@ -0,0 +1,78 @@
package com.muyu.marketing.domain.req;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoAllUpdModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamInfoUpdRequest {
/**
*
*/
private long id;
/**
*
*/
private String name;
/**
* ID
*/
private long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
private Date endTime;
/**
*
*/
private long sort;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private long strategyId;
/**
*
*/
private ActivityTeamProductSkuInfoAllUpdRequest activityTeamProductSkuInfoAllUpdRequest;
}

View File

@ -0,0 +1,36 @@
package com.muyu.marketing.domain.req;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoUpdModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductSkuInfoAllUpdRequest {
/**
* SkU
*/
private List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList;
/**
* ID
*/
private List<Long> listId;
/**
*
*/
private List<ActivityTeamProductSkuInfoUpdModel> activityTeamProductSkuInfoUpdModelList;
}

View File

@ -7,7 +7,9 @@ import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoModel; import com.muyu.marketing.domain.model.ActivityTeamInfoModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel;
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
import com.muyu.marketing.domain.req.ActivityTeamInfoUpdRequest;
import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.req.TeamInfoListReq;
import com.muyu.marketing.domain.resp.ActivityTeamInfoResponse; import com.muyu.marketing.domain.resp.ActivityTeamInfoResponse;
import com.muyu.marketing.domain.resp.TeamInfoListResp; import com.muyu.marketing.domain.resp.TeamInfoListResp;
@ -60,13 +62,25 @@ public class ActivityTeamController {
} }
/** /**
* *
* @param id * @param id
* @return * @return
*/ */
@GetMapping("/Echo/{id}") @GetMapping("/detail/{id}")
public Result echo(@PathVariable Long id){ public Result echo(@PathVariable Long id){
ActivityTeamInfoResponse activityTeamInfoResponse = activityTeamInfoService.activityTeamInfoModel(id); ActivityTeamInfoResponse activityTeamInfoResponse = activityTeamInfoService.activityTeamInfoModel(id);
return Result.success(activityTeamInfoResponse); return Result.success(activityTeamInfoResponse);
} }
/**
*
* @param activityTeamInfoUpdRequest
* @return
*/
@PostMapping("/updateById")
public Result updateById(@RequestBody ActivityTeamInfoUpdRequest activityTeamInfoUpdRequest){
this.activityTeamInfoService.activityTeamInfoUpd(ActivityTeamInfoUpdModel.ActivityTeamInfoUpdModelBulider(activityTeamInfoUpdRequest));
return Result.success("修改成功");
}
} }

View File

@ -3,10 +3,7 @@ package com.muyu.marketing.team.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamInfo;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoModel;
import com.muyu.marketing.domain.resp.ActivityTeamInfoResponse; import com.muyu.marketing.domain.resp.ActivityTeamInfoResponse;
import java.util.List; import java.util.List;
@ -35,10 +32,12 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
*/ */
public ActivityTeamInfoResponse activityTeamInfoModel(Long id); public ActivityTeamInfoResponse activityTeamInfoModel(Long id);
/** /**
* *
* @param activityTeamInfoUpdModel
*/ */
public void updactivityTeamInfo(ActivityTeamInfoAddModel activityTeamInfoAddModel,Long id); public void activityTeamInfoUpd(ActivityTeamInfoUpdModel activityTeamInfoUpdModel);

View File

@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.TeamStrategyExemptionHundred; import com.muyu.marketing.domain.TeamStrategyExemptionHundred;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoModel;
import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel;
import com.muyu.marketing.domain.model.TeamProductStockModel;
import java.util.List; import java.util.List;
@ -50,4 +47,22 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
*/ */
public List<ActivityTeamProductSkuInfoModel> ActivityTeamProductSkuInfoModelList(Long teamId); public List<ActivityTeamProductSkuInfoModel> ActivityTeamProductSkuInfoModelList(Long teamId);
/**
*
* @param activityTeamProductSkuInfoUpdModelList
*/
public void activityTeamProductSkuInfoUpd(List<ActivityTeamProductSkuInfoUpdModel> activityTeamProductSkuInfoUpdModelList);
/**
*
* @param id
*/
public void activityTeamProductSkuInfoDel(List<Long> id);
// /**
// * 拼团活动规格添加
// */
// public void activityTeamProductSkuInfoAdd();
} }

View File

@ -104,10 +104,26 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
} }
@Override @Override
public void updactivityTeamInfo(ActivityTeamInfoAddModel activityTeamInfoAddModel,Long id) { public void activityTeamInfoUpd(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) {
this.updateById(ActivityTeamInfo.updModelBuild(activityTeamInfoAddModel,id));
this.updateById(ActivityTeamInfo.activityTeamInfoUpdBulider(activityTeamInfoUpdModel));
this.activityTeamProductSkuInfoService.activityTeamProductSkuInfoDel(activityTeamInfoUpdModel
.getActivityTeamProductSkuInfoAllUpdModel().getListId());
List<ActivityTeamProductSkuAddModel> teamProductSkuAddModelList =
activityTeamInfoUpdModel.getActivityTeamProductSkuInfoAllUpdModel().getActivityTeamProductSkuAddModelList();
teamProductSkuAddModelList.forEach(
activityTeamProductSkuAddModel -> activityTeamProductSkuAddModel.setTeamId(activityTeamInfoUpdModel.getId()));
this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList);
this.activityTeamProductSkuInfoService.activityTeamProductSkuInfoUpd(activityTeamInfoUpdModel
.getActivityTeamProductSkuInfoAllUpdModel().getActivityTeamProductSkuInfoUpdModelList());
} }
} }

View File

@ -1,13 +1,11 @@
package com.muyu.marketing.team.service.impl; package com.muyu.marketing.team.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.exception.ServiceException;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoModel;
import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel;
import com.muyu.marketing.domain.model.TeamProductStockModel;
import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper;
import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService;
import com.muyu.product.cache.ProjectSkuCache; import com.muyu.product.cache.ProjectSkuCache;
@ -78,9 +76,7 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
if (activityTeamProductSkuAddModelList == null || activityTeamProductSkuAddModelList.isEmpty()) { if (activityTeamProductSkuAddModelList == null || activityTeamProductSkuAddModelList.isEmpty()) {
throw new ServiceException("入参添加商品规格模型,不可为空"); throw new ServiceException("入参添加商品规格模型,不可为空");
} }
this.saveBatch( this.saveBatch(activityTeamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::modelBuild).toList());
activityTeamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::modelBuild).toList()
);
} }
@ -98,4 +94,26 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
// List<ActivityTeamProductSkuInfoModel> activityTeamProductSkuInfoModels = list.stream().map(ActivityTeamProductSkuInfoModel::reqSkuBulider).toList(); // List<ActivityTeamProductSkuInfoModel> activityTeamProductSkuInfoModels = list.stream().map(ActivityTeamProductSkuInfoModel::reqSkuBulider).toList();
// return activityTeamProductSkuInfoModels; // return activityTeamProductSkuInfoModels;
} }
@Override
public void activityTeamProductSkuInfoUpd(List<ActivityTeamProductSkuInfoUpdModel> activityTeamProductSkuInfoUpdModelList) {
List<ActivityTeamProductSkuInfo> list = activityTeamProductSkuInfoUpdModelList
.stream().map(ActivityTeamProductSkuInfo::ActivityTeamProductSkuInfoUpdBuilder)
.toList();
this.updateBatchById(list);
}
@Override
public void activityTeamProductSkuInfoDel(List<Long> id) {
this.removeBatchByIds(id);
}
// @Override
// public void activityTeamProductSkuInfoAdd() {
//
// }
} }