批量添加,删除,修改

1127/shangzhihao
尚志豪123 2024-11-28 15:37:24 +08:00
parent 47def732f2
commit 6301303502
24 changed files with 425 additions and 35 deletions

View File

@ -30,3 +30,38 @@
"详情": "String"
}
{
"id": "Long",//活动ID
"productId": "Long",//商品ID
"name": "String",//活动名称
"pname": "String",//商品名称
"productImage": "String",//商品图片
"introduction": "String",//活动简介
"unit": "String",//商品单位
"imageList": [//商品的轮播图
"String", "String"
],
"endTime": "date",//活动时间
"strategyType": "String",//策略类型
"ActivityTeamProductSkuUpdDelAddModel": {// 商品规格
"ActivityTeamProductSkuUpdListModel": [ // 修改商品规格List
{
"id": "Long",//团购规格ID
"teamPrice": "BigDecimal",//拼团价格
"teamStock": "Long"//拼团库存
}
],
"ActivityTeamProductSkuDelListModel" : ["id", "id"],//删除商品规格IdList
"ActivityTeamProductSkuAddListModel": [//添加商品规格List
{
"sku": "String",//商品SKU
"productPrice": "BigDecimal",//商品价格
"teamPrice": "BigDecimal",//拼团价格
"teamStock": "Long"// 拼团库存
}
]
},
"content": "String"//详情
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
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.ActivityTeamProductSkuModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuReqModel;
import lombok.*;
import lombok.experimental.SuperBuilder;
@ -73,4 +74,13 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
.build();
}
public static ActivityTeamProductSkuInfo updModelBuild(ActivityTeamProductSkuModel activityTeamProductSkuModel){
return ActivityTeamProductSkuInfo.builder()
.id(activityTeamProductSkuModel.getId())
.teamPrice(activityTeamProductSkuModel.getTeamPrice())
.teamStock(activityTeamProductSkuModel.getTeamStock())
.remainStock(activityTeamProductSkuModel.getTeamStock())
.build();
}
}

View File

@ -82,7 +82,7 @@ public class ActivityTeamInfoSaveModel {
.unit(activityTeamInfoAddModel.getUnit())
.imageList(activityTeamInfoAddModel.getImageList())
.endTime(activityTeamInfoAddModel.getEndTime())
.sort(activityTeamInfoAddModel.getSort())
.sort(Long.valueOf(activityTeamInfoAddModel.getSort()))
.content(activityTeamInfoAddModel.getContent())
.status(activityTeamInfoAddModel.getStatus())
.strategyType(activityTeamInfoAddModel.getStrategyType())

View File

@ -0,0 +1,44 @@
package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.TeamProjectSkuInfoAddReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.function.Supplier;
/**
* spu
*
* @author DongZeLiang
* @date 2024-11-26 09:36
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductSkuAddListModel {
/**
* SKU
*/
private String sku;
/**
*
*/
private BigDecimal productPrice;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
}

View File

@ -0,0 +1,30 @@
package com.muyu.marketing.domain.model;/**
* @Author
* @Packagecom.muyu.marketing.domain.model
* @Project2204a-cloud-server-DongZeLiang
* @nameActivityTeamProductSkuDelModel
* @Date2024/11/27 17:03
*/
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @program: 2204a-cloud-server-DongZeLiang
* @description:
* @author: CuiFu Bo
* @create: 2024-11-27 17:03
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductSkuDelListModel {
/**
* id
*/
private Long id;
}

View File

@ -0,0 +1,35 @@
package com.muyu.marketing.domain.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* ,,,,
*
* @author DongZeLiang
* @date 2024-11-26 15:35
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductSkuUpdDelAddModel {
/**
* LIST
*/
private List<ActivityTeamProductSkuUpdListModel> activityTeamProductSkuUpdModelList;
/**
* LIST
*/
private List<ActivityTeamProductSkuDelListModel> activityTeamProductSkuDelModelList;
/**
* LIST
*/
private List<ActivityTeamProductSkuAddListModel> ActivityTeamProductSkuAddListModelList;
}

View File

@ -0,0 +1,37 @@
package com.muyu.marketing.domain.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* SKU
*
* @author DongZeLiang
* @date 2024-11-27 14:18
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductSkuUpdListModel {
/**
* ID
*/
private Long id;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
}

View File

@ -0,0 +1,85 @@
package com.muyu.marketing.domain.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.ActivityTeamInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.function.Function;
/**
* @program: 2204a-cloud-server
* @description:
* @author: AoCi Tian
* @create: 2024-11-26 16:00
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ActivityTeamUpdateModel {
/**
* 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;
/**
*
*/
private List<ActivityTeamProductSkuUpdDelAddModel> activityTeamProductSkuUpdDelAddModelList;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
}

View File

@ -2,7 +2,6 @@ package com.muyu.marketing.domain.resp;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.req.TeamProjectSkuInfoAddReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,5 @@
package com.muyu.marketing.domain.resp;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -2,7 +2,6 @@ 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

@ -3,17 +3,14 @@ package com.muyu.marketing.team.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
import com.muyu.marketing.domain.req.TeamInfoListReq;
import com.muyu.marketing.domain.resp.TeamInfoListResp;
import com.muyu.marketing.team.service.ActivityTeamInfoService;
import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -28,7 +25,9 @@ import java.util.List;
public class ActivityTeamController {
@Autowired
private ActivityTeamInfoService activityTeamInfoService;;
private ActivityTeamInfoService activityTeamInfoService;
@Autowired
private ActivityTeamProductSkuInfoService skuInfoService;
/**
*
@ -53,9 +52,40 @@ public class ActivityTeamController {
* @param activityTeamInfoSaveReq
* @return
*/
@PostMapping
@PostMapping("/save")
public Result<String> save(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) {
activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq));
return Result.success();
}
/**
* id
*/
@PostMapping("/detail")
public List<ActivityTeamProductSkuModel> findListByTeamId(Long teamId){
List<ActivityTeamProductSkuModel> list = skuInfoService.findListByTeamId(teamId);
return list;
}
/**
*
*/
@PostMapping("/delBatch")
public boolean delBatch(@RequestBody List<Long> ids){
return skuInfoService.delBatch(ids);
}
/**
*
*/
@PostMapping("/batchAdd")
public boolean batchAdd(@RequestBody List<ActivityTeamProductSkuAddListModel> activityTeamProductSkuAddListModelList) {
return skuInfoService.saveBatch(activityTeamProductSkuAddListModelList);
}
/**
*
*/
@PostMapping("/batchUpd")
public boolean batchUp(@RequestBody List<ActivityTeamProductSkuUpdListModel> activityTeamProductSkuUpdListModels) {
return skuInfoService.updateBatch(activityTeamProductSkuUpdListModels);
}
}

View File

@ -48,4 +48,23 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
public boolean updateBath(List<ActivityTeamProductSkuReqModel> activityTeamProductSkuReqModelList);
/**
*
*/
public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel);
public boolean batchUpdate(List<ActivityTeamProductSkuModel> activityTeamProductSkuModelList);
/**
*
*/
public boolean delBatch(List<Long> ids);
/**
*
*/
boolean saveBatch(List<ActivityTeamProductSkuAddListModel> activityTeamProductSkuAddListModelList);
/**
*
*/
boolean updateBatch(List<ActivityTeamProductSkuUpdListModel> activityTeamProductSkuUpdListModels);
}

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;
@ -100,4 +101,51 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
public boolean updateBath(List<ActivityTeamProductSkuReqModel> activityTeamProductSkuReqModelList) {
return this.updateBatchById(activityTeamProductSkuReqModelList.stream().map(ActivityTeamProductSkuInfo::updateModelBuild).toList());
}
@Override
public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) {
LambdaUpdateWrapper<ActivityTeamProductSkuInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock,activityTeamProductSkuUpdModel.getTeamStock());
updateWrapper.set(ActivityTeamProductSkuInfo::getRemainStock,activityTeamProductSkuUpdModel.getTeamStock());
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice,activityTeamProductSkuUpdModel.getTeamPrice());
updateWrapper.eq(ActivityTeamProductSkuInfo::getId,activityTeamProductSkuUpdModel.getId());
this.update(updateWrapper);
return false;
}
@Override
public boolean batchUpdate(List<ActivityTeamProductSkuModel> activityTeamProductSkuModelList) {
return this.updateBatchById(
activityTeamProductSkuModelList.stream()
.map(ActivityTeamProductSkuInfo::updModelBuild)
.toList()
);
}
/**
*
* @param ids
* @return
*/
@Override
public boolean delBatch(List<Long> ids) {
return this.removeByIds(ids);
}
/**
*
*/
@Override
public boolean saveBatch(List<ActivityTeamProductSkuAddListModel> activityTeamProductSkuAddListModelList) {
return this.saveBatch(activityTeamProductSkuAddListModelList);
}
/**
*
*/
@Override
public boolean updateBatch(List<ActivityTeamProductSkuUpdListModel> activityTeamProductSkuUpdListModels) {
return this.updateBatch(activityTeamProductSkuUpdListModels);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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