feat():修改

1127/mengfankuo
meng 2024-11-27 21:58:56 +08:00
parent e159986c50
commit 10d1a1aa25
20 changed files with 545 additions and 46 deletions

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.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoEditModel; import com.muyu.marketing.domain.model.ActivityTeamInfoEditModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -116,4 +117,25 @@ public class ActivityTeamInfo extends BaseEntity {
.sort(activityTeamInfoEditModel.getSort()) .sort(activityTeamInfoEditModel.getSort())
.build(); .build();
} }
/**
*
* @param activityTeamInfoUpdModel
*/
public static ActivityTeamInfo infoBuildModel(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) {
return ActivityTeamInfo.builder()
.name(activityTeamInfoUpdModel.getName())
.unit(activityTeamInfoUpdModel.getUnit())
.status(activityTeamInfoUpdModel.getStatus())
.productId(activityTeamInfoUpdModel.getProductId())
.strategyType(activityTeamInfoUpdModel.getStrategyType())
.strategyId(activityTeamInfoUpdModel.getStrategyId())
.productImage(activityTeamInfoUpdModel.getProductImage())
.introduction(activityTeamInfoUpdModel.getIntroduction())
.imageList(activityTeamInfoUpdModel.getImageList())
.endTime(activityTeamInfoUpdModel.getEndTime())
.id(activityTeamInfoUpdModel.getId())
.content(activityTeamInfoUpdModel.getContent())
.sort(activityTeamInfoUpdModel.getSort())
.build();
}
} }

View File

@ -6,11 +6,15 @@ 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.ActivityTeamProductSkuEditModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
import com.muyu.marketing.domain.model.ActivityTeamSkuAddModel;
import com.muyu.marketing.domain.req.ActivityTeamSkuReq;
import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail; import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
@Data @Data
@SuperBuilder @SuperBuilder
@ -78,5 +82,23 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
.productId(activityTeamProductSkuEditModel.getProductId()) .productId(activityTeamProductSkuEditModel.getProductId())
.build(); .build();
} }
public static ActivityTeamProductSkuInfo skuBuild(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel){
return ActivityTeamProductSkuInfo.builder()
.id(activityTeamProductSkuUpdModel.getId())
.teamPrice(activityTeamProductSkuUpdModel.getTeamPrice())
.remainStock(activityTeamProductSkuUpdModel.getTeamStock())
.teamStock(activityTeamProductSkuUpdModel.getTeamStock())
.build();
}
public static ActivityTeamProductSkuInfo skuBuildModel(ActivityTeamSkuAddModel activityTeamSkuAddModel){
return ActivityTeamProductSkuInfo.builder()
.productSku(activityTeamSkuAddModel.getSku())
.teamPrice(activityTeamSkuAddModel.getTeamPrice())
.remainStock(activityTeamSkuAddModel.getTeamStock())
.teamStock(activityTeamSkuAddModel.getTeamStock())
.productId(activityTeamSkuAddModel.getProductId())
.teamId(activityTeamSkuAddModel.getTeamId())
.build();
}
} }

View File

@ -3,7 +3,6 @@ package com.muyu.marketing.domain.model;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamInfo;
import com.muyu.marketing.domain.ActivityTeamOpenInfo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -14,16 +13,16 @@ import java.util.List;
/** /**
* @program: 2204a-cloud-server * @program: 2204a-cloud-server
* @description: * @description:
* @author: MengFanKuo * MengFanKuo
* @create: 2024-11-26 14:22 * 2024-11-26 14:22
* * * *
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
public class ActivityTeamInfoProductSkuDetailModel { public class ActivityTeamInfoDetailModel {
/** /**
* *
*/ */
@ -81,8 +80,9 @@ public class ActivityTeamInfoProductSkuDetailModel {
* *
*/ */
private List<ActivityTeamSkuInfoDetailModel> projectSkuInfoAddReqList; private List<ActivityTeamSkuInfoDetailModel> projectSkuInfoAddReqList;
public static ActivityTeamInfoProductSkuDetailModel skuInfoDetailBuild(ActivityTeamInfo activityTeamInfo, List<ActivityTeamSkuInfoDetailModel> infoServiceByListSkuInfo){
return ActivityTeamInfoProductSkuDetailModel.builder() public static ActivityTeamInfoDetailModel skuInfoDetailBuild(ActivityTeamInfo activityTeamInfo, List<ActivityTeamSkuInfoDetailModel> infoServiceByListSkuInfo){
return ActivityTeamInfoDetailModel.builder()
.id(activityTeamInfo.getId()) .id(activityTeamInfo.getId())
.name(activityTeamInfo.getName()) .name(activityTeamInfo.getName())
.productId(activityTeamInfo.getProductId()) .productId(activityTeamInfo.getProductId())
@ -98,4 +98,5 @@ public class ActivityTeamInfoProductSkuDetailModel {
.strategyType(activityTeamInfo.getStrategyType()) .strategyType(activityTeamInfo.getStrategyType())
.build(); .build();
} }
} }

View File

@ -0,0 +1,83 @@
package com.muyu.marketing.domain.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
* 2204a-cloud-server
*
* MengFanKuo
* 2024-11-26 14:22
* *
*/
@Data
@AllArgsConstructor
@SuperBuilder
@NoArgsConstructor
public class ActivityTeamInfoUpdModel {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
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 ActivityTeamSkuModel activityTeamSkuModel;
}

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq;
import com.muyu.marketing.domain.req.ProjectSkuInfoEditReq; import com.muyu.marketing.domain.req.ProjectSkuInfoEditReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -15,7 +14,7 @@ import java.util.function.Supplier;
* spu * spu
* *
* @author DongZeLiang * @author DongZeLiang
* @date 2024-11-26 09:36 * 2024-11-26 09:36
*/ */
@Data @Data
@Builder @Builder

View File

@ -0,0 +1,35 @@
package com.muyu.marketing.domain.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
/**
* sku
* MengFanKuo
* 2024-11-27 15:28
* *
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class ActivityTeamProductSkuUpdModel {
/**
* id
*/
private Long id;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
}

View File

@ -0,0 +1,46 @@
package com.muyu.marketing.domain.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
/**
* sku
* MengFanKuo
* 2024-11-27 15:30
* *
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityTeamSkuAddModel {
/**
* ID
*/
private long teamId;
/**
* ID
*/
private Long productId;
/**
* sku
*/
private String sku;
/**
*
*/
private BigDecimal productPrice;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
}

View File

@ -0,0 +1,33 @@
package com.muyu.marketing.domain.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
* MengFanKuo
* 2024-11-27 15:32
* *
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityTeamSkuModel {
/**
*
*/
private List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList;
/**
* id
*/
private List<Long> skuIds;
/**
*
*/
private List<ActivityTeamSkuAddModel> activityTeamSkuAddModelList;
}

View File

@ -75,14 +75,14 @@ public class ActivityTeamInfoSaveReq extends BaseEntity {
/** /**
* *
* @return *
*/ */
public ActivityTeamInfoAddModel activityTeamInfoReqBuild(){ public ActivityTeamInfoAddModel activityTeamInfoReqBuild(){
return ActivityTeamInfoAddModel.builder() return ActivityTeamInfoAddModel.builder()
.unit(this.unit) .unit(this.unit)
.activityTeamProductSkuAddModelList( .activityTeamProductSkuAddModelList(
this.projectSkuInfoAddReqList.stream().map(projectSkuInfoAddReq -> { this.teamProjectSkuInfoAddReqList.stream().map(projectSkuInfoAddReq -> {
return ActivityTeamProductSkuAddModel.teamProductSkuAddBuild(projectSkuInfoAddReq,()->productId); return ActivityTeamProductSkuAddModel.addReqBuild(projectSkuInfoAddReq,()->productId);
}).toList()) }).toList())
.strategyType(this.strategyType) .strategyType(this.strategyType)
.status(this.status) .status(this.status)

View File

@ -0,0 +1,79 @@
package com.muyu.marketing.domain.req;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
* 2024-11-26 14:22
* *
*/
@Data
@AllArgsConstructor
@SuperBuilder
@NoArgsConstructor
public class ActivityTeamInfoUpdReq {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
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 ActivityTeamSkuReq activityTeamSkuReq;
}

View File

@ -0,0 +1,47 @@
package com.muyu.marketing.domain.req;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
/**
* sku
* MengFanKuo
* 2024-11-27 15:30
* *
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityTeamSkuAddReq {
/**
* ID
*/
private long teamId;
/**
* ID
*/
private Long productId;
/**
* sku
*/
private String sku;
/**
*
*/
private BigDecimal productPrice;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
}

View File

@ -0,0 +1,36 @@
package com.muyu.marketing.domain.req;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
import com.muyu.marketing.domain.model.ActivityTeamSkuAddModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*
* MengFanKuo
* 2024-11-27 15:32
* *
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityTeamSkuReq {
/**
*
*/
private List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList;
/**
* id
*/
private List<Long> skuIds;
/**
*
*/
private List<ActivityTeamSkuAddModel> activityTeamSkuAddModelList;
}

View File

@ -0,0 +1,32 @@
package com.muyu.marketing.domain.req;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
/**
*
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class ProjectSkuInfoUpdReq {
/**
* id
*/
private Long productSkuId;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
}

View File

@ -2,7 +2,7 @@ package com.muyu.marketing.domain.resp;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel; import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -14,8 +14,8 @@ import java.util.List;
/** /**
* @program: 2204a-cloud-server * @program: 2204a-cloud-server
* @description: * @description:
* @author: MengFanKuo * MengFanKuo
* @create: 2024-11-26 14:22 * 2024-11-26 14:22
* * * *
*/ */
@Data @Data
@ -76,23 +76,23 @@ public class ActivityTeamInfoProductSkuDetailResp {
* *
*/ */
private List<ActivityTeamSkuInfoDetail> projectSkuInfoEachRespList; private List<ActivityTeamSkuInfoDetail> projectSkuInfoEachRespList;
public static ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild(ActivityTeamInfoProductSkuDetailModel activityTeamInfoProductSkuDetailModel){ public static ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild(ActivityTeamInfoDetailModel activityTeamInfoDetailModel){
return ActivityTeamInfoProductSkuDetailResp.builder() return ActivityTeamInfoProductSkuDetailResp.builder()
.id(activityTeamInfoProductSkuDetailModel.getId()) .id(activityTeamInfoDetailModel.getId())
.productImage(activityTeamInfoProductSkuDetailModel.getProductImage()) .productImage(activityTeamInfoDetailModel.getProductImage())
.productId(activityTeamInfoProductSkuDetailModel.getProductId()) .productId(activityTeamInfoDetailModel.getProductId())
.name(activityTeamInfoProductSkuDetailModel.getName()) .name(activityTeamInfoDetailModel.getName())
.endTime(activityTeamInfoProductSkuDetailModel.getEndTime()) .endTime(activityTeamInfoDetailModel.getEndTime())
.content(activityTeamInfoProductSkuDetailModel.getContent()) .content(activityTeamInfoDetailModel.getContent())
.imageList(activityTeamInfoProductSkuDetailModel.getImageList()) .imageList(activityTeamInfoDetailModel.getImageList())
.introduction(activityTeamInfoProductSkuDetailModel.getIntroduction()) .introduction(activityTeamInfoDetailModel.getIntroduction())
.projectSkuInfoEachRespList(activityTeamInfoProductSkuDetailModel.getProjectSkuInfoAddReqList().stream().map(activityTeamSkuInfoDetailModel -> { .projectSkuInfoEachRespList(activityTeamInfoDetailModel.getProjectSkuInfoAddReqList().stream().map(activityTeamSkuInfoDetailModel -> {
return ActivityTeamSkuInfoDetail.infoDetailBuild(activityTeamSkuInfoDetailModel); return ActivityTeamSkuInfoDetail.infoDetailBuild(activityTeamSkuInfoDetailModel);
}).toList()) }).toList())
.sort(activityTeamInfoProductSkuDetailModel.getSort()) .sort(activityTeamInfoDetailModel.getSort())
.strategyId(activityTeamInfoProductSkuDetailModel.getStrategyId()) .strategyId(activityTeamInfoDetailModel.getStrategyId())
.strategyType(activityTeamInfoProductSkuDetailModel.getStrategyType()) .strategyType(activityTeamInfoDetailModel.getStrategyType())
.unit(activityTeamInfoProductSkuDetailModel.getUnit()) .unit(activityTeamInfoDetailModel.getUnit())
.build(); .build();
} }
} }

View File

@ -1,7 +1,5 @@
package com.muyu.marketing.domain.resp; package com.muyu.marketing.domain.resp;
import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel;
import com.muyu.marketing.domain.model.ActivityTeamSkuInfoDetailModel; import com.muyu.marketing.domain.model.ActivityTeamSkuInfoDetailModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -13,8 +11,8 @@ import java.math.BigDecimal;
/** /**
* @program: 2204a-cloud-server * @program: 2204a-cloud-server
* @description: * @description:
* @author: MengFanKuo * MengFanKuo
* @create: 2024-11-26 15:20 * 2024-11-26 15:20
* * * *
*/ */
@Data @Data

View File

@ -4,7 +4,7 @@ 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.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel; import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel;
import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq; import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq;
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.req.TeamInfoListReq;
@ -20,14 +20,14 @@ import java.util.List;
* *
* *
* @author DongZeLiang * @author DongZeLiang
* @date 2024-11-20 14:25 * 2024-11-20 14:25
*/ */
@RestController @RestController
@RequestMapping("/team") @RequestMapping("/team")
public class ActivityTeamController { public class ActivityTeamController {
@Autowired @Autowired
private ActivityTeamInfoService activityTeamInfoService;; private ActivityTeamInfoService activityTeamInfoService;
/** /**
* *
@ -57,7 +57,7 @@ public class ActivityTeamController {
*/ */
@GetMapping("/inquireActivityTeam/{id}") @GetMapping("/inquireActivityTeam/{id}")
public Result<ActivityTeamInfoProductSkuDetailResp> inquireActivityTeam(@PathVariable("id") Long id){ public Result<ActivityTeamInfoProductSkuDetailResp> inquireActivityTeam(@PathVariable("id") Long id){
ActivityTeamInfoProductSkuDetailModel detailModel = activityTeamInfoService.echo(id); ActivityTeamInfoDetailModel detailModel = activityTeamInfoService.echo(id);
ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild = ActivityTeamInfoProductSkuDetailResp.productSkuDetailBuild(detailModel); ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild = ActivityTeamInfoProductSkuDetailResp.productSkuDetailBuild(detailModel);
return Result.success(productSkuDetailBuild); return Result.success(productSkuDetailBuild);
} }

View File

@ -4,9 +4,6 @@ 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.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq;
import java.util.List;
public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> { public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
@ -26,12 +23,15 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
/** /**
* id * id
*/ */
public ActivityTeamInfoProductSkuDetailModel echo(Long id); public ActivityTeamInfoDetailModel echo(Long id);
/** /**
* *
* @param activityTeamInfoEditModel * @param activityTeamInfoEditModel
*/ */
void edit(ActivityTeamInfoEditModel activityTeamInfoEditModel); void edit(ActivityTeamInfoEditModel activityTeamInfoEditModel);
/**
*
*/
public void upd(ActivityTeamInfoUpdModel activityTeamInfoUpdModel);
} }

View File

@ -4,6 +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.model.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.ActivityTeamSkuReq;
import java.util.List; import java.util.List;
@ -41,5 +42,16 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
* @param activityTeamProductSkuEditModelList * @param activityTeamProductSkuEditModelList
*/ */
void editSku(List<ActivityTeamProductSkuEditModel> activityTeamProductSkuEditModelList); void editSku(List<ActivityTeamProductSkuEditModel> activityTeamProductSkuEditModelList);
/**
* sku
*/
public void batchUpd(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList);
/**
* sku
*/
public void batchDel(List<Long> ids);
/**
* sku
*/
public void batchAdd(List<ActivityTeamSkuAddModel> activityTeamSkuAddModelList);
} }

View File

@ -3,16 +3,20 @@ 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.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
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.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq;
import com.muyu.marketing.domain.req.ProjectSkuInfoUpdReq;
import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper;
import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamInfoService;
import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import com.muyu.marketing.team.service.ActivityTeamOpenInfoService;
import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.util.List; import java.util.List;
@ -82,10 +86,10 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
* id * id
*/ */
@Override @Override
public ActivityTeamInfoProductSkuDetailModel echo(Long id) { public ActivityTeamInfoDetailModel echo(Long id) {
ActivityTeamInfo activityTeamInfo = this.getById(id); ActivityTeamInfo activityTeamInfo = this.getById(id);
List<ActivityTeamSkuInfoDetailModel> infoServiceByListSkuInfo = activityTeamProductSkuInfoService.findByListSkuInfo(id); List<ActivityTeamSkuInfoDetailModel> infoServiceByListSkuInfo = activityTeamProductSkuInfoService.findByListSkuInfo(id);
return ActivityTeamInfoProductSkuDetailModel.skuInfoDetailBuild(activityTeamInfo,infoServiceByListSkuInfo); return ActivityTeamInfoDetailModel.skuInfoDetailBuild(activityTeamInfo,infoServiceByListSkuInfo);
} }
/** /**
@ -104,4 +108,22 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
}); });
activityTeamProductSkuInfoService.editSku(activityTeamProductSkuEditModelList); activityTeamProductSkuInfoService.editSku(activityTeamProductSkuEditModelList);
} }
/**
*
* @param activityTeamInfoUpdModel
*/
@Transactional
@Override
public void upd(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) {
if ("N".equals(activityTeamInfoUpdModel.getStatus())){
this.updateById(ActivityTeamInfo.infoBuildModel(activityTeamInfoUpdModel));
ActivityTeamSkuModel activityTeamSkuModel = activityTeamInfoUpdModel.getActivityTeamSkuModel();
List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList = activityTeamSkuModel.getActivityTeamProductSkuUpdModelList();
activityTeamProductSkuInfoService.batchUpd(activityTeamProductSkuUpdModelList);
activityTeamProductSkuInfoService.batchDel(activityTeamSkuModel.getSkuIds());
activityTeamProductSkuInfoService.batchAdd(activityTeamSkuModel.getActivityTeamSkuAddModelList());
}else {
throw new ServiceException("拼团商品状态为活动中不可修改");
}
}
} }

View File

@ -5,6 +5,8 @@ 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.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.ActivityTeamSkuAddReq;
import com.muyu.marketing.domain.req.ActivityTeamSkuReq;
import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail; import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail;
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;
@ -40,7 +42,6 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
ProjectSkuInfo projectSkuInfo = projectSkuCache.get(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku()); ProjectSkuInfo projectSkuInfo = projectSkuCache.get(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku());
return TeamProductDiscountPriceModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); return TeamProductDiscountPriceModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice());
}).min((o1, o2) -> Double.valueOf(o1.getDiscount() * 100 - o2.getDiscount() * 100).intValue()); }).min((o1, o2) -> Double.valueOf(o1.getDiscount() * 100 - o2.getDiscount() * 100).intValue());
if (discountPriceModelOptional.isEmpty()){ if (discountPriceModelOptional.isEmpty()){
throw new ServiceException("团购活动下没有商品绑定"); throw new ServiceException("团购活动下没有商品绑定");
} }
@ -102,4 +103,35 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
}).toList(); }).toList();
this.updateBatchById(activityTeamProductSkuInfoList); this.updateBatchById(activityTeamProductSkuInfoList);
} }
/**
* sku
* @param activityTeamProductSkuUpdModelList sku
*/
@Override
public void batchUpd(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList) {
List<ActivityTeamProductSkuInfo> productSkuInfoList = activityTeamProductSkuUpdModelList.stream().map(activityTeamProductSkuUpdModel -> {
return ActivityTeamProductSkuInfo.skuBuild(activityTeamProductSkuUpdModel);
}).toList();
this.updateBatchById(productSkuInfoList);
}
/**
* sku
* @param ids
*/
@Override
public void batchDel(List<Long> ids) {
this.removeBatchByIds(ids);
}
/**
* sku
* @param activityTeamSkuAddModelList
*/
@Override
public void batchAdd(List<ActivityTeamSkuAddModel> activityTeamSkuAddModelList) {
List<ActivityTeamProductSkuInfo> activityTeamProductSkuInfoList = activityTeamSkuAddModelList.stream().map(activityTeamSkuAddModel -> {
return ActivityTeamProductSkuInfo.skuBuildModel(activityTeamSkuAddModel);
}).toList();
this.saveBatch(activityTeamProductSkuInfoList);
}
} }