Compare commits

...

1 Commits

Author SHA1 Message Date
sly 4a17fc7227 团购活动修改 2024-11-28 02:26:45 +08:00
26 changed files with 305 additions and 78 deletions

View File

@ -0,0 +1,28 @@
{
"id":"Long",
"团购名称":"String",
"团购商品ID":"Long",
"团购商品图片":"String",
"团购商品简介":"Text",
"策略id":"Long",
"策略类型":"String",
"结束时间":"Date",
"状态":"String",
"轮播图集合":
[
"图片":"String"
]
"商品规格集合":
[
"商品规格":
{
"id":"Long",
"规格" :"String",
// "拼团价格":"Decimal",
// "拼团库存":"Long",
"价格变化值":"Decimal",
"库存变化值":"Long"
}
]
"团购规格ID集合"
}

View File

@ -21,7 +21,6 @@
],
"删除商品规格IdList" : ["Long", "Long"],
"添加商品规格List": [
"商品SKU": "String",
"商品价格": "BigDecimal",
"拼团价格": "BigDecimal",
"拼团库存": "Long"

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置
@ -33,7 +33,7 @@ spring:
datasource:
ds1:
nacos:
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
dataId: sentinel-muyu-gateway
groupId: DEFAULT_GROUP
data-type: json

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -32,11 +32,11 @@ public class ActivityTeamInfo extends BaseEntity {
/**
* ID
*/
private long productId;
private long projectId;
/**
*
*/
private String productImage;
private String projectImage;
/**
*
*/
@ -82,8 +82,8 @@ public class ActivityTeamInfo extends BaseEntity {
public static ActivityTeamInfo addModelBuild(ActivityTeamInfoAddModel activityTeamInfoAddModel){
return ActivityTeamInfo.builder()
.name(activityTeamInfoAddModel.getName())
.productId(activityTeamInfoAddModel.getProductId())
.productImage(activityTeamInfoAddModel.getProductImage())
.projectId(activityTeamInfoAddModel.getProductId())
.projectImage(activityTeamInfoAddModel.getProductImage())
.introduction(activityTeamInfoAddModel.getIntroduction())
.unit(activityTeamInfoAddModel.getUnit())
.imageList(activityTeamInfoAddModel.getImageList())
@ -99,8 +99,8 @@ public class ActivityTeamInfo extends BaseEntity {
public static ActivityTeamInfo teamSaveBuild(ActivityTeamInfoSaveModel activityTeamInfoSaveModel) {
return ActivityTeamInfo.builder()
.name(activityTeamInfoSaveModel.getName())
.productId(activityTeamInfoSaveModel.getProductId())
.productImage(activityTeamInfoSaveModel.getProductImage())
.projectId(activityTeamInfoSaveModel.getProductId())
.projectImage(activityTeamInfoSaveModel.getProductImage())
.introduction(activityTeamInfoSaveModel.getIntroduction())
.unit(activityTeamInfoSaveModel.getUnit())
.imageList(activityTeamInfoSaveModel.getImageList())
@ -116,8 +116,8 @@ public class ActivityTeamInfo extends BaseEntity {
return ActivityTeamInfo.builder()
.id(activityTeamInfoUpdModel.getId())
.name(activityTeamInfoUpdModel.getName())
.productId(activityTeamInfoUpdModel.getProductId())
.productImage(activityTeamInfoUpdModel.getProductImage())
.projectId(activityTeamInfoUpdModel.getProductId())
.projectImage(activityTeamInfoUpdModel.getProductImage())
.introduction(activityTeamInfoUpdModel.getIntroduction())
.unit(activityTeamInfoUpdModel.getUnit())
.imageList(activityTeamInfoUpdModel.getImageList())

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuReqModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
import lombok.*;
import lombok.experimental.SuperBuilder;
@ -74,4 +75,12 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
.build();
}
public static ActivityTeamProductSkuInfo updateModelBuild(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) {
return ActivityTeamProductSkuInfo.builder()
.id(activityTeamProductSkuUpdModel.getId())
.teamPrice(activityTeamProductSkuUpdModel.getTeamPrice())
.teamStock(activityTeamProductSkuUpdModel.getTeamStock())
.build();
}
}

View File

@ -86,8 +86,8 @@ public class ActivityTeamDetailModel {
return function.apply(ActivityTeamDetailModel.builder()
.id(activityTeamInfo.getId())
.name(activityTeamInfo.getName())
.productId(activityTeamInfo.getProductId())
.productImage(activityTeamInfo.getProductImage())
.productId(activityTeamInfo.getProjectId())
.productImage(activityTeamInfo.getProjectImage())
.introduction(activityTeamInfo.getIntroduction())
.unit(activityTeamInfo.getUnit())
.imageList(activityTeamInfo.getImageList())

View File

@ -58,7 +58,7 @@ public class ActivityTeamInfoAddModel {
/**
*
*/
private Integer sort;
private Long sort;
/**
* SkU
*/

View File

@ -79,7 +79,7 @@ public class ActivityTeamInfoListModel {
// .addTeamNumber(teamInTypeNumber)
// .attendNumber(teamOpenTypeNumber + teamInTypeNumber)
.endTime(activityTeamInfo.getEndTime())
.productImage(activityTeamInfo.getProductImage())
.productImage(activityTeamInfo.getProjectImage())
// .teamPrice(discountPrice.getTeamPrice())
// .productPrice(discountPrice.getProductPrice())
// .teamStock(teamProductStockModel.getTeamStock())
@ -91,7 +91,7 @@ public class ActivityTeamInfoListModel {
.id(activityTeamInfo.getId())
.name(activityTeamInfo.getName())
.endTime(activityTeamInfo.getEndTime())
.productImage(activityTeamInfo.getProductImage())
.productImage(activityTeamInfo.getProjectImage())
.status(activityTeamInfo.getStatus())
);
}

View File

@ -1,56 +1,125 @@
package com.muyu.marketing.domain.model;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.ActivityTeamInfo;
import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
/**
* @program: 2204a-cloud-server
* @description:
* @author: AoCi Tian
* @create: 2024-11-26 19:25
**/
*
*
* @author SunLY
* @version 1.0
* @date 2024/11/27 17:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@AllArgsConstructor
@SuperBuilder
public class ActivityTeamInfoUpdModel {
/**
* ID
*/
private Long id;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String productName;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private Long sort;
/**
*
*/
private String content;
/**
*
*/
private String status;
private String strategyType;
/**
* ID
*/
private Long strategyId;
private List<ActivityTeamProductSkuReqModel> activityTeamProductSkuModelList;
/**
*
*/
private String strategyType;
/**
* list
*/
private List<ActivityTeamProductSkuUpdModel> TeamProductSkuUpdList;
public static ActivityTeamInfoUpdModel activityTeamInfoUpdReqModelBuild (ActivityTeamInfoUpdReq activityTeamInfoUpdReq){
/**
* IDList
*/
private List<Long> TeamProductSkuDelList;
/**
*
*/
private List<ActivityTeamProductSkuAddModel> TeamProductSkuAddList;
public static ActivityTeamInfoUpdModel buildModel(ActivityTeamInfoUpdReq activityTeamInfoUpdReq) {
return ActivityTeamInfoUpdModel.builder()
.id(activityTeamInfoUpdReq.getId())
.name(activityTeamInfoUpdReq.getName())
.productId(activityTeamInfoUpdReq.getProductId())
.productImage(activityTeamInfoUpdReq.getProductImage())
.productName(activityTeamInfoUpdReq.getProductName())
.introduction(activityTeamInfoUpdReq.getIntroduction())
.unit(activityTeamInfoUpdReq.getUnit())
.imageList(activityTeamInfoUpdReq.getImageList())
.imageList(activityTeamInfoUpdReq.getImageList())
.endTime(activityTeamInfoUpdReq.getEndTime())
.strategyId(activityTeamInfoUpdReq.getStrategyId())
.strategyType(activityTeamInfoUpdReq.getStrategyType())
.sort(activityTeamInfoUpdReq.getSort())
.content(activityTeamInfoUpdReq.getContent())
.status(activityTeamInfoUpdReq.getStatus())
.strategyType(activityTeamInfoUpdReq.getStrategyType())
.strategyId(activityTeamInfoUpdReq.getStrategyId())
.activityTeamProductSkuModelList(activityTeamInfoUpdReq.getActivityTeamProductSkuList().stream().map(ActivityTeamProductSkuReqModel::activityTeamProductSkuReqModelBuild).toList())
.TeamProductSkuAddList(activityTeamInfoUpdReq.getTeamProductSkuAddList())
.TeamProductSkuDelList(activityTeamInfoUpdReq.getTeamProductSkuDelList())
.TeamProductSkuUpdList(activityTeamInfoUpdReq.getTeamProductSkuUpdList())
.build();
}
}

View File

@ -51,7 +51,7 @@ public class ActivityTeamInfoSaveReq extends BaseEntity {
/**
*
*/
private Integer sort;
private Long sort;
/**
* SkU
*/

View File

@ -1,5 +1,8 @@
package com.muyu.marketing.domain.req;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -19,18 +22,75 @@ import java.util.List;
@NoArgsConstructor
@Builder
public class ActivityTeamInfoUpdReq {
/**
* ID
*/
private Long id;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String productName;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private Long sort;
/**
*
*/
private String content;
/**
*
*/
private String status;
private String strategyType;
/**
* ID
*/
private Long strategyId;
private List<ActivityTeamProductSkuReq> activityTeamProductSkuList;
/**
*
*/
private String strategyType;
/**
* list
*/
private List<ActivityTeamProductSkuUpdModel> TeamProductSkuUpdList;
/**
* IDList
*/
private List<Long> TeamProductSkuDelList;
/**
*
*/
private List<ActivityTeamProductSkuAddModel> TeamProductSkuAddList;
}

View File

@ -2,7 +2,7 @@ package com.muyu.marketing.domain.resp;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.model.ActivityTeamDetailModel;
import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

View File

@ -59,13 +59,24 @@ public class ActivityTeamController {
return Result.success();
}
/**
* id
* @param id
* @return
*/
@PostMapping("/findById/{id}")
public Result<TeamInfoFindByIdResp> findTeamById(@PathVariable Long id){
return Result.success(TeamInfoFindByIdResp.teamInfoFindByIdBuild(activityTeamInfoService.findDetailById(id)));
}
@PutMapping("/updateByTeamId")
/**
*
* @param
* @return
*/
@PostMapping("/updateByTeamId")
public Result updateByTeamId(@RequestBody ActivityTeamInfoUpdReq activityTeamInfoUpdReq){
activityTeamInfoService.update(ActivityTeamInfoUpdModel.activityTeamInfoUpdReqModelBuild(activityTeamInfoUpdReq));
activityTeamInfoService.updateByTeamId(ActivityTeamInfoUpdModel.buildModel(activityTeamInfoUpdReq));
return Result.success();
}
}

View File

@ -28,12 +28,9 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
*/
ActivityTeamDetailModel findDetailById(Long id);
/**
*
* @param activityTeamInfoUpdModel
* @return
*/
boolean update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel);
public boolean updateByTeamId(ActivityTeamInfoUpdModel activityTeamInfoUpdModel);
}

View File

@ -34,7 +34,7 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
/**
* SKU
* SKU
* @param activityTeamProductSkuAddModelList SKU
*/
public void batchSave(List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList);
@ -46,6 +46,25 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
*/
public List<ActivityTeamProductSkuModel> findListByTeamId(Long teamId);
public boolean updateBath(List<ActivityTeamProductSkuReqModel> activityTeamProductSkuReqModelList);
/**
* SKU
* @param activityTeamProductSkuUpdModel SKU
* @return
*/
public boolean updateTeamProductSku(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel);
/**
* SKU
* @param activityTeamProductSkuUpdModels
* @return
*/
public boolean updateTeamProductSkuList(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModels);
/**
* SKU
* @param productSkuIdList
* @return
*/
public boolean deleteTeamProductSkuList(List<Long> productSkuIdList);
}

View File

@ -1,6 +1,7 @@
package com.muyu.marketing.team.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.utils.StringUtils;
@ -93,16 +94,27 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
);
}
/**
*
* @param activityTeamInfoUpdModel
* @return
*/
@Override
public boolean update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) {
boolean update = this.updateById(ActivityTeamInfo.TeamUpdateBuild(activityTeamInfoUpdModel));
io.jsonwebtoken.lang.Assert.isTrue(update,"修改失败");
activityTeamProductSkuInfoService.updateBath(activityTeamInfoUpdModel.getActivityTeamProductSkuModelList());
return update;
public boolean updateByTeamId(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) {
ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.TeamUpdateBuild(activityTeamInfoUpdModel);
this.updateById(activityTeamInfo);
activityTeamProductSkuInfoService.deleteTeamProductSkuList(
activityTeamInfoUpdModel.getTeamProductSkuDelList()
);
activityTeamProductSkuInfoService.batchSave(
activityTeamInfoUpdModel.getTeamProductSkuAddList()
);
activityTeamProductSkuInfoService.updateTeamProductSkuList(
activityTeamInfoUpdModel.getTeamProductSkuUpdList()
);
return false;
}
}

View File

@ -1,6 +1,7 @@
package com.muyu.marketing.team.service.impl;
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.muyu.common.core.exception.ServiceException;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
@ -19,6 +20,7 @@ import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@Service
public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityTeamProductSkuInfoMapper, ActivityTeamProductSkuInfo>
@ -95,9 +97,30 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
// return list.stream().map(activityTeamProductSkuInfo -> ActivityTeamProductSkuModel.FindBuild(activityTeamProductSkuInfo)).toList();
}
@Transactional
@Override
public boolean updateBath(List<ActivityTeamProductSkuReqModel> activityTeamProductSkuReqModelList) {
return this.updateBatchById(activityTeamProductSkuReqModelList.stream().map(ActivityTeamProductSkuInfo::updateModelBuild).toList());
public boolean updateTeamProductSku(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) {
LambdaUpdateWrapper<ActivityTeamProductSkuInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice, activityTeamProductSkuUpdModel.getTeamPrice());
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock, activityTeamProductSkuUpdModel.getTeamStock());
updateWrapper.set(ActivityTeamProductSkuInfo::getRemainStock, activityTeamProductSkuUpdModel.getTeamStock());
updateWrapper.eq(ActivityTeamProductSkuInfo::getId, activityTeamProductSkuUpdModel.getId());
return this.update(updateWrapper);
}
@Override
public boolean updateTeamProductSkuList(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList) {
return this.updateBatchById(
activityTeamProductSkuUpdModelList.stream().
map(ActivityTeamProductSkuInfo::updateModelBuild)
.collect(Collectors.toList())
);
}
@Override
public boolean deleteTeamProductSkuList(List<Long> productSkuIdList) {
return removeBatchByIds(productSkuIdList);
}
}

View File

@ -6,7 +6,7 @@ server:
spring:
application:
# 应用名称
name: muyu-buy
name: muyu-marketing
profiles:
# 环境配置
active: dev
@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -16,10 +16,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
config:
# 配置中心地址
server-addr: 120.46.147.226:8848
server-addr: 121.37.131.224:8848
# 配置文件格式
file-extension: yml
# 共享配置