提交 c619d8f2 authored 作者: jiangwujie's avatar jiangwujie

Merge branch 'v21.1_jianzhuang_20240807' 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;
@Getter
@AllArgsConstructor
public enum EnabledStatusEnum {
ENABLE(1, "启用"),
DISABLE(0, "禁用"),
;
private final Integer code;
private final String msg;
public static Optional<EnabledStatusEnum> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.code, code)).findFirst();
}
public static String getMsgByCode(Integer code) {
return getByCode(code).map(EnabledStatusEnum::getMsg).orElse(null);
}
}
\ No newline at end of file
package com.clx.performance.param.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @author jiangwujie
*/
@Getter
@Setter
public class SaveDriverNoticeConfigParam {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "通知触发距离:默认1.5,最大9999.9")
private BigDecimal noticeTriggerDistance;
@ApiModelProperty(value = "启用状态 ,0:禁用,1:启用")
private Integer status;
}
package com.clx.performance.param.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @author jiangwujie
*/
@Getter
@Setter
public class SaveOrderChildOperateLimitConfigParam {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty("可上传装车信息范围")
private BigDecimal allowUploadDistance;
}
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* 司机通知配置
* @author jiangwujie
*/
@Getter
@Setter
@ToString
public class DriverNoticeConfigVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "通知触发距离:默认1.5,最大9999.9")
private BigDecimal noticeTriggerDistance;
@ApiModelProperty(value = "启用状态:0禁用 1启用")
private Integer status;
}
package com.clx.performance.vo.pc;
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 OrderChildOperateLimitConfigVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty("可上传装车信息范围:默认2.0,最大9999.9")
private BigDecimal allowUploadDistance;
@ApiModelProperty(value = "启用状态 0 禁用 1 启用")
private Integer status;
}
package com.clx.performance.controller.pc;
import com.clx.performance.param.pc.SaveDriverNoticeConfigParam;
import com.clx.performance.service.DriverNoticeConfigService;
import com.clx.performance.vo.pc.DriverNoticeConfigVO;
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 jiangwujie
*/
@Slf4j
@RestController
@RequestMapping(value = "/pc/carrier/driverNoticeConfig")
@Validated
@Api(tags = "司机通知配置")
@AllArgsConstructor
public class DriverNoticeConfigController {
private final DriverNoticeConfigService driverNoticeConfigService;
@ApiOperation(value = "司机通知配置列表", notes = "<br>By:姜武杰")
@GetMapping("/listConfig")
@UnitCovert(param = false)
public Result<DriverNoticeConfigVO> listConfig() {
return Result.ok(driverNoticeConfigService.listConfig());
}
@ApiOperation(value = "平台费率配置详情", notes = "<br>By:姜武杰")
@GetMapping("/getDetail")
@UnitCovert(param = false)
public Result<DriverNoticeConfigVO> getDetail(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(driverNoticeConfigService.getDetail(id));
}
@ApiOperation(value = "编辑平台费率配置", notes = "<br>By:姜武杰")
@PostMapping("/update")
@UnitCovert
public Result updateConfig(@RequestBody @Validated SaveDriverNoticeConfigParam param) {
driverNoticeConfigService.updateConfig(param);
return Result.ok();
}
@ApiOperation(value = "启用", notes = "<br>By:姜武杰")
@PostMapping("/enable")
@UnitCovert
public Result enableConfig(@NotNull(message = "id不能为空") @Validated Integer id) {
driverNoticeConfigService.enableConfig(id);
return Result.ok();
}
@ApiOperation(value = "禁用", notes = "<br>By:姜武杰")
@PostMapping("/disable")
@UnitCovert
public Result disableConfig(@NotNull(message = "id不能为空") Integer id) {
driverNoticeConfigService.disableConfig(id);
return Result.ok();
}
}
package com.clx.performance.controller.pc;
import com.clx.performance.param.pc.SaveOrderChildOperateLimitConfigParam;
import com.clx.performance.service.OrderChildOperateLimitConfigService;
import com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO;
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 jiangwujie
*/
@Slf4j
@RestController
@RequestMapping(value = "/pc/carrier/orderChildOperateLimitConfig")
@Validated
@Api(tags = "运单操作限制配置")
@AllArgsConstructor
public class OrderChildOperateLimitConfigController {
private final OrderChildOperateLimitConfigService orderChildOperateLimitService;
@ApiOperation(value = "运单操作限制配置列表", notes = "<br>By:姜武杰")
@GetMapping("/listConfig")
@UnitCovert(param = false)
public Result<OrderChildOperateLimitConfigVO> listConfig() {
return Result.ok(orderChildOperateLimitService.listConfig());
}
@ApiOperation(value = "平台费率配置详情", notes = "<br>By:姜武杰")
@GetMapping("/getDetail")
@UnitCovert(param = false)
public Result<OrderChildOperateLimitConfigVO> getDetail(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(orderChildOperateLimitService.getDetail(id));
}
@ApiOperation(value = "编辑平台费率配置", notes = "<br>By:姜武杰")
@PostMapping("/update")
@UnitCovert
public Result updateConfig(@RequestBody @Validated SaveOrderChildOperateLimitConfigParam param) {
orderChildOperateLimitService.updateConfig(param);
return Result.ok();
}
@ApiOperation(value = "启用", notes = "<br>By:姜武杰")
@PostMapping("/enable")
@UnitCovert
public Result enableConfig(@NotNull(message = "id不能为空") Integer id) {
orderChildOperateLimitService.enableConfig(id);
return Result.ok();
}
@ApiOperation(value = "禁用", notes = "<br>By:姜武杰")
@PostMapping("/disable")
@UnitCovert
public Result disableConfig(@NotNull(message = "id不能为空") Integer id) {
orderChildOperateLimitService.disableConfig(id);
return Result.ok();
}
}
package com.clx.performance.dao;
import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.DriverNoticeConfigMapper;
import com.clx.performance.model.DriverNoticeConfig;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public interface DriverNoticeConfigDao extends BaseDao<DriverNoticeConfigMapper, DriverNoticeConfig, Integer> {
DriverNoticeConfig listConfig();
boolean updateConfig(DriverNoticeConfig config);
boolean updateStatus(Integer id, Integer status);
}
package com.clx.performance.dao;
import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.OrderChildOperateLimitConfigMapper;
import com.clx.performance.model.OrderChildOperateLimitConfig;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public interface OrderChildOperateLimitConfigDao extends BaseDao<OrderChildOperateLimitConfigMapper, OrderChildOperateLimitConfig, Integer> {
OrderChildOperateLimitConfig listConfig();
boolean updateConfig(OrderChildOperateLimitConfig config);
boolean updateStatus(Integer id, Integer status);
}
package com.clx.performance.dao.impl;
import com.clx.performance.dao.DriverNoticeConfigDao;
import com.clx.performance.mapper.DriverNoticeConfigMapper;
import com.clx.performance.model.DriverNoticeConfig;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Repository
public class DriverNoticeConfigDaoImpl extends BaseDaoImpl<DriverNoticeConfigMapper, DriverNoticeConfig, Integer> implements DriverNoticeConfigDao {
@Override
public DriverNoticeConfig listConfig() {
return list().get(0);
}
@Override
public boolean updateConfig(DriverNoticeConfig config) {
return update(lUdWrapper()
.eq(DriverNoticeConfig::getId, config.getId())
.set(DriverNoticeConfig::getNoticeTriggerDistance, config.getNoticeTriggerDistance())
);
}
@Override
public boolean updateStatus(Integer id, Integer status) {
return update(lUdWrapper()
.eq(DriverNoticeConfig::getId, id)
.set(DriverNoticeConfig::getStatus, status)
);
}
}
package com.clx.performance.dao.impl;
import com.clx.performance.dao.OrderChildOperateLimitConfigDao;
import com.clx.performance.mapper.OrderChildOperateLimitConfigMapper;
import com.clx.performance.model.OrderChildOperateLimitConfig;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Repository
public class OrderChildOperateLimitConfigDaoImpl extends BaseDaoImpl<OrderChildOperateLimitConfigMapper, OrderChildOperateLimitConfig, Integer> implements OrderChildOperateLimitConfigDao {
@Override
public OrderChildOperateLimitConfig listConfig() {
return list().get(0);
}
@Override
public boolean updateConfig(OrderChildOperateLimitConfig config) {
return update(lUdWrapper()
.eq(OrderChildOperateLimitConfig::getId, config.getId())
.set(OrderChildOperateLimitConfig::getAllowUploadDistance, config.getAllowUploadDistance())
);
}
@Override
public boolean updateStatus(Integer id, Integer status) {
return update(lUdWrapper()
.eq(OrderChildOperateLimitConfig::getId, id)
.set(OrderChildOperateLimitConfig::getStatus, status)
);
}
}
package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.DriverNoticeConfig;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public interface DriverNoticeConfigMapper extends BaseMapper<DriverNoticeConfig> {
}
package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.OrderChildOperateLimitConfig;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public interface OrderChildOperateLimitConfigMapper extends BaseMapper<OrderChildOperateLimitConfig> {
}
package com.clx.performance.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("driver_notice_config")
public class DriverNoticeConfig implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("notice_trigger_distance")
@ApiModelProperty("通知触发距离")
private BigDecimal noticeTriggerDistance;
@TableField("status")
@ApiModelProperty("启用状态:0禁用1启用")
private Integer status;
@TableField("created_time")
@ApiModelProperty("创建时间")
private LocalDateTime createdTime;
@TableField("modified_time")
@ApiModelProperty("更新时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("order_child_operate_limit_config")
public class OrderChildOperateLimitConfig implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("allow_upload_distance")
@ApiModelProperty("可上传装车信息范围")
private BigDecimal allowUploadDistance;
@TableField("status")
@ApiModelProperty("启用状态0禁用,1启用")
private Integer status;
@TableField("created_time")
@ApiModelProperty("创建时间")
private LocalDateTime createdTime;
@TableField("modified_time")
@ApiModelProperty("更新时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.service;
import com.clx.performance.param.pc.SaveDriverNoticeConfigParam;
import com.clx.performance.vo.pc.DriverNoticeConfigVO;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public interface DriverNoticeConfigService {
DriverNoticeConfigVO listConfig();
DriverNoticeConfigVO getDetail(Integer id);
void updateConfig(SaveDriverNoticeConfigParam param);
void enableConfig(Integer id);
void disableConfig(Integer id);
}
package com.clx.performance.service;
import com.clx.performance.param.pc.SaveOrderChildOperateLimitConfigParam;
import com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public interface OrderChildOperateLimitConfigService {
OrderChildOperateLimitConfigVO listConfig();
OrderChildOperateLimitConfigVO getDetail(Integer id);
void updateConfig(SaveOrderChildOperateLimitConfigParam param);
void enableConfig(Integer id);
void disableConfig(Integer id);
}
package com.clx.performance.service.impl;
import com.clx.performance.dao.DriverNoticeConfigDao;
import com.clx.performance.enums.EnabledStatusEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.DriverNoticeConfig;
import com.clx.performance.param.pc.SaveDriverNoticeConfigParam;
import com.clx.performance.service.DriverNoticeConfigService;
import com.clx.performance.struct.DriverNoticeConfigStruct;
import com.clx.performance.vo.pc.DriverNoticeConfigVO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Service
@AllArgsConstructor
public class DriverNoticeConfigServiceImpl implements DriverNoticeConfigService {
private final DriverNoticeConfigDao dao;
private final DriverNoticeConfigStruct struct;
@Override
public DriverNoticeConfigVO listConfig() {
return struct.convertVO(dao.listConfig());
}
@Override
public DriverNoticeConfigVO getDetail(Integer id) {
DriverNoticeConfig config = dao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
return struct.convertVO(config);
}
@Override
public void updateConfig(SaveDriverNoticeConfigParam param) {
DriverNoticeConfig config = new DriverNoticeConfig();
config.setId(param.getId());
config.setNoticeTriggerDistance(param.getNoticeTriggerDistance());
dao.updateConfig(config);
}
@Override
public void enableConfig(Integer id) {
dao.updateStatus(id, EnabledStatusEnum.ENABLE.getCode());
}
@Override
public void disableConfig(Integer id) {
dao.updateStatus(id, EnabledStatusEnum.DISABLE.getCode());
}
}
package com.clx.performance.service.impl;
import com.clx.performance.dao.OrderChildOperateLimitConfigDao;
import com.clx.performance.enums.EnabledStatusEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.OrderChildOperateLimitConfig;
import com.clx.performance.param.pc.SaveOrderChildOperateLimitConfigParam;
import com.clx.performance.service.OrderChildOperateLimitConfigService;
import com.clx.performance.struct.OrderChildOperateLimitConfigStruct;
import com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Service
@AllArgsConstructor
public class OrderChildOperateLimitConfigServiceImpl implements OrderChildOperateLimitConfigService {
private final OrderChildOperateLimitConfigDao dao;
private final OrderChildOperateLimitConfigStruct struct;
@Override
public OrderChildOperateLimitConfigVO listConfig() {
return struct.convertVO(dao.listConfig());
}
@Override
public OrderChildOperateLimitConfigVO getDetail(Integer id) {
OrderChildOperateLimitConfig config = dao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
return struct.convertVO(config);
}
@Override
public void updateConfig(SaveOrderChildOperateLimitConfigParam param) {
OrderChildOperateLimitConfig config = new OrderChildOperateLimitConfig();
config.setId(param.getId());
config.setAllowUploadDistance(param.getAllowUploadDistance());
dao.updateConfig(config);
}
@Override
public void enableConfig(Integer id) {
dao.updateStatus(id, EnabledStatusEnum.ENABLE.getCode());
}
@Override
public void disableConfig(Integer id) {
dao.updateStatus(id, EnabledStatusEnum.DISABLE.getCode());
}
}
package com.clx.performance.struct;
import com.clx.performance.model.DriverNoticeConfig;
import com.clx.performance.vo.pc.DriverNoticeConfigVO;
import org.mapstruct.Mapper;
@Mapper(componentModel = "spring")
public interface DriverNoticeConfigStruct {
DriverNoticeConfigVO convertVO(DriverNoticeConfig config);
}
package com.clx.performance.struct;
import com.clx.performance.model.OrderChildOperateLimitConfig;
import com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO;
import org.mapstruct.Mapper;
@Mapper(componentModel = "spring")
public interface OrderChildOperateLimitConfigStruct {
OrderChildOperateLimitConfigVO convertVO(OrderChildOperateLimitConfig config);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论