fit(): 增加规格修改功能

1129/donghongyang
86182 2024-11-28 00:42:43 +08:00
parent b0f4774e89
commit 8e2b8532f9
6 changed files with 101 additions and 9 deletions

View File

@ -5,10 +5,11 @@ 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.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.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
import com.muyu.marketing.domain.req.ActivityTeamProductReq;
import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.req.TeamInfoListReq;
import com.muyu.marketing.domain.resp.ActivityTeamInfoDatailResp; import com.muyu.marketing.domain.resp.ActivityTeamInfoDatailResp;
import com.muyu.marketing.domain.resp.ActivityTeamProductSkuResp;
import com.muyu.marketing.domain.resp.TeamInfoListResp; import com.muyu.marketing.domain.resp.TeamInfoListResp;
import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -19,7 +20,7 @@ import java.util.List;
/** /**
* *
* *
* @author DongZeLiang * @author
* @date 2024-11-20 14:25 * @date 2024-11-20 14:25
*/ */
@RestController @RestController
@ -69,5 +70,14 @@ public class ActivityTeamController {
return Result.success(activityById); return Result.success(activityById);
} }
/**
*
*/
@PostMapping("/update")
public Result<ActivityTeamProductReq> updDate(@RequestBody ActivityTeamProductReq activityTeamProductReq){
ActivityTeamInfoModel activityTeamInfoModel = ActivityTeamInfoModel.activityTeamBuilder(activityTeamProductReq);
activityTeamInfoService.bateUpdate(activityTeamInfoModel);
return Result.success();
}
} }

View File

@ -6,10 +6,10 @@ import com.muyu.marketing.domain.ActivityTeamInfo;
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.ActivityTeamInfoListQueryModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoModel;
import com.muyu.marketing.domain.req.ActivityTeamProductReq;
import com.muyu.marketing.domain.resp.ActivityTeamInfoDatailResp; import com.muyu.marketing.domain.resp.ActivityTeamInfoDatailResp;
import java.util.List;
public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> { public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
@ -27,4 +27,6 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel);
public ActivityTeamInfoDatailResp findActivityById(Long id); public ActivityTeamInfoDatailResp findActivityById(Long id);
public void bateUpdate(ActivityTeamInfoModel activityTeamInfoModel);
} }

View File

@ -3,7 +3,6 @@ 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.enums.market.team.TeamOpenTypeEnum; import com.muyu.common.core.enums.market.team.TeamOpenTypeEnum;
import com.muyu.marketing.domain.ActivityTeamOpenInfo; import com.muyu.marketing.domain.ActivityTeamOpenInfo;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
public interface ActivityTeamOpenInfoService extends IService<ActivityTeamOpenInfo> { public interface ActivityTeamOpenInfoService extends IService<ActivityTeamOpenInfo> {
@ -32,4 +31,5 @@ public interface ActivityTeamOpenInfoService extends IService<ActivityTeamOpenIn
public default Long getTeamInTypeNumberByTeamId(Long teamId){ public default Long getTeamInTypeNumberByTeamId(Long teamId){
return this.getTeamOpenNumberByTeamIdAndType(teamId, TeamOpenTypeEnum.IN_TEAM); return this.getTeamOpenNumberByTeamIdAndType(teamId, TeamOpenTypeEnum.IN_TEAM);
} }
} }

View File

@ -43,4 +43,21 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
* Id * Id
*/ */
public List<ActivityTeamProductSkuModel> findById(Long id); public List<ActivityTeamProductSkuModel> findById(Long id);
/**
*
*/
public boolean update(ActivityTeamProductSkuModel activityTeamProductSkuModel);
/**
*
*/
public boolean bathUpdate(List<ActivityTeamProductSkuModel> activityTeamProductSkuModels);
/**
*
*/
public void bathDelete(List<Long> id);
} }

View File

@ -1,15 +1,13 @@
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.metadata.OrderItem;
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.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.ActivityTeamProductReq;
import com.muyu.marketing.domain.resp.ActivityTeamInfoDatailResp; import com.muyu.marketing.domain.resp.ActivityTeamInfoDatailResp;
import com.muyu.marketing.domain.resp.ActivityTeamProductSkuResp; import com.muyu.marketing.domain.resp.ActivityTeamProductSkuResp;
import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper;
@ -22,7 +20,6 @@ import org.springframework.util.Assert;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
@Service @Service
@ -105,4 +102,29 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
}).toList(); }).toList();
return ActivityTeamInfoDatailResp.datailRespBuilder(datailModel,activityTeamProductSkuResps); return ActivityTeamInfoDatailResp.datailRespBuilder(datailModel,activityTeamProductSkuResps);
} }
/**
*
* @param
*/
@Override
public void bateUpdate(ActivityTeamInfoModel activityTeamInfoModel) {
//根据 Sku的Id删除
activityTeamOpenInfoService.removeBatchByIds(activityTeamInfoModel.getActivityTeamProductUpdModel().getIds());
//添加
List<ActivityTeamProductSkuAddModel> teamProductSkuAddModelList = activityTeamInfoModel.getActivityTeamProductUpdModel().getActivityTeamProductSkuAddModelList();
teamProductSkuAddModelList.forEach(
activityTeamProductSkuAddModel -> {
activityTeamProductSkuAddModel.setTeamId(activityTeamInfoModel.getId());
}
);
activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList);
//活动修改
this.updateById(ActivityTeamInfo.addTeamInfoModelBuild(activityTeamInfoModel));
activityTeamProductSkuInfoService.bathUpdate(activityTeamInfoModel.getActivityTeamProductUpdModel().getActivityTeamProductSkuUpdModelList());
}
} }

View File

@ -1,8 +1,10 @@
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.ActivityTeamInfo;
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.team.mapper.ActivityTeamProductSkuInfoMapper; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper;
@ -98,5 +100,44 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
return teamInfoSkuListModelList; return teamInfoSkuListModelList;
} }
/**
*
* @param activityTeamProductSkuUpdModel
*/
@Override
public boolean update(ActivityTeamProductSkuModel activityTeamProductSkuUpdModel) {
LambdaUpdateWrapper<ActivityTeamProductSkuInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock,activityTeamProductSkuUpdModel.getTeamStock());
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice,activityTeamProductSkuUpdModel.getTeamPrice());
updateWrapper.eq(ActivityTeamProductSkuInfo::getId,activityTeamProductSkuUpdModel.getId());
return this.update(updateWrapper);
}
/**
*
* @param activityTeamProductSkuUpdModelList
*/
@Override
public boolean bathUpdate(List<ActivityTeamProductSkuModel> activityTeamProductSkuUpdModelList) {
List<ActivityTeamProductSkuInfo> teamProductSkuInfoList = activityTeamProductSkuUpdModelList
.stream()
.map(ActivityTeamProductSkuInfo::skuUpdModel)
.toList();
return this.updateBatchById(teamProductSkuInfoList);
}
/**
*
* @param id
*/
@Override
public void bathDelete(List<Long> id) {
this.bathDelete(id);
}
} }