提交 eda1c89a authored 作者: 杨启发's avatar 杨启发

Merge branch 'refs/heads/v17.5_order_child_sync_broker_20240617' into dev

package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
/**
* @author yangqifa
*/
@Getter
@AllArgsConstructor
public enum PlatformServiceFeeConfigEnum {
/**
* 未税
*/
TAX_EXCLUDED(1, "未税"),
/**
* 含税
*/
TAX_INCLUDED(2, "含税");
private final Integer code;
private final String msg;
public static Optional<PlatformServiceFeeConfigEnum> getByCode(int code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.getCode(), code)).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(PlatformServiceFeeConfigEnum::getMsg).orElse(null);
}
}
package com.clx.performance.param.pc.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @author yangqifa
*/
@Getter
@Setter
public class SavePlatformServiceFeeConfigParam {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单报价方式,1:未税,2:含税")
private Integer orderQuotationType;
@ApiModelProperty(value = "接单保证金,最多保留两位小数")
private BigDecimal deposit;
@ApiModelProperty(value = "平台服务费费率")
private BigDecimal serviceFeeRate;
}
package com.clx.performance.vo.pc.carrier.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @author yangqifa
*/
@Getter
@Setter
@ToString
public class CarrierPagePlatformServiceFeeConfigVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "订单报价方式,1:未税,2:含税")
private Integer orderQuotationType;
@ApiModelProperty(value = "订单报价方式")
private String orderQuotationTypeMsg;
@ApiModelProperty(value = "接单保证金,最多保留两位小数")
private BigDecimal deposit;
@ApiModelProperty(value = "平台服务费费率")
private BigDecimal serviceFeeRate;
}
package com.clx.performance.controller.pc.carrier;
import com.clx.performance.param.pc.carrier.SavePlatformServiceFeeConfigParam;
import com.clx.performance.service.PlatformServiceFeeConfigService;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
/**
* @author yangqifa
*/
@Slf4j
@RestController
@RequestMapping(value = "/pc/carrier/platformServiceFeeConfig")
@Validated
@Api(tags = "承运端-平台费率配置")
@AllArgsConstructor
public class PlatformServiceFeeConfigController {
private final PlatformServiceFeeConfigService platformServiceFeeConfigService;
@ApiOperation(value = "平台费率配置列表", notes = "<br>By:杨启发")
@GetMapping("/listPlatformServiceFeeConfig")
@UnitCovert(param = false)
public Result<CarrierPagePlatformServiceFeeConfigVO> listPlatformServiceFeeConfig() {
return Result.ok(platformServiceFeeConfigService.listPlatformServiceFeeConfig());
}
@ApiOperation(value = "平台费率配置详情", notes = "<br>By:杨启发")
@GetMapping("/getPlatformServiceFeeConfigDetail")
@UnitCovert(param = false)
public Result<CarrierPagePlatformServiceFeeConfigVO> getPlatformServiceFeeConfigDetail(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(platformServiceFeeConfigService.getPlatformServiceFeeConfigDetail(id));
}
@ApiOperation(value = "编辑平台费率配置", notes = "<br>By:杨启发")
@PostMapping("/updatePlatformServiceFeeConfig")
public Result updatePlatformServiceFeeConfig(@RequestBody @Validated SavePlatformServiceFeeConfigParam param) {
platformServiceFeeConfigService.updatePlatformServiceFeeConfig(param);
return Result.ok();
}
}
package com.clx.performance.dao;
import com.clx.performance.mapper.PlatformServiceFeeConfigMapper;
import com.clx.performance.model.PlatformServiceFeeConfig;
import com.msl.common.dao.BaseDao;
/**
* @author yangqifa
*/
public interface PlatformServiceFeeConfigDao extends BaseDao<PlatformServiceFeeConfigMapper, PlatformServiceFeeConfig, Integer> {
PlatformServiceFeeConfig listPlatformServiceFeeConfig();
boolean updatePlatformServiceFeeConfig(PlatformServiceFeeConfig config);
}
package com.clx.performance.dao.impl;
import com.clx.performance.dao.PlatformServiceFeeConfigDao;
import com.clx.performance.mapper.PlatformServiceFeeConfigMapper;
import com.clx.performance.model.PlatformServiceFeeConfig;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author yangqifa
*/
@Repository
public class PlatformServiceFeeConfigImpl extends BaseDaoImpl<PlatformServiceFeeConfigMapper, PlatformServiceFeeConfig, Integer> implements PlatformServiceFeeConfigDao {
@Override
public PlatformServiceFeeConfig listPlatformServiceFeeConfig() {
return list().get(0);
}
@Override
public boolean updatePlatformServiceFeeConfig(PlatformServiceFeeConfig config) {
return update(lUdWrapper()
.eq(PlatformServiceFeeConfig::getId, config.getId())
.set(PlatformServiceFeeConfig::getOrderQuotationType, config.getOrderQuotationType())
.set(PlatformServiceFeeConfig::getDeposit, config.getDeposit())
.set(PlatformServiceFeeConfig::getServiceFeeRate, config.getServiceFeeRate())
);
}
}
package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.PlatformServiceFeeConfig;
/**
* @author yangqifa
*/
public interface PlatformServiceFeeConfigMapper extends BaseMapper<PlatformServiceFeeConfig> {
}
\ No newline at end of file
package com.clx.performance.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;
/**
* 平台服务费配置表
*
* @author yangqifa
*/
@Setter
@Getter
public class PlatformServiceFeeConfig implements HasKey<Integer> {
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 订单报价方式,1:未税,2:含税
*/
private Integer orderQuotationType;
/**
* 接单保证金,最多保留两位小数
*/
private BigDecimal deposit;
/**
* 平台服务费费率
*/
private BigDecimal serviceFeeRate;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新时间
*/
private Date modifiedTime;
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.service;
import com.clx.performance.param.pc.carrier.SavePlatformServiceFeeConfigParam;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
/**
* @author yangqifa
*/
public interface PlatformServiceFeeConfigService {
CarrierPagePlatformServiceFeeConfigVO listPlatformServiceFeeConfig();
CarrierPagePlatformServiceFeeConfigVO getPlatformServiceFeeConfigDetail(int id);
void updatePlatformServiceFeeConfig(SavePlatformServiceFeeConfigParam config);
}
package com.clx.performance.service.impl;
import com.clx.performance.dao.PlatformServiceFeeConfigDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.PlatformServiceFeeConfig;
import com.clx.performance.param.pc.carrier.SavePlatformServiceFeeConfigParam;
import com.clx.performance.service.PlatformServiceFeeConfigService;
import com.clx.performance.struct.PlatformServiceFeeConfigStruct;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author yangqifa
*/
@Slf4j
@Service
@AllArgsConstructor
public class PlatformServiceFeeConfigServiceImpl implements PlatformServiceFeeConfigService {
private final PlatformServiceFeeConfigDao platformServiceFeeConfigDao;
private final PlatformServiceFeeConfigStruct platformServiceFeeConfigStruct;
@Override
public CarrierPagePlatformServiceFeeConfigVO listPlatformServiceFeeConfig() {
PlatformServiceFeeConfig config = platformServiceFeeConfigDao.listPlatformServiceFeeConfig();
return platformServiceFeeConfigStruct.convertToDetail(config);
}
@Override
public CarrierPagePlatformServiceFeeConfigVO getPlatformServiceFeeConfigDetail(int id) {
PlatformServiceFeeConfig config = platformServiceFeeConfigDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
return platformServiceFeeConfigStruct.convertToDetail(config);
}
@Override
public void updatePlatformServiceFeeConfig(SavePlatformServiceFeeConfigParam param) {
PlatformServiceFeeConfig config = new PlatformServiceFeeConfig();
config.setId(param.getId());
config.setOrderQuotationType(param.getOrderQuotationType());
config.setDeposit(param.getDeposit());
config.setServiceFeeRate(param.getServiceFeeRate());
platformServiceFeeConfigDao.updatePlatformServiceFeeConfig(config);
}
}
package com.clx.performance.struct;
import com.clx.performance.enums.PlatformServiceFeeConfigEnum;
import com.clx.performance.model.PlatformServiceFeeConfig;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {PlatformServiceFeeConfigEnum.class, Objects.class, DateUtils.class})
public interface PlatformServiceFeeConfigStruct {
@Mapping(target = "orderQuotationTypeMsg", expression = "java(Objects.isNull(config.getOrderQuotationType()) ? null : PlatformServiceFeeConfigEnum.getMsgByCode(config.getOrderQuotationType()))")
CarrierPagePlatformServiceFeeConfigVO convertToDetail(PlatformServiceFeeConfig config);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论