提交 7042f9f6 authored 作者: aiqingguo's avatar aiqingguo

积分优化

上级 0e5d5b06
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectAutoLoanStatusUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "车贷状态:0无车贷 1有车贷", example = "")
private Integer autoLoanStatus;
@ApiModelProperty(value = "车贷剩余月份", example = "")
private Integer autoLoanMonth;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportDistanceLineMaxUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "单次任务接受最远距离(公里)", example = "")
private Integer distanceLineMax;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportDistanceSendAddressMaxUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "接受距货源地最远距离(公里)", example = "")
private Integer distanceSendAddressMax;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportDistanceUsualPlaceMaxUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "接受距常驻地最远距离(公里)", example = "")
private Integer distanceUsualPlaceMax;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportGoodsTypeUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "拉运货物意愿:1块煤 2面煤 3煤泥", example = "")
private String goodsType;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportOverTonnageTypeUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "拉运方式:1标吨 2超吨 3白天标吨晚上超吨", example = "")
private Integer overTonnageType;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportParkAddressUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "车辆停放位置", example = "")
private String parkAddress;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckUnloadTypeUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "卸车类型:1自卸侧翻 2自卸立翻 3非自卸", example = "")
private Integer unloadType;
}
......@@ -24,7 +24,7 @@ public class IntegralRuleUpdateParam {
@ApiModelProperty(value = "货单奖励积分规则")
private AppIntegralRuleVO.OrderAwardRule orderAwardRule;
@ApiModelProperty(value = "货单扣减积分规则")
private AppIntegralRuleVO.OrderDiscountRule orderDiscountRule;
private AppIntegralRuleVO.OrderChildCancelRule orderDiscountRule;
@ApiModelProperty(value = "运单超时扣减规则")
private AppIntegralRuleVO.OrderChildTimeoutRule orderChildTimeoutRule;
@ApiModelProperty(value = "平台补偿积分规则")
......
package com.clx.performance.vo.app.collect;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/11/07 11:11:41
* @Version: 1.0
*/
@ApiModel(description = "车辆信息上报")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class AppCollectTruckVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "车辆id", example = "")
private Integer truckId;
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "卸车类型:1自卸侧翻 2自卸立翻 3非自卸", example = "")
private Integer unloadType;
@ApiModelProperty(value = "车贷状态:0无车贷 1有车贷", example = "")
private Integer autoLoanStatus;
@ApiModelProperty(value = "车贷剩余月份", example = "")
private Integer autoLoanMonth;
@ApiModelProperty(value = "车辆停放位置", example = "")
private String parkAddress;
@ApiModelProperty(value = "拉运方式:1标吨 2超吨 3白天标吨晚上超吨", example = "")
private Integer overTunageType;
@ApiModelProperty(value = "接受距常驻地最远距离(公里)", example = "")
private Integer distanceUsualPlaceMax;
@ApiModelProperty(value = "单次任务接受最远距离(公里)", example = "")
private Integer distanceLineMax;
@ApiModelProperty(value = "接受距货源地最远距离(公里)", example = "")
private Integer distanceSendAddressMax;
@ApiModelProperty(value = "拉运货物意愿:1块煤 2面煤 3煤泥", example = "")
private String goodsType;
}
\ No newline at end of file
......@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 车辆积分规则
......@@ -26,11 +28,13 @@ public class AppIntegralRuleVO {
@ApiModelProperty(value = "货单奖励积分规则")
private OrderAwardRule orderAwardRule;
@ApiModelProperty(value = "货单扣减积分规则")
private OrderDiscountRule orderDiscountRule;
private OrderChildCancelRule orderChildCancelRule;
@ApiModelProperty(value = "运单超时扣减规则")
private OrderChildTimeoutRule orderChildTimeoutRule;
@ApiModelProperty(value = "平台补偿积分规则")
private PlatformCompensationRule platformCompensationRule;
@ApiModelProperty(value = "司机上报积分规则")
private DriverReportRule driverReportRule;
@Getter
......@@ -68,7 +72,7 @@ public class AppIntegralRuleVO {
@Setter
@ToString
@NoArgsConstructor
public static class OrderDiscountRule{
public static class OrderChildCancelRule {
@ApiModelProperty(value = "自行取消运单每单扣减积分x")
private Integer integralCancel;
@ApiModelProperty(value = "自行取消流水单每单另扣积分x")
......@@ -102,6 +106,34 @@ public class AppIntegralRuleVO {
@ApiModelProperty(value = "规定时间不能卸车补偿x")
private Integer integralUnload;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class DriverReportRule{
@ApiModelProperty(value = "提交基础信息每项积分x")
private Integer integralTruck;
@ApiModelProperty(value = "油表上报积分x")
private Integer integralRefuel;
@ApiModelProperty(value = "上报交通拥堵积分x")
private Integer integralTraffic;
@ApiModelProperty(value = "上报货源地需要排队积分x")
private Integer integralSendAddressWait;
@ApiModelProperty(value = "上报货源地无需排队积分x")
private Integer integralSendAddressNoWait;
@ApiModelProperty(value = "上报目的地需要排队积分x")
private Integer integralReceiveAddressWait;
@ApiModelProperty(value = "上报目的地无需排队积分x")
private Integer integralReceiveAddressNoWait;
@ApiModelProperty(value = "上报煤炭质量问题积分x")
private Integer integralQuality;
@ApiModelProperty(value = "上报拉运异常问题积分x")
private Integer integralAbnormal;
@ApiModelProperty(value = "限制频繁上报奖励间隔x(小时)")
private BigDecimal reportLimit;
@ApiModelProperty(value = "当日上报奖励积分上限x")
private Integer integralLimit;
}
@ApiModelProperty(value = "运单完成积分规则", example = "", hidden = true)
......@@ -109,7 +141,7 @@ public class AppIntegralRuleVO {
@ApiModelProperty(value = "货单奖励积分规则", example = "", hidden = true)
private OrderAwardRule orderAwardRuleJson;
@ApiModelProperty(value = "货单扣减积分规则", example = "", hidden = true)
private OrderDiscountRule orderDiscountRuleJson;
private OrderChildCancelRule orderDiscountRuleJson;
@ApiModelProperty(value = "运单超时扣减规则", example = "", hidden = true)
private OrderChildTimeoutRule orderChildTimeoutRuleJson;
@ApiModelProperty(value = "平台补偿积分规则", example = "", hidden = true)
......
package com.clx.performance.controller.app;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.collect.CollectTruckReportService;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
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.NotBlank;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/truck")
@Validated
@Api(tags = "APP-车辆上报")
@AllArgsConstructor
public class AppDriverCollectTruckController {
private final CollectTruckReportService collectTruckReportService;
@ApiOperation(value = "更新卸车方式", notes = "<br>By:艾庆国")
@PostMapping("/updateUnloadType")
public Result<Void> updateUnloadType(@RequestBody @Validated CollectTruckUnloadTypeUpdateParam param) {
collectTruckReportService.updateUnloadType(param);
return Result.ok();
}
@ApiOperation(value = "更新车贷情况", notes = "<br>By:艾庆国")
@PostMapping("/updateAutoLoanStatus")
public Result<Void> updateAutoLoanStatus(@RequestBody @Validated CollectAutoLoanStatusUpdateParam param) {
collectTruckReportService.updateAutoLoanStatus(param);
return Result.ok();
}
@ApiOperation(value = "更新车辆停放位置", notes = "<br>By:艾庆国")
@PostMapping("/updateParkAddress")
public Result<Void> updateParkAddress(@RequestBody @Validated CollectTruckReportParkAddressUpdateParam param) {
collectTruckReportService.updateParkAddress(param);
return Result.ok();
}
@ApiOperation(value = "更新拉运方式", notes = "<br>By:艾庆国")
@PostMapping("/updateOverTonnageType")
public Result<Void> updateOverTonnageType(@RequestBody @Validated CollectTruckReportOverTonnageTypeUpdateParam param) {
collectTruckReportService.updateOverTonnageType(param);
return Result.ok();
}
@ApiOperation(value = "更新接受距常驻地最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateUsualPlaceDistanceMax")
public Result<Void> updateDistanceUsualPlaceMax(@RequestBody @Validated CollectTruckReportDistanceUsualPlaceMaxUpdateParam param) {
collectTruckReportService.updateDistanceUsualPlaceMax(param);
return Result.ok();
}
@ApiOperation(value = "更新单次任务接受最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateLineDistanceMax")
public Result<Void> updateDistanceLineMax(@RequestBody @Validated CollectTruckReportDistanceLineMaxUpdateParam param) {
collectTruckReportService.updateDistanceLineMax(param);
return Result.ok();
}
@ApiOperation(value = "更新接受距货源地最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateSendAddressDistanceMax")
public Result<Void> updateDistanceSendAddressMax(@RequestBody @Validated CollectTruckReportDistanceSendAddressMaxUpdateParam param) {
collectTruckReportService.updateDistanceSendAddressMax(param);
return Result.ok();
}
@ApiOperation(value = "更新接受距货源地最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateGoodsType")
public Result<Void> updateGoodsType(@RequestBody @Validated CollectTruckReportGoodsTypeUpdateParam param) {
collectTruckReportService.updateGoodsType(param);
return Result.ok();
}
@ApiOperation(value = "查询车辆详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<AppCollectTruckVO> getReportInfo(@Validated @NotBlank(message = "车牌不能为空") String truckNo) {
return Result.ok(collectTruckReportService.getReportInfo(truckNo));
}
}
......@@ -26,5 +26,9 @@ public interface IntegralRecordDao extends BaseDao<IntegraRecordMapper, Integral
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
Integer countByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
}
package com.clx.performance.dao.collect;
import com.clx.performance.mapper.collect.CollectTruckMapper;
import com.clx.performance.model.collect.CollectTruck;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTruckDao extends BaseDao<CollectTruckMapper, CollectTruck, Integer> {
boolean update(CollectTruck item);
Optional<CollectTruck> getByUserNoAndTruckNo(Long userNo, String truckNo);
}
......@@ -45,4 +45,10 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte
return baseMapper.sumByStatisticsIdAndTypeAndTime(statisticsId, type, beginTime, endTime);
}
@Override
public Integer countByStatisticsIdAndTypeAndTime(Integer statisticsId, Integer type, String beginTime, String endTime) {
return baseMapper.countByStatisticsIdAndTypeAndTime(statisticsId, type, beginTime, endTime);
}
}
package com.clx.performance.dao.impl.collect;
import com.clx.performance.dao.collect.CollectTruckDao;
import com.clx.performance.mapper.collect.CollectTruckMapper;
import com.clx.performance.model.collect.CollectTruck;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTruckDaoImpl extends BaseDaoImpl<CollectTruckMapper, CollectTruck, Integer> implements CollectTruckDao {
@Override
public boolean update(CollectTruck item) {
return update(lUdWrapper()
.eq(CollectTruck::getId, item.getId())
.set(CollectTruck::getUnloadType, item.getUnloadType())
.set(CollectTruck::getAutoLoanStatus, item.getAutoLoanStatus())
.set(CollectTruck::getAutoLoanMonth, item.getAutoLoanMonth())
.set(CollectTruck::getParkAddress, item.getParkAddress())
.set(CollectTruck::getOverTonnageType, item.getOverTonnageType())
.set(CollectTruck::getDistanceUsualPlaceMax, item.getDistanceUsualPlaceMax())
.set(CollectTruck::getDistanceLineMax, item.getDistanceLineMax())
.set(CollectTruck::getDistanceSendAddressMax, item.getDistanceSendAddressMax())
.set(CollectTruck::getGoodsType, item.getGoodsType())
);
}
@Override
public Optional<CollectTruck> getByUserNoAndTruckNo(Long userNo, String truckNo) {
return Optional.of(truckNo)
.map(item -> lQrWrapper()
.eq(CollectTruck::getTruckNo, truckNo)
.eq(CollectTruck::getUserNo, userNo)
)
.map(super::getOne);
}
}
......@@ -34,5 +34,10 @@ public interface IntegraRecordMapper extends BaseMapper<IntegralRecord> {
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
@Select("select count(1) from integral_record where statistics_id = #{statisticsId} and type = #{type} and create_time >= #{beginTime} and create_time < #{endTime}")
Integer countByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.collect.CollectTruck;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTruckMapper extends BaseMapper<CollectTruck> {
}
\ No newline at end of file
......@@ -115,6 +115,10 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty("最晚到达货源地时间/运单的最晚装货时间")
private LocalDateTime lastArriveSendTime;
@TableField("last_arrive_receive_time")
@ApiModelProperty("'最晚到达目的地时间'")
private LocalDateTime lastArriveReceiveTime;
@TableField("pending_order_time")
@ApiModelProperty("挂单时间")
private LocalDateTime pendingOrderTime;
......
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
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 lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/11/07 11:11:41
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTruck implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private Integer truckId; //车辆id
private String truckNo; //车牌
private Integer unloadType; //卸车类型:1自卸侧翻 2自卸立翻 3非自卸
private Integer autoLoanStatus; //车贷状态:0无车贷 1有车贷
private Integer autoLoanMonth; //车贷剩余月份
private String parkAddress; //车辆停放位置
private Integer overTonnageType; //拉运方式:1标吨 2超吨 3白天标吨晚上超吨
private Integer distanceUsualPlaceMax; //接受距常驻地最远距离(公里)
private Integer distanceLineMax; //单次任务接受最远距离(公里)
private Integer distanceSendAddressMax; //接受距货源地最远距离(公里)
private String goodsType; //拉运货物意愿:1块煤 2面煤 3煤泥
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
......@@ -31,6 +31,7 @@ public class IntegralRule implements HasKey<Integer> {
private String orderDiscountRuleJson; //货单扣减积分规则
private String orderChildTimeoutRuleJson; //运单超时扣减规则
private String platformCompensationRuleJson; //平台补偿积分规则
private String driverRuleJson; //司机上报积分规则
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
......
package com.clx.performance.service.collect;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
public interface CollectTruckReportService {
void updateUnloadType(CollectTruckUnloadTypeUpdateParam param);
void updateAutoLoanStatus(CollectAutoLoanStatusUpdateParam param);
void updateParkAddress(CollectTruckReportParkAddressUpdateParam param);
void updateOverTonnageType(CollectTruckReportOverTonnageTypeUpdateParam param);
void updateDistanceUsualPlaceMax(CollectTruckReportDistanceUsualPlaceMaxUpdateParam param);
void updateDistanceLineMax(CollectTruckReportDistanceLineMaxUpdateParam param);
void updateDistanceSendAddressMax(CollectTruckReportDistanceSendAddressMaxUpdateParam param);
void updateGoodsType(CollectTruckReportGoodsTypeUpdateParam param);
AppCollectTruckVO getReportInfo(String truckNo);
}
package com.clx.performance.service.impl.collect;
import com.clx.performance.dao.collect.CollectTruckDao;
import com.clx.performance.model.collect.CollectTruck;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.collect.CollectTruckReportService;
import com.clx.performance.struct.collect.CollectTruckStruct;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class CollectTruckReportServiceImpl implements CollectTruckReportService {
@Autowired
private CollectTruckDao collectTruckDao;
@Autowired
private CollectTruckStruct collectTruckStruct;
@Override
public void updateUnloadType(CollectTruckUnloadTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setUnloadType(param.getUnloadType());
collectTruckDao.update(truck);
}
@Override
public void updateAutoLoanStatus(CollectAutoLoanStatusUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setAutoLoanStatus(param.getAutoLoanStatus());
truck.setAutoLoanMonth(param.getAutoLoanMonth());
collectTruckDao.update(truck);
}
@Override
public void updateParkAddress(CollectTruckReportParkAddressUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setParkAddress(param.getParkAddress());
collectTruckDao.update(truck);
}
@Override
public void updateOverTonnageType(CollectTruckReportOverTonnageTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setOverTonnageType(param.getOverTonnageType());
collectTruckDao.update(truck);
}
@Override
public void updateDistanceUsualPlaceMax(CollectTruckReportDistanceUsualPlaceMaxUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setDistanceUsualPlaceMax(param.getDistanceUsualPlaceMax());
collectTruckDao.update(truck);
}
@Override
public void updateDistanceLineMax(CollectTruckReportDistanceLineMaxUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setDistanceLineMax(param.getDistanceLineMax());
collectTruckDao.update(truck);
}
@Override
public void updateDistanceSendAddressMax(CollectTruckReportDistanceSendAddressMaxUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setDistanceSendAddressMax(param.getDistanceSendAddressMax());
collectTruckDao.update(truck);
}
@Override
public void updateGoodsType(CollectTruckReportGoodsTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setGoodsType(param.getGoodsType());
collectTruckDao.update(truck);
}
@Override
public AppCollectTruckVO getReportInfo(String truckNo) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, truckNo).orNull();
return collectTruckStruct.convertAppCollectTruckVO(truck);
}
}
......@@ -37,9 +37,10 @@ public class IntegralRuleServiceImpl implements IntegralRuleService {
AppIntegralRuleVO vo = new AppIntegralRuleVO();
vo.setOrderChildCompleteRule(JSON.parseObject(rule.getOrderChildCompleteRuleJson(), AppIntegralRuleVO.OrderChildCompleteRule.class));
vo.setOrderAwardRule(JSON.parseObject(rule.getOrderAwardRuleJson(), AppIntegralRuleVO.OrderAwardRule.class));
vo.setOrderDiscountRule(JSON.parseObject(rule.getOrderDiscountRuleJson(), AppIntegralRuleVO.OrderDiscountRule.class));
vo.setOrderChildCancelRule(JSON.parseObject(rule.getOrderDiscountRuleJson(), AppIntegralRuleVO.OrderChildCancelRule.class));
vo.setOrderChildTimeoutRule(JSON.parseObject(rule.getOrderChildTimeoutRuleJson(), AppIntegralRuleVO.OrderChildTimeoutRule.class));
vo.setPlatformCompensationRule(JSON.parseObject(rule.getPlatformCompensationRuleJson(), AppIntegralRuleVO.PlatformCompensationRule.class));
vo.setDriverReportRule(JSON.parseObject(rule.getDriverRuleJson(), AppIntegralRuleVO.DriverReportRule.class));
return vo;
}
......
......@@ -5,6 +5,7 @@ import com.clx.performance.dao.integral.IntegralTruckRuleDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.integral.IntegralTruckRule;
import com.clx.performance.param.pc.integral.*;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.service.integral.IntegralTruckRuleService;
import com.clx.performance.struct.integral.IntegralTruckRuleStruct;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
......@@ -25,6 +26,9 @@ public class IntegralTruckRuleServiceImpl implements IntegralTruckRuleService {
@Autowired
private IntegralTruckRuleStruct integralTruckRuleStruct;
@Autowired
private IntegralRuleService integralRuleService;
@Override
@Transactional(rollbackFor = Exception.class)
public void addRule(IntegralTruckRuleSaveParam param) {
......
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTruck;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTruckStruct {
AppCollectTruckVO convertAppCollectTruckVO(CollectTruck item);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论