|
|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.Page;
|
|
|
+import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
import com.zhongzheng.modules.distribution.bo.DistributionActivityTempAddBo;
|
|
|
import com.zhongzheng.modules.distribution.bo.DistributionActivityTempEditBo;
|
|
|
@@ -20,6 +21,7 @@ import com.zhongzheng.modules.distribution.service.IDistributionActivityTempGood
|
|
|
import com.zhongzheng.modules.distribution.service.IDistributionActivityTempRelationService;
|
|
|
import com.zhongzheng.modules.distribution.service.IDistributionActivityTempService;
|
|
|
import com.zhongzheng.modules.distribution.vo.DistributionActivityTempVo;
|
|
|
+import com.zhongzheng.modules.system.service.ISysOldOrgService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -41,11 +43,25 @@ public class DistributionActivityTempServiceImpl extends ServiceImpl<Distributio
|
|
|
private IDistributionActivityTempRelationService iDistributionActivityTempRelationService;
|
|
|
@Autowired
|
|
|
private IDistributionActivityTempGoodsService iDistributionActivityTempGoodsService;
|
|
|
+ @Autowired
|
|
|
+ private ISysOldOrgService iSysOldOrgService;
|
|
|
|
|
|
@Override
|
|
|
public DistributionActivityTempVo queryById(Long id){
|
|
|
DistributionActivityTemp db = this.baseMapper.selectById(id);
|
|
|
- return BeanUtil.toBean(db, DistributionActivityTempVo.class);
|
|
|
+ DistributionActivityTempVo vo = BeanUtil.toBean(db, DistributionActivityTempVo.class);
|
|
|
+ //获取商品和机构信息
|
|
|
+ List<DistributionActivityTempRelation> relationList = iDistributionActivityTempRelationService
|
|
|
+ .list(new LambdaQueryWrapper<DistributionActivityTempRelation>()
|
|
|
+ .eq(DistributionActivityTempRelation::getDistributionTempId, vo.getId()));
|
|
|
+// if (CollectionUtils.isNotEmpty(relationList)){
|
|
|
+// relationList.stream().map(item -> {
|
|
|
+// DistributionActivityTenantVo tenantVo = new DistributionActivityTenantVo();
|
|
|
+//
|
|
|
+// })
|
|
|
+// }
|
|
|
+
|
|
|
+ return vo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -90,21 +106,26 @@ public class DistributionActivityTempServiceImpl extends ServiceImpl<Distributio
|
|
|
add.setCreateTime(DateUtils.getNowTime());
|
|
|
add.setUpdateTime(DateUtils.getNowTime());
|
|
|
this.save(add);
|
|
|
+ this.saveRelation(bo,add.getId());
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //添加关联信息
|
|
|
+ private void saveRelation(DistributionActivityTempAddBo bo,Long tempId){
|
|
|
//机构信息
|
|
|
if (ObjectUtils.isNotNull(bo.getIsAllOrg()) && bo.getIsAllOrg() == 1){
|
|
|
//发布所有机构
|
|
|
DistributionActivityTempRelation entity = new DistributionActivityTempRelation();
|
|
|
- entity.setDistributionTempId(add.getId());
|
|
|
+ entity.setDistributionTempId(tempId);
|
|
|
entity.setTenantId(0L);
|
|
|
entity.setCreateTime(DateUtils.getNowTime());
|
|
|
entity.setUpdateTime(DateUtils.getNowTime());
|
|
|
iDistributionActivityTempRelationService.save(entity);
|
|
|
- return true;
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(bo.getTenantIds())){
|
|
|
List<DistributionActivityTempRelation> entitys = bo.getTenantIds().stream().map(id -> {
|
|
|
DistributionActivityTempRelation entity = new DistributionActivityTempRelation();
|
|
|
- entity.setDistributionTempId(add.getId());
|
|
|
+ entity.setDistributionTempId(tempId);
|
|
|
entity.setTenantId(id);
|
|
|
entity.setCreateTime(DateUtils.getNowTime());
|
|
|
entity.setUpdateTime(DateUtils.getNowTime());
|
|
|
@@ -116,23 +137,39 @@ public class DistributionActivityTempServiceImpl extends ServiceImpl<Distributio
|
|
|
if (CollectionUtils.isNotEmpty(bo.getGoodsList())){
|
|
|
List<DistributionActivityTempGoods> collect = bo.getGoodsList().stream().map(item -> {
|
|
|
DistributionActivityTempGoods entity = BeanUtil.toBean(item, DistributionActivityTempGoods.class);
|
|
|
- entity.setDistributionTempId(add.getId());
|
|
|
+ entity.setDistributionTempId(tempId);
|
|
|
entity.setCreateTime(DateUtils.getNowTime());
|
|
|
entity.setUpdateTime(DateUtils.getNowTime());
|
|
|
return entity;
|
|
|
}).collect(Collectors.toList());
|
|
|
iDistributionActivityTempGoodsService.saveBatch(collect);
|
|
|
}
|
|
|
-
|
|
|
- return true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean updateByEditBo(DistributionActivityTempEditBo bo) {
|
|
|
+ //校验
|
|
|
+ DistributionActivityTemp activityTemp = getById(bo.getId());
|
|
|
+ if (activityTemp.getPublishStatus() == 1){
|
|
|
+ throw new CustomException("活动已发布,不能修改!");
|
|
|
+ }
|
|
|
DistributionActivityTemp update = BeanUtil.toBean(bo, DistributionActivityTemp.class);
|
|
|
validEntityBeforeSave(update);
|
|
|
update.setUpdateTime(DateUtils.getNowTime());
|
|
|
- return this.updateById(update);
|
|
|
+ this.updateById(update);
|
|
|
+ //删除活动商品和下发机构重新绑定
|
|
|
+ iDistributionActivityTempGoodsService.remove(new LambdaQueryWrapper<DistributionActivityTempGoods>()
|
|
|
+ .eq(DistributionActivityTempGoods::getDistributionTempId,bo.getId()));
|
|
|
+ iDistributionActivityTempRelationService.remove(new LambdaQueryWrapper<DistributionActivityTempRelation>()
|
|
|
+ .eq(DistributionActivityTempRelation::getDistributionTempId,bo.getId()));
|
|
|
+ DistributionActivityTempAddBo addBo = new DistributionActivityTempAddBo();
|
|
|
+ addBo.setIsAllOrg(bo.getIsAllOrg());
|
|
|
+ addBo.setGoodsList(bo.getGoodsList());
|
|
|
+ addBo.setTenantIds(bo.getTenantIds());
|
|
|
+ this.saveRelation(addBo,bo.getId());
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
/**
|