Commit ded651b9 by zhangxingmin

push

parent 130433a1
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.api.service.ApiAnnouncementCommissionRatioService; import com.yd.product.api.service.ApiAnnouncementCommissionRatioService;
import com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient; import com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioBatchSaveRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest;
...@@ -39,6 +40,16 @@ public class ApiAnnouncementCommissionRatioController implements ApiAnnouncement ...@@ -39,6 +40,16 @@ public class ApiAnnouncementCommissionRatioController implements ApiAnnouncement
} }
/** /**
* 批量保存-公告佣比率规格明细信息
* @param request
* @return
*/
@Override
public Result batchSave(ApiAnnouncementCommissionRatioBatchSaveRequest request) {
return apiAnnouncementCommissionRatioService.batchSave(request);
}
/**
* 添加-公告佣比率规格明细信息 * 添加-公告佣比率规格明细信息
* @param request * @param request
* @return * @return
......
...@@ -2,6 +2,7 @@ package com.yd.product.api.service; ...@@ -2,6 +2,7 @@ package com.yd.product.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioBatchSaveRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest;
...@@ -12,6 +13,8 @@ import com.yd.product.service.model.AnnouncementCommissionRatio; ...@@ -12,6 +13,8 @@ import com.yd.product.service.model.AnnouncementCommissionRatio;
public interface ApiAnnouncementCommissionRatioService { public interface ApiAnnouncementCommissionRatioService {
Result<IPage<ApiAnnouncementCommissionRatioPageResponse>> page(ApiAnnouncementCommissionRatioPageRequest request); Result<IPage<ApiAnnouncementCommissionRatioPageResponse>> page(ApiAnnouncementCommissionRatioPageRequest request);
Result batchSave(ApiAnnouncementCommissionRatioBatchSaveRequest request);
Result add(ApiAnnouncementCommissionRatioAddRequest request); Result add(ApiAnnouncementCommissionRatioAddRequest request);
Result edit(ApiAnnouncementCommissionRatioEditRequest request); Result edit(ApiAnnouncementCommissionRatioEditRequest request);
......
...@@ -8,6 +8,7 @@ import com.yd.common.result.Result; ...@@ -8,6 +8,7 @@ import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator; import com.yd.common.utils.RandomStringGenerator;
import com.yd.product.api.service.ApiAnnouncementCommissionRatioService; import com.yd.product.api.service.ApiAnnouncementCommissionRatioService;
import com.yd.product.api.service.ApiAnnouncementSpeciesService; import com.yd.product.api.service.ApiAnnouncementSpeciesService;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioBatchSaveRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest;
...@@ -19,7 +20,12 @@ import lombok.extern.slf4j.Slf4j; ...@@ -19,7 +20,12 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
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.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
...@@ -44,6 +50,33 @@ public class ApiAnnouncementCommissionRatioServiceImpl implements ApiAnnouncemen ...@@ -44,6 +50,33 @@ public class ApiAnnouncementCommissionRatioServiceImpl implements ApiAnnouncemen
} }
/** /**
* 批量保存-公告佣比率规格明细信息
* @param request
* @return
*/
@Override
public Result batchSave(ApiAnnouncementCommissionRatioBatchSaveRequest request) {
List<String> announcementSpeciesBizIdList = new ArrayList<>();
announcementSpeciesBizIdList.add(request.getAnnouncementSpeciesBizId());
//先删后新增
iAnnouncementCommissionRatioService.del(announcementSpeciesBizIdList);
//新增
if (!CollectionUtils.isEmpty(request.getRatioBatchSaveDtoList())) {
List<AnnouncementCommissionRatio> saveList = request.getRatioBatchSaveDtoList()
.stream()
.map(dto -> {
AnnouncementCommissionRatio ratio = new AnnouncementCommissionRatio();
BeanUtils.copyProperties(dto,ratio);
ratio.setAnnouncementCommissionRatioBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_ANNOUNCEMENT_COMMISSION_RATIO.getCode()));
return ratio;
}).collect(Collectors.toList());
iAnnouncementCommissionRatioService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
/**
* 添加-公告佣比率规格明细信息 * 添加-公告佣比率规格明细信息
* @param request * @param request
* @return * @return
......
...@@ -2,6 +2,7 @@ package com.yd.product.feign.client.announcementcommissionratio; ...@@ -2,6 +2,7 @@ package com.yd.product.feign.client.announcementcommissionratio;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.feign.fallback.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignFallbackFactory; import com.yd.product.feign.fallback.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignFallbackFactory;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioBatchSaveRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest;
...@@ -26,6 +27,14 @@ public interface ApiAnnouncementCommissionRatioFeignClient { ...@@ -26,6 +27,14 @@ public interface ApiAnnouncementCommissionRatioFeignClient {
Result page(@RequestBody ApiAnnouncementCommissionRatioPageRequest request); Result page(@RequestBody ApiAnnouncementCommissionRatioPageRequest request);
/** /**
* 批量保存-公告佣比率规格明细信息
* @param request
* @return
*/
@PostMapping("/batch/save")
Result batchSave(@Validated @RequestBody ApiAnnouncementCommissionRatioBatchSaveRequest request);
/**
* 添加-公告佣比率规格明细信息 * 添加-公告佣比率规格明细信息
* @param request * @param request
* @return * @return
......
package com.yd.product.feign.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class ApiAnnouncementCommissionRatioBatchSaveDto {
/**
* 费用名称(转介费等)
*/
@NotBlank(message = "费用名称不能为空")
private String expenseName;
/**
* 佣金年限(起)
*/
@NotBlank(message = "佣金年限(起)不能为空")
private String startPeriod;
/**
* 佣金年限(止)
*/
@NotBlank(message = "佣金年限(止)不能为空")
private String endPeriod;
/**
* 标保折算比例(基本保费)
*/
@NotNull(message = "标保折算比例不能为空")
private BigDecimal discountRatio;
/**
* 佣金率
*/
@NotNull(message = "佣金率不能为空")
private BigDecimal commissionRate;
/**
* 有效开始时间
*/
@NotNull(message = "有效开始时间不能为空")
private LocalDateTime effectiveStart;
/**
* 有效结束时间
*/
@NotNull(message = "有效结束时间不能为空")
private LocalDateTime effectiveEnd;
/**
* 适用范围(经纪人/分销员/加盟商/签单员/转介人/全部,字典)
*/
@NotBlank(message = "适用范围不能为空")
private String scope;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
@NotBlank(message = "是否受汇率影响不能为空")
private String isExchangeRate;
/**
* 结算币种(字典)
*/
@NotBlank(message = "结算币种不能为空")
private String currency;
/**
* 状态(0:停用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
}
...@@ -2,6 +2,7 @@ package com.yd.product.feign.fallback.announcementcommissionratio; ...@@ -2,6 +2,7 @@ package com.yd.product.feign.fallback.announcementcommissionratio;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient; import com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioBatchSaveRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest;
import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest; import com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioAddRequest;
...@@ -27,6 +28,11 @@ public class ApiAnnouncementCommissionRatioFeignFallbackFactory implements Fallb ...@@ -27,6 +28,11 @@ public class ApiAnnouncementCommissionRatioFeignFallbackFactory implements Fallb
} }
@Override @Override
public Result batchSave(ApiAnnouncementCommissionRatioBatchSaveRequest request) {
return null;
}
@Override
public Result add(ApiAnnouncementCommissionRatioAddRequest request) { public Result add(ApiAnnouncementCommissionRatioAddRequest request) {
return null; return null;
} }
......
package com.yd.product.feign.request.announcementcommissionratio;
import com.yd.product.feign.dto.ApiAnnouncementCommissionRatioBatchSaveDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
public class ApiAnnouncementCommissionRatioBatchSaveRequest {
/**
* 公告佣比率规格表唯一业务ID
*/
@NotBlank(message = "公告佣比率规格表唯一业务ID不能为空")
private String announcementSpeciesBizId;
/**
* 公告佣比率规格明细列表
*/
@NotEmpty(message = "公告佣比率规格明细列表不能为空")
private List<ApiAnnouncementCommissionRatioBatchSaveDto> ratioBatchSaveDtoList;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment