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

积分优化

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