提交 cacc637b authored 作者: aiqingguo's avatar aiqingguo

积分优化

上级 98219fc7
......@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.Valid;
/**
* @Author: aiqingguo
* @Description: 新增积分
......@@ -19,15 +21,28 @@ import lombok.ToString;
@NoArgsConstructor
public class IntegralRuleUpdateParam {
@Valid
@ApiModelProperty(value = "运单完成积分规则")
private AppIntegralRuleVO.OrderChildCompleteRule orderChildCompleteRule;
@Valid
@ApiModelProperty(value = "货单奖励积分规则")
private AppIntegralRuleVO.OrderAwardRule orderAwardRule;
@Valid
@ApiModelProperty(value = "货单扣减积分规则")
private AppIntegralRuleVO.OrderChildCancelRule orderDiscountRule;
@Valid
@ApiModelProperty(value = "运单超时扣减规则")
private AppIntegralRuleVO.OrderChildTimeoutRule orderChildTimeoutRule;
@Valid
@ApiModelProperty(value = "平台补偿积分规则")
private AppIntegralRuleVO.PlatformCompensationRule platformCompensationRule;
@Valid
@ApiModelProperty(value = "司机上报积分规则")
private AppIntegralRuleVO.DriverReportRule driverReportRule;
}
......@@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
......@@ -43,15 +44,17 @@ public class AppIntegralRuleVO {
@NoArgsConstructor
public static class OrderChildCompleteRule{
@ApiModelProperty(value = "当日完成第1笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer1;
@ApiModelProperty(value = "当日完成第2笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer2;
@ApiModelProperty(value = "当日完成第3笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer3;
@ApiModelProperty(value = "当日完成第4笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer4;
@ApiModelProperty(value = "当日完成第5笔运单积分x")
private Integer integer5;
}
@Getter
@Setter
......@@ -62,7 +65,6 @@ public class AppIntegralRuleVO {
private Integer integerWater;
@ApiModelProperty(value = "当日流水单奖励次数上限x")
private Integer countWaterLimit;
@ApiModelProperty(value = "完成支援单每单附加积分x")
private Integer integerSupport;
@ApiModelProperty(value = "当日支援单奖励次数上限x")
......@@ -74,6 +76,7 @@ public class AppIntegralRuleVO {
@NoArgsConstructor
public static class OrderChildCancelRule {
@ApiModelProperty(value = "自行取消运单每单扣减积分x")
@NotNull(message = "参数不能为空")
private Integer integralCancel;
@ApiModelProperty(value = "自行取消流水单每单另扣积分x")
private Integer integralWaterCancel;
......@@ -86,8 +89,10 @@ public class AppIntegralRuleVO {
@NoArgsConstructor
public static class OrderChildTimeoutRule{
@ApiModelProperty(value = "超时未到达货源地扣积分x")
@NotNull(message = "参数不能为空")
private Integer integralSendAddressTimeout;
@ApiModelProperty(value = "超时未到达目的地扣积分x")
@NotNull(message = "参数不能为空")
private Integer integralReceiveAddressTimeout;
@ApiModelProperty(value = "接单超时扣积分x")
private Integer integralTakeOrderTimeout;
......
......@@ -415,33 +415,33 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_NUM.getValue(), completeNumIntegral, completeNumIntegralRemark);
}
// 奖励积分(低价)
// 奖励积分(低价)(下期启用)
int waterOrderIntegral = 0;
if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
waterOrderIntegral = ruleInfo.getOrderAwardRule().getIntegerWater();
}
if (waterOrderIntegral > 0){
Integer sum = integralRecordDao.countByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), dayStartTime, nextDayStartTime);
if (null == sum) {sum = 0;}
if ((sum + 1) > ruleInfo.getOrderAwardRule().getCountWaterLimit()) {waterOrderIntegral = 0;}
}
if (waterOrderIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), waterOrderIntegral, "流水单奖励");
}
// if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
// waterOrderIntegral = ruleInfo.getOrderAwardRule().getIntegerWater();
// }
// if (waterOrderIntegral > 0){
// Integer sum = integralRecordDao.countByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), dayStartTime, nextDayStartTime);
// if (null == sum) {sum = 0;}
// if ((sum + 1) > ruleInfo.getOrderAwardRule().getCountWaterLimit()) {waterOrderIntegral = 0;}
// }
// if (waterOrderIntegral > 0){
// integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), waterOrderIntegral, "流水单奖励");
// }
// 奖励积分(支持单)
// 奖励积分(支持单)(下期启用)
int supportOrderIntegral = 0;
if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
supportOrderIntegral = ruleInfo.getOrderAwardRule().getIntegerSupport();
}
if (supportOrderIntegral > 0){
Integer sum = integralRecordDao.countByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), dayStartTime, nextDayStartTime);
if (null == sum) {sum = 0;}
if ((sum + 1) > ruleInfo.getOrderAwardRule().getCountSupportLimit()) {supportOrderIntegral = 0;}
}
if (supportOrderIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), supportOrderIntegral, "支援单奖励");
}
// if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
// supportOrderIntegral = ruleInfo.getOrderAwardRule().getIntegerSupport();
// }
// if (supportOrderIntegral > 0){
// Integer sum = integralRecordDao.countByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), dayStartTime, nextDayStartTime);
// if (null == sum) {sum = 0;}
// if ((sum + 1) > ruleInfo.getOrderAwardRule().getCountSupportLimit()) {supportOrderIntegral = 0;}
// }
// if (supportOrderIntegral > 0){
// integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), supportOrderIntegral, "支援单奖励");
// }
// 超时
if (null == orderGoods.getLastArriveSendTime() && null == orderGoods.getLastArriveReceiveTime()){
......@@ -483,23 +483,25 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
// 运单取消积分
Integer cancelIntegral = -ruleInfo.getOrderChildCancelRule().getIntegralCancel();
String cancelIntegralRemark="";
if (IntegralOrder.OrderType.HIGH_QUALITY.getValue().equals(integralOrder.getOrderType())){
cancelIntegralRemark = "取消优质单";
}
else if (IntegralOrder.OrderType.NORMAL.getValue().equals(integralOrder.getOrderType())){
String cancelIntegralRemark="取消运单";
cancelIntegralRemark = "取消普通单";
}
else if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
cancelIntegral -= ruleInfo.getOrderChildCancelRule().getIntegralWaterCancel();
cancelIntegralRemark = "取消流水单";
}
else if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
cancelIntegral -= ruleInfo.getOrderChildCancelRule().getIntegralSupportCancel();
cancelIntegralRemark = "取消支援单";
}
//(下期启用)
// if (IntegralOrder.OrderType.HIGH_QUALITY.getValue().equals(integralOrder.getOrderType())){
//
// cancelIntegralRemark = "取消优质单";
// }
// else if (IntegralOrder.OrderType.NORMAL.getValue().equals(integralOrder.getOrderType())){
//
// cancelIntegralRemark = "取消普通单";
// }
// else if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
// cancelIntegral -= ruleInfo.getOrderChildCancelRule().getIntegralWaterCancel();
// cancelIntegralRemark = "取消流水单";
// }
// else if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
// cancelIntegral -= ruleInfo.getOrderChildCancelRule().getIntegralSupportCancel();
// cancelIntegralRemark = "取消支援单";
// }
if (cancelIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_CANCEL.getValue(), cancelIntegral, cancelIntegralRemark);
......
......@@ -26,6 +26,7 @@ public class IntegralRuleServiceImpl implements IntegralRuleService {
rule.setOrderDiscountRuleJson(JSON.toJSONString(param.getOrderDiscountRule()));
rule.setOrderChildTimeoutRuleJson(JSON.toJSONString(param.getOrderChildTimeoutRule()));
rule.setPlatformCompensationRuleJson(JSON.toJSONString(param.getPlatformCompensationRule()));
rule.setDriverRuleJson(JSON.toJSONString(param.getDriverReportRule()));
integralRuleDao.update(rule);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论