Commit c8f40d73 authored by jiaorz's avatar jiaorz

Merge branch 'master-vehicle-memeber' into dev

parents 6ff37f0e 5880acec
package com.github.wxiaoqi.security.admin.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
/**
* 用户会员表
......@@ -141,4 +144,7 @@ public class BaseUserMember implements Serializable {
@Column(name = "member_name")
private String memberName;
@Column(name = "member_type")
private Integer memberType;
}
......@@ -85,6 +85,8 @@ public class AppUserDTO {
private Integer discount;
private Integer memberLevel = 0;
private String memberName;
//会员类型
private Integer memberType;
//图标
private String icon;
private String bigIcon;
......
......@@ -33,6 +33,7 @@ import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.AccompanyingItemType;
import com.xxfc.platform.vehicle.constant.VehicleMemberType;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleModel;
......@@ -88,6 +89,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
@Autowired
ActivityFeign activityFeign;
@PostConstruct
public void init(){
this.channel = Coupon.CHANNEL_RENT;
......@@ -576,6 +578,12 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO.setNumberPlate(numberPlate);
rentVehicleBookDTO.setStatus(status);
rentVehicleBookDTO.setUseType(detail.getUseType());
if (detail.getRentFreeDay() > 0) {//使用了免费天数
rentVehicleBookDTO.setMemberUse(detail.getAppUserDTO().getMemberType());
} else { //不用免费天数
rentVehicleBookDTO.setMemberUse(VehicleMemberType.NO.getCode());
}
if (detail.getAppUserDTO() != null) {
rentVehicleBookDTO.setVehicleUserPhone(detail.getAppUserDTO().getUsername());
rentVehicleBookDTO.setVehicleUsername(detail.getAppUserDTO().getRealname());
......
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum VehicleMemberType {
ALL(1,"所有会员"),
PAY(2,"兑换会员"),
EXCHANGE(3,"兑换会员"),
NO(4, "禁用会员")
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleMsgType constantType : VehicleMsgType.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
VehicleMemberType(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
......@@ -195,4 +195,10 @@ public class Vehicle {
* 是否删除;0-正常;1-删除
*/
private Integer isDel;
/**
* 是否能用会员:1、所有会员,2、充值会员,3、兑换会员,4、禁用会员
*/
@Column(name = "member_use")
private Integer memberUse;
}
\ No newline at end of file
......@@ -104,6 +104,9 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("扩展结束时间")
String endDateExtend;
@ApiModelProperty("会员免费类型")
Integer memberUse;
/**
* 用途 1 租车
*/
......
......@@ -17,6 +17,7 @@ import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.BookType;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.constant.VehicleMemberType;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.pojo.*;
......@@ -188,10 +189,15 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
dto.setEndCompanyId(dto.getEndCompanyId());
//查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if (pageDataVO.getData().size() <= 0) {
if (pageDataVO.getData().size() <= 0 && dto.getMemberUse().equals(VehicleMemberType.NO.getCode())) {
throw new BaseException(ResultCode.NOTEXIST_CODE, new HashSet<String>(){{
add("可用车辆不存在");
}});
} else if (pageDataVO.getData().size() <= 0 && !dto.getMemberUse().equals(VehicleMemberType.NO.getCode())) {
throw new BaseException(ResultCode.NOTEXIST_CODE, new HashSet<String>(){{
add("该车不能使用会员免费天数");
}});
}
bookVehicleId = pageDataVO.getData().get(0).getId();
}
......
......@@ -911,6 +911,9 @@
<!-- ,ifnull(vbi.booked_date,0) as booked_date-->
<!-- </if>-->
<include refid="searchUsableSql"/>
<if test="memberUse != null and memberUse>0">
and (v.member_use = 1 or v.member_use = #{memberUse})
</if>
<if test="lon != null and lat != null">
order by
distance asc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment