feat():团购活动修改方法实现

1127/wangzhuo
wangzhuo6666 2024-11-28 10:29:45 +08:00
parent d895935585
commit 184f3a5408
13 changed files with 425 additions and 10 deletions

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; 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.ActivityTeamEditModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamUpdModel; import com.muyu.marketing.domain.model.ActivityTeamUpdModel;
import lombok.*; import lombok.*;
@ -118,4 +119,26 @@ public class ActivityTeamInfo extends BaseEntity {
.strategyId(activityTeamUpdModel.getStrategyId()) .strategyId(activityTeamUpdModel.getStrategyId())
.build(); .build();
} }
public static ActivityTeamInfo updactivityTeamEditBuild(ActivityTeamEditModel activityTeamEditModel){
return ActivityTeamInfo.builder()
.id(activityTeamEditModel.getId())
.name(activityTeamEditModel.getName())
.productId(activityTeamEditModel.getProductId())
.productImage(activityTeamEditModel.getProductImage())
.introduction(activityTeamEditModel.getIntroduction())
.unit(activityTeamEditModel.getUnit())
.imageList(activityTeamEditModel.getImageList())
.endTime(activityTeamEditModel.getEndTime())
.sort(activityTeamEditModel.getSort())
.content(activityTeamEditModel.getContent())
.status(activityTeamEditModel.getStatus())
.strategyType(activityTeamEditModel.getStrategyType())
.strategyId(activityTeamEditModel.getStrategyId())
.build();
}
} }

View File

@ -6,6 +6,7 @@ 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.ActivityTeamProjectSkuInfoUpdModel; import com.muyu.marketing.domain.model.ActivityTeamProjectSkuInfoUpdModel;
import com.muyu.marketing.domain.model.ActivityTeamSkuUpdModel;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -27,7 +28,7 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
/** /**
* ID * ID
*/ */
private long teamId; private Long teamId;
/** /**
* ID * ID
*/ */
@ -59,6 +60,7 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
return ActivityTeamProductSkuInfo.builder() return ActivityTeamProductSkuInfo.builder()
.productId(activityTeamProductSkuAddModel.getProductId()) .productId(activityTeamProductSkuAddModel.getProductId())
.teamId(activityTeamProductSkuAddModel.getTeamId()) .teamId(activityTeamProductSkuAddModel.getTeamId())
.productSku(activityTeamProductSkuAddModel.getSku())
.teamStock(activityTeamProductSkuAddModel.getTeamStock()) .teamStock(activityTeamProductSkuAddModel.getTeamStock())
.remainStock(activityTeamProductSkuAddModel.getTeamStock()) .remainStock(activityTeamProductSkuAddModel.getTeamStock())
.teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice())
@ -80,4 +82,36 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
.teamPrice(activityTeamProjectSkuInfoUpdModel.getTeamPrice()) .teamPrice(activityTeamProjectSkuInfoUpdModel.getTeamPrice())
.build(); .build();
} }
/**
* Suk
*
* @param activityTeamSkuUpdModel
* @return
*/
public static ActivityTeamProductSkuInfo updSuk(ActivityTeamSkuUpdModel activityTeamSkuUpdModel) {
return ActivityTeamProductSkuInfo.builder()
.id(activityTeamSkuUpdModel.getId())
.teamPrice(activityTeamSkuUpdModel.getTeamPrice())
.teamStock(activityTeamSkuUpdModel.getTeamStock())
.build();
}
// /**
// * 批量添加suk信息
// *
// * @param activityTeamSkuAddModel
// * @return
// */
// public static ActivityTeamProductSkuInfo addBach(ActivityTeamSkuAddModel activityTeamSkuAddModel) {
// return ActivityTeamProductSkuInfo.builder()
// .teamId(activityTeamSkuAddModel.getTeamId())
// .productId(activityTeamSkuAddModel.getProductId())
// .productSku(activityTeamSkuAddModel.getProductSku())
// .teamStock(activityTeamSkuAddModel.getTeamStock())
// .teamPrice(activityTeamSkuAddModel.getTeamPrice())
// .build();
// }
} }

View File

@ -0,0 +1,38 @@
package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.AcitvityTeamProdectSkuReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*
* @author Wang
* @date 2024/11/27 16:33
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class AcitvityTeamProdectSkuModel {
private List<ActivityTeamProductSkuAddModel> productSkuAddModelList;
private List<Long> idList;
private List<ActivityTeamSkuUpdModel> teamSkuUpdModelList;
public static AcitvityTeamProdectSkuModel teamProdectSkuModel(AcitvityTeamProdectSkuReq acitvityTeamProdectSkuReq) {
return AcitvityTeamProdectSkuModel.builder()
.productSkuAddModelList(acitvityTeamProdectSkuReq.getActivityTeamProductSkuAddModelList())
.teamSkuUpdModelList(acitvityTeamProdectSkuReq.getActivityTeamSkuUpdModelList())
.idList(acitvityTeamProdectSkuReq.getIdList())
.build();
}
}

View File

@ -0,0 +1,105 @@
package com.muyu.marketing.domain.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.req.ActivityTeamEditReq;
import com.muyu.marketing.domain.req.ActivityTeamUpdReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ActivityTeamEditModel extends BaseEntity {
/**
* ID
*/
private Long id;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private Long sort;
/**
* SkU
*/
private AcitvityTeamProdectSkuModel acitvityTeamProdectSkuModel;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
public static ActivityTeamEditModel teamEditModel(ActivityTeamEditReq activityTeamEditReq){
return ActivityTeamEditModel.builder()
.id(activityTeamEditReq.getId())
.name(activityTeamEditReq.getName())
.productId(activityTeamEditReq.getProductId())
.productImage(activityTeamEditReq.getProductImage())
.introduction(activityTeamEditReq.getIntroduction())
.unit(activityTeamEditReq.getUnit())
.imageList(activityTeamEditReq.getImageList())
.endTime(activityTeamEditReq.getEndTime())
.sort(activityTeamEditReq.getSort())
.content(activityTeamEditReq.getContent())
.status(activityTeamEditReq.getStatus())
.strategyType(activityTeamEditReq.getStrategyType())
.strategyId(activityTeamEditReq.getStrategyId())
.acitvityTeamProdectSkuModel(AcitvityTeamProdectSkuModel.teamProdectSkuModel(activityTeamEditReq.getAcitvityTeamProdectSkuReq()))
.build();
}
}

View File

@ -48,8 +48,7 @@ public class ActivityTeamProductSkuAddModel {
private Long teamStock; private Long teamStock;
public static ActivityTeamProductSkuAddModel addReqBuild(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq, Supplier<Long> productId) {
public static ActivityTeamProductSkuAddModel addReqBuild(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq, Supplier<Long> productId){
return ActivityTeamProductSkuAddModel.builder() return ActivityTeamProductSkuAddModel.builder()
.productId(productId.get()) .productId(productId.get())
.sku(teamProjectSkuInfoAddReq.getSku()) .sku(teamProjectSkuInfoAddReq.getSku())

View File

@ -0,0 +1,47 @@
package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ActivityTeamProjectSkuInfoUpdReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
/**
*
*
* @author Wang
* @date 2024/11/27 15:01
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamSkuUpdModel {
/**
* id
*/
private Long id;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
public ActivityTeamSkuUpdModel teamSkuUpdModel(ActivityTeamProjectSkuInfoUpdReq activityTeamProjectSkuInfoUpdReq){
return ActivityTeamSkuUpdModel.builder()
.id(activityTeamProjectSkuInfoUpdReq.getId())
.teamPrice(activityTeamProjectSkuInfoUpdReq.getTeamPrice())
.teamStock(activityTeamProjectSkuInfoUpdReq.getTeamStock())
.build();
}
}

View File

@ -0,0 +1,31 @@
package com.muyu.marketing.domain.req;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamSkuUpdModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*
* @author Wang
* @date 2024/11/27 16:33
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class AcitvityTeamProdectSkuReq {
private List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList;
private List<Long> idList;
private List<ActivityTeamSkuUpdModel> activityTeamSkuUpdModelList;
}

View File

@ -0,0 +1,84 @@
package com.muyu.marketing.domain.req;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.model.AcitvityTeamProdectSkuModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ActivityTeamEditReq extends BaseEntity {
/**
* ID
*/
private Long id;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private Long sort;
/**
* SkU
*/
private AcitvityTeamProdectSkuReq acitvityTeamProdectSkuReq;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
}

View File

@ -3,10 +3,8 @@ package com.muyu.marketing.team.controller;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.model.ActivityTeamDetailModel; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.req.ActivityTeamEditReq;
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.model.ActivityTeamUpdModel;
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
import com.muyu.marketing.domain.req.ActivityTeamUpdReq; import com.muyu.marketing.domain.req.ActivityTeamUpdReq;
import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.req.TeamInfoListReq;
@ -70,6 +68,7 @@ public class ActivityTeamController {
/** /**
* *
*
* @param id id * @param id id
* @return * @return
*/ */
@ -88,5 +87,9 @@ public class ActivityTeamController {
return Result.success(); return Result.success();
} }
@PutMapping("/edit")
public Result edit(@RequestBody ActivityTeamEditReq activityTeamEditReq) {
activityTeamInfoService.editActivityTeam(ActivityTeamEditModel.teamEditModel(activityTeamEditReq));
return Result.success();
}
} }

View File

@ -32,4 +32,6 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
void UpdActivityTeam(ActivityTeamUpdModel activityTeamUpdModel); void UpdActivityTeam(ActivityTeamUpdModel activityTeamUpdModel);
void editActivityTeam(ActivityTeamEditModel activityTeamEditModel);
} }

View File

@ -47,4 +47,20 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
public boolean updBachSkuInfo(List<ActivityTeamProjectSkuInfoUpdModel> activityTeamProjectSkuInfoUpdModelList); public boolean updBachSkuInfo(List<ActivityTeamProjectSkuInfoUpdModel> activityTeamProjectSkuInfoUpdModelList);
/**
* Suk
* @param teamSkuUpdModelList
* @return
*/
public boolean updBachSkuList(List<ActivityTeamSkuUpdModel> teamSkuUpdModelList);
/**
* ID
*/
public boolean delAll(List<Long> ids);
} }

View File

@ -99,9 +99,19 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
@Override @Override
public void UpdActivityTeam(ActivityTeamUpdModel activityTeamUpdModel) { public void UpdActivityTeam(ActivityTeamUpdModel activityTeamUpdModel) {
boolean updateById = this.updateById(ActivityTeamInfo.updModelBuild(activityTeamUpdModel)); boolean updateById = this.updateById(ActivityTeamInfo.updModelBuild(activityTeamUpdModel));
Assert.isTrue(updateById,"修改失败"); Assert.isTrue(updateById, "修改失败");
activityTeamProductSkuInfoService.updBachSkuInfo(activityTeamUpdModel.getTeamProjectSkuInfoUpdModelList()); activityTeamProductSkuInfoService.updBachSkuInfo(activityTeamUpdModel.getTeamProjectSkuInfoUpdModelList());
} }
@Override
public void editActivityTeam(ActivityTeamEditModel activityTeamEditModel) {
this.updateById(ActivityTeamInfo.updactivityTeamEditBuild(activityTeamEditModel));
activityTeamProductSkuInfoService.delAll(activityTeamEditModel.getAcitvityTeamProdectSkuModel().getIdList());
List<ActivityTeamProductSkuAddModel> teamProductSkuAddModelList = activityTeamEditModel.getAcitvityTeamProdectSkuModel().getProductSkuAddModelList();
teamProductSkuAddModelList.forEach(activityTeamProductSkuAddModel -> activityTeamProductSkuAddModel.setTeamId(activityTeamEditModel.getId()));
this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList);
activityTeamProductSkuInfoService.updBachSkuList(activityTeamEditModel.getAcitvityTeamProdectSkuModel().getTeamSkuUpdModelList());
}
} }

View File

@ -87,4 +87,27 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
public boolean updBachSkuInfo(List<ActivityTeamProjectSkuInfoUpdModel> activityTeamProjectSkuInfoUpdModels) { public boolean updBachSkuInfo(List<ActivityTeamProjectSkuInfoUpdModel> activityTeamProjectSkuInfoUpdModels) {
return this.updateBatchById(activityTeamProjectSkuInfoUpdModels.stream().map(ActivityTeamProductSkuInfo::updModel).toList()); return this.updateBatchById(activityTeamProjectSkuInfoUpdModels.stream().map(ActivityTeamProductSkuInfo::updModel).toList());
} }
/**
* Suk
*
* @param teamSkuUpdModelList
* @return
*/
@Override
public boolean updBachSkuList(List<ActivityTeamSkuUpdModel> teamSkuUpdModelList) {
return this.updateBatchById(teamSkuUpdModelList.stream().map(ActivityTeamProductSkuInfo::updSuk).toList());
}
/**
* ID
*/
@Override
public boolean delAll(List<Long> ids) {
return this.removeByIds(ids);
}
} }