Commit d65e2626 authored by hezhen's avatar hezhen

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform into base-modify

parents 5c5f4701 a567d816
......@@ -10,7 +10,7 @@ spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://10.5.52.3:3306/xxfc_order?useUnicode=true&characterEncoding=UTF-8
url: jdbc:mysql://10.5.52.3:3306/vehicle?useUnicode=true&characterEncoding=UTF-8
username: root
password: sslcloud123*()
jackson:
......
......@@ -87,6 +87,7 @@ public class VehicleActiveController {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
vehicleActiveService.upkeepEnd(vehicleUpkeepEndVo);
return RestResponse.suc();
}
......
......@@ -75,5 +75,18 @@
</exclusion>
</exclusions>
</dependency>
<!-- 通用工具集合 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.10</version>
</dependency>
<dependency>
<groupId>com.github.stuxuhai</groupId>
<artifactId>jpinyin</artifactId>
<version>1.1.8</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -24,6 +24,8 @@
</plugins>
</build>
<dependencies>
</dependencies>
</project>
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Tolerate;
@Data
@Builder(toBuilder = true)
public class SysRegion {
@Tolerate
public SysRegion() {
}
private Long id;
/**
......
......@@ -135,5 +135,9 @@ public class Vehicle {
* 预计目的地分公司id
*/
private Integer expectDestinationBranchCompanyId;
/**
* 车型id
*/
private Integer modelId;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
/**
* 车型
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-21 14:15:27
*/
@Table(name = "vehicle_model")
public class VehicleModel implements Serializable {
private static final long serialVersionUID = 1L;
//主键
@Id
private Integer id;
//名称
@Column(name = "name")
private String name;
//牌照
@Column(name = "license_plate")
private String licensePlate;
//厂家
@Column(name = "factory")
private Integer factory;
//车型
@Column(name = "category")
private Integer category;
//长度mm
@Column(name = "length")
private Integer length;
//宽度mm
@Column(name = "width")
private Integer width;
//高度mm
@Column(name = "high")
private Integer high;
//乘坐人数
@Column(name = "seating")
private Integer seating;
//离地空隙mm
@Column(name = "above_ground")
private Integer aboveGround;
//排量
@Column(name = "displacement")
private Integer displacement;
//燃油类型
@Column(name = "fuel_type")
private Integer fuelType;
//功率
@Column(name = "power")
private Integer power;
//最大扭矩
@Column(name = "max_torque")
private Integer maxTorque;
//驱动形式
@Column(name = "drive_type")
private Integer driveType;
//变速箱
@Column(name = "gearbox")
private Integer gearbox;
//油箱大小
@Column(name = "fuel_tank_size")
private Integer fuelTankSize;
//排放标准
@Column(name = "emission_standard")
private Integer emissionStandard;
//最高车速
@Column(name = "max_speed")
private Integer maxSpeed;
//清水箱大小
@Column(name = "water_tank_size")
private Integer waterTankSize;
//灰水箱大小
@Column(name = "grey_water_tank_size")
private Integer greyWaterTankSize;
//黑水箱大小
@Column(name = "black_water_tank_size")
private Integer blackWaterTankSize;
//马 桶
@Column(name = "closestool")
private Integer closestool;
//配置,code逗号分割
@Column(name = "config")
private String config;
//关键字,code逗号分割
@Column(name = "keyword")
private String keyword;
//创建时间
@Column(name = "crt_time")
private Date crtTime;
//创建者id
@Column(name = "crt_user")
private Integer crtUser;
//创建者名称
@Column(name = "crt_name")
private String crtName;
//创建者host
@Column(name = "crt_host")
private String crtHost;
//修改时间
@Column(name = "upd_time")
private Date updTime;
//修改者
@Column(name = "upd_user")
private Integer updUser;
//修改者名称
@Column(name = "upd_name")
private String updName;
//修改者host
@Column(name = "upd_host")
private String updHost;
/**
* 设置:主键
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取:主键
*/
public Integer getId() {
return id;
}
/**
* 设置:名称
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取:名称
*/
public String getName() {
return name;
}
/**
* 设置:牌照
*/
public void setLicensePlate(String licensePlate) {
this.licensePlate = licensePlate;
}
/**
* 获取:牌照
*/
public String getLicensePlate() {
return licensePlate;
}
/**
* 设置:厂家
*/
public void setFactory(Integer factory) {
this.factory = factory;
}
/**
* 获取:厂家
*/
public Integer getFactory() {
return factory;
}
/**
* 设置:车型
*/
public void setCategory(Integer category) {
this.category = category;
}
/**
* 获取:车型
*/
public Integer getCategory() {
return category;
}
/**
* 设置:长度mm
*/
public void setLength(Integer length) {
this.length = length;
}
/**
* 获取:长度mm
*/
public Integer getLength() {
return length;
}
/**
* 设置:宽度mm
*/
public void setWidth(Integer width) {
this.width = width;
}
/**
* 获取:宽度mm
*/
public Integer getWidth() {
return width;
}
/**
* 设置:高度mm
*/
public void setHigh(Integer high) {
this.high = high;
}
/**
* 获取:高度mm
*/
public Integer getHigh() {
return high;
}
/**
* 设置:乘坐人数
*/
public void setSeating(Integer seating) {
this.seating = seating;
}
/**
* 获取:乘坐人数
*/
public Integer getSeating() {
return seating;
}
/**
* 设置:离地空隙mm
*/
public void setAboveGround(Integer aboveGround) {
this.aboveGround = aboveGround;
}
/**
* 获取:离地空隙mm
*/
public Integer getAboveGround() {
return aboveGround;
}
/**
* 设置:排量
*/
public void setDisplacement(Integer displacement) {
this.displacement = displacement;
}
/**
* 获取:排量
*/
public Integer getDisplacement() {
return displacement;
}
/**
* 设置:燃油类型
*/
public void setFuelType(Integer fuelType) {
this.fuelType = fuelType;
}
/**
* 获取:燃油类型
*/
public Integer getFuelType() {
return fuelType;
}
/**
* 设置:功率
*/
public void setPower(Integer power) {
this.power = power;
}
/**
* 获取:功率
*/
public Integer getPower() {
return power;
}
/**
* 设置:最大扭矩
*/
public void setMaxTorque(Integer maxTorque) {
this.maxTorque = maxTorque;
}
/**
* 获取:最大扭矩
*/
public Integer getMaxTorque() {
return maxTorque;
}
/**
* 设置:驱动形式
*/
public void setDriveType(Integer driveType) {
this.driveType = driveType;
}
/**
* 获取:驱动形式
*/
public Integer getDriveType() {
return driveType;
}
/**
* 设置:变速箱
*/
public void setGearbox(Integer gearbox) {
this.gearbox = gearbox;
}
/**
* 获取:变速箱
*/
public Integer getGearbox() {
return gearbox;
}
/**
* 设置:油箱大小
*/
public void setFuelTankSize(Integer fuelTankSize) {
this.fuelTankSize = fuelTankSize;
}
/**
* 获取:油箱大小
*/
public Integer getFuelTankSize() {
return fuelTankSize;
}
/**
* 设置:排放标准
*/
public void setEmissionStandard(Integer emissionStandard) {
this.emissionStandard = emissionStandard;
}
/**
* 获取:排放标准
*/
public Integer getEmissionStandard() {
return emissionStandard;
}
/**
* 设置:最高车速
*/
public void setMaxSpeed(Integer maxSpeed) {
this.maxSpeed = maxSpeed;
}
/**
* 获取:最高车速
*/
public Integer getMaxSpeed() {
return maxSpeed;
}
/**
* 设置:清水箱大小
*/
public void setWaterTankSize(Integer waterTankSize) {
this.waterTankSize = waterTankSize;
}
/**
* 获取:清水箱大小
*/
public Integer getWaterTankSize() {
return waterTankSize;
}
/**
* 设置:灰水箱大小
*/
public void setGreyWaterTankSize(Integer greyWaterTankSize) {
this.greyWaterTankSize = greyWaterTankSize;
}
/**
* 获取:灰水箱大小
*/
public Integer getGreyWaterTankSize() {
return greyWaterTankSize;
}
/**
* 设置:黑水箱大小
*/
public void setBlackWaterTankSize(Integer blackWaterTankSize) {
this.blackWaterTankSize = blackWaterTankSize;
}
/**
* 获取:黑水箱大小
*/
public Integer getBlackWaterTankSize() {
return blackWaterTankSize;
}
/**
* 设置:马 桶
*/
public void setClosestool(Integer closestool) {
this.closestool = closestool;
}
/**
* 获取:马 桶
*/
public Integer getClosestool() {
return closestool;
}
/**
* 设置:配置,code逗号分割
*/
public void setConfig(String config) {
this.config = config;
}
/**
* 获取:配置,code逗号分割
*/
public String getConfig() {
return config;
}
/**
* 设置:关键字,code逗号分割
*/
public void setKeyword(String keyword) {
this.keyword = keyword;
}
/**
* 获取:关键字,code逗号分割
*/
public String getKeyword() {
return keyword;
}
/**
* 设置:创建时间
*/
public void setCrtTime(Date crtTime) {
this.crtTime = crtTime;
}
/**
* 获取:创建时间
*/
public Date getCrtTime() {
return crtTime;
}
/**
* 设置:创建者id
*/
public void setCrtUser(Integer crtUser) {
this.crtUser = crtUser;
}
/**
* 获取:创建者id
*/
public Integer getCrtUser() {
return crtUser;
}
/**
* 设置:创建者名称
*/
public void setCrtName(String crtName) {
this.crtName = crtName;
}
/**
* 获取:创建者名称
*/
public String getCrtName() {
return crtName;
}
/**
* 设置:创建者host
*/
public void setCrtHost(String crtHost) {
this.crtHost = crtHost;
}
/**
* 获取:创建者host
*/
public String getCrtHost() {
return crtHost;
}
/**
* 设置:修改时间
*/
public void setUpdTime(Date updTime) {
this.updTime = updTime;
}
/**
* 获取:修改时间
*/
public Date getUpdTime() {
return updTime;
}
/**
* 设置:修改者
*/
public void setUpdUser(Integer updUser) {
this.updUser = updUser;
}
/**
* 获取:修改者
*/
public Integer getUpdUser() {
return updUser;
}
/**
* 设置:修改者名称
*/
public void setUpdName(String updName) {
this.updName = updName;
}
/**
* 获取:修改者名称
*/
public String getUpdName() {
return updName;
}
/**
* 设置:修改者host
*/
public void setUpdHost(String updHost) {
this.updHost = updHost;
}
/**
* 获取:修改者host
*/
public String getUpdHost() {
return updHost;
}
}
......@@ -12,6 +12,10 @@ public class PageDataVO<T> {
*/
private Long totalCount;
private Integer totalPage;
private Integer pageNum;
/**
* 实际数据
*/
......@@ -21,6 +25,8 @@ public class PageDataVO<T> {
PageDataVO<M> pageDataVo = new PageDataVO<>();
pageDataVo.setTotalCount(pageInfo.getTotal());
pageDataVo.setData(pageInfo.getList());
pageDataVo.setPageNum(pageInfo.getPageNum());
pageDataVo.setTotalPage(pageInfo.getPages());
return pageDataVo;
}
......
package com.xxfc.platform.vehicle.vo;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import lombok.Data;
import java.util.List;
@Data
public class UsableVehicleVO extends VehicleModel {
//车辆id
String vehicleId;
BranchCompany company;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.vo;
import lombok.Data;
import java.time.LocalDate;
@Data
public class UsableVeicleDTO {
Integer page;
Integer limit;
Integer addrCity;
String lon;
String lat;
String startDate;
String endDate;
}
\ No newline at end of file
......@@ -115,75 +115,75 @@ public class VehiclePageQueryVo {
*/
private Integer haveViolation;
public Integer getMileageRangeStart() {
return mileageRangeStart;
}
public void setMileageRangeStart(Integer mileageRangeStart) {
this.mileageRangeStart = mileageRangeStart;
}
public Integer getMileageRangeEnd() {
return mileageRangeEnd;
}
public void setMileageRangeEnd(Integer mileageRangeEnd) {
this.mileageRangeEnd = mileageRangeEnd;
}
public Integer getInsuranceCompany() {
return insuranceCompany;
}
public void setInsuranceCompany(Integer insuranceCompany) {
this.insuranceCompany = insuranceCompany;
}
public Date getInsuranceDateRangeStart() {
return insuranceDateRangeStart;
}
public void setInsuranceDateRangeStart(Date insuranceDateRangeStart) {
this.insuranceDateRangeStart = insuranceDateRangeStart;
}
public Date getInsuranceDateRangeEnd() {
return insuranceDateRangeEnd;
}
public void setInsuranceDateRangeEnd(Date insuranceDateRangeEnd) {
this.insuranceDateRangeEnd = insuranceDateRangeEnd;
}
public Date getaVRangeDateStart() {
return aVRangeDateStart;
}
public void setaVRangeDateStart(Date aVRangeDateStart) {
this.aVRangeDateStart = aVRangeDateStart;
}
public Date getaVRangeDateEnd() {
return aVRangeDateEnd;
}
public void setaVRangeDateEnd(Date aVRangeDateEnd) {
this.aVRangeDateEnd = aVRangeDateEnd;
}
public Date getmRangeDateStart() {
return mRangeDateStart;
}
public void setmRangeDateStart(Date mRangeDateStart) {
this.mRangeDateStart = mRangeDateStart;
}
public Date getmRangeDateEnd() {
return mRangeDateEnd;
}
public void setmRangeDateEnd(Date mRangeDateEnd) {
this.mRangeDateEnd = mRangeDateEnd;
}
// public Integer getMileageRangeStart() {
// return mileageRangeStart;
// }
//
// public void setMileageRangeStart(Integer mileageRangeStart) {
// this.mileageRangeStart = mileageRangeStart;
// }
//
// public Integer getMileageRangeEnd() {
// return mileageRangeEnd;
// }
//
// public void setMileageRangeEnd(Integer mileageRangeEnd) {
// this.mileageRangeEnd = mileageRangeEnd;
// }
//
// public Integer getInsuranceCompany() {
// return insuranceCompany;
// }
//
// public void setInsuranceCompany(Integer insuranceCompany) {
// this.insuranceCompany = insuranceCompany;
// }
//
// public Date getInsuranceDateRangeStart() {
// return insuranceDateRangeStart;
// }
//
// public void setInsuranceDateRangeStart(Date insuranceDateRangeStart) {
// this.insuranceDateRangeStart = insuranceDateRangeStart;
// }
//
// public Date getInsuranceDateRangeEnd() {
// return insuranceDateRangeEnd;
// }
//
// public void setInsuranceDateRangeEnd(Date insuranceDateRangeEnd) {
// this.insuranceDateRangeEnd = insuranceDateRangeEnd;
// }
//
// public Date getaVRangeDateStart() {
// return aVRangeDateStart;
// }
//
// public void setaVRangeDateStart(Date aVRangeDateStart) {
// this.aVRangeDateStart = aVRangeDateStart;
// }
//
// public Date getaVRangeDateEnd() {
// return aVRangeDateEnd;
// }
//
// public void setaVRangeDateEnd(Date aVRangeDateEnd) {
// this.aVRangeDateEnd = aVRangeDateEnd;
// }
//
// public Date getmRangeDateStart() {
// return mRangeDateStart;
// }
//
// public void setmRangeDateStart(Date mRangeDateStart) {
// this.mRangeDateStart = mRangeDateStart;
// }
//
// public Date getmRangeDateEnd() {
// return mRangeDateEnd;
// }
//
// public void setmRangeDateEnd(Date mRangeDateEnd) {
// this.mRangeDateEnd = mRangeDateEnd;
// }
}
......@@ -7,8 +7,10 @@ import com.google.common.collect.Lists;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.RegionType;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.SysRegion;
import com.xxfc.platform.vehicle.mapper.SysRegionMapper;
import com.xxfc.platform.vehicle.vo.CompanySearchVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -18,6 +20,8 @@ import org.springframework.core.task.TaskExecutor;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.List;
......@@ -191,5 +195,14 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
log.info("刷新常量数据任务成功");
}
/**
* 5分钟内刷新数据到缓存
*/
public List<SysRegion> selectCity(){
List<SysRegion> selectByWeekendSql = mapper.selectByExample(new Example.Builder(SysRegion.class)
.where(WeekendSqls.<SysRegion>custom().andLike(SysRegion::getId, "%00")
.andNotLike(SysRegion::getId, "%0000"))
.build());
return selectByWeekendSql;
}
}
......@@ -784,6 +784,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
params.remove("pageNo");
//处理预定日期相关参数
adjustBookedInfoParam(params,vehiclePageQueryVo);
params.get("yearMonthAndParam");
PageHelper.startPage(pageNo,pageSize);
List<QueryVehicleVo> vehicles = mapper.getByPage(params);
PageInfo<QueryVehicleVo> vehiclePageInfo = new PageInfo<>(vehicles);
......@@ -814,8 +815,6 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
return PageDataVO.pageInfo(vehiclePageInfo);
}
public List<Integer> dataCompany(String dataZone, String dataCompany) {
List<BranchCompany> zoneCompanys = branchCompanyBiz.dataCompany(dataZone);
//((VehicleBiz)AopContext.currentProxy()).dataCompany(dataZone);
......@@ -827,4 +826,31 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
//去重
return zoneCompanyIds.parallelStream().distinct().collect(Collectors.toList());
}
public List<UsableVehicleVO> searchUsable(UsableVeicleDTO dto){
//adjustBookedInfoParam(params, );
Map<String, Object> params = new HashMap<String, Object>();
List<String> notBookedDates = Lists.newArrayList();
if(StringUtils.isNotBlank(dto.getStartDate())&&
StringUtils.isNotBlank(dto.getEndDate())) {
notBookedDates = convertDatePeriod2List(dto.getStartDate(),
dto.getEndDate());
}
//若传入预定信息查询条件,则查询对应月份预定信息查询条件(不超过3个月)
if(CollectionUtils.isEmpty(notBookedDates)){
//return;
}
//筛选出查询条件所在月份
Set<String> allYearMonth = new HashSet<>();//记录所有年月
Map<String,List<String>> yearMonthAndDate = new HashMap<>();//预定年月 - 预定日期列表
Map<String,List<String>> yearMonthAndDateNotBooked = new HashMap<>();//未预定年月 - 未预定日期列表
classifyByYearMonth(notBookedDates,yearMonthAndDateNotBooked,allYearMonth);
if(allYearMonth.size()>MAX_MONTH_COUNT_BOOKED_INFO_QUERY){
throw new CustomIllegalParamException(" only 3 month can be included <bookedInfo> param.");
}
//加入预定信息查询条件
fillBookedDateSearchParam(params,yearMonthAndDate,yearMonthAndDateNotBooked);
return mapper.searchUsable(params);
}
}
package com.xxfc.platform.vehicle.biz;
import org.springframework.stereotype.Service;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.mapper.VehicleModelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
/**
* 车型
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-21 14:15:27
*/
@Service
public class VehicleModelBiz extends BaseBiz<VehicleModelMapper,VehicleModel> {
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.vo.AddOrUpdateVehicleVo;
import com.xxfc.platform.vehicle.vo.QueryVehicleVo;
import com.xxfc.platform.vehicle.vo.UsableVehicleVO;
import org.springframework.data.repository.query.Param;
import tk.mybatis.mapper.common.Mapper;
......@@ -27,4 +28,6 @@ public interface VehicleMapper extends Mapper<Vehicle> {
@Param("lastStatus") Integer lastStatus);
Vehicle selectByNumberPlate(String numberPlate);
List<UsableVehicleVO> searchUsable(Map<String, Object> params);
}
\ No newline at end of file
package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.vo.UsableVehicleVO;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* 车型
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-21 14:15:27
*/
public interface VehicleModelMapper extends Mapper<VehicleModel> {
}
......@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleBookRecordBiz;
import com.xxfc.platform.vehicle.common.BaseController;
......@@ -245,5 +246,18 @@ public class VehicleController extends BaseController<VehicleBiz> {
return vehicleBookRecordBiz.retVehicle(operatorId, userName, retVehicleVo);
}
/**
* 可用车辆查询
*
* @param dto
* @return
*/
@RequestMapping(value = "/rent/usable-vehicle", method = RequestMethod.GET)
public ObjectRestResponse<PageDataVO<UsableVehicleVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception {
//根据时间 获得 可用车辆
//结合车型
//vehicleBiz.searchUsable(dto);
return new ObjectRestResponse<>().data(vehicleBiz.searchUsable(dto)).rel(true);
}
}
package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.vehicle.biz.VehicleModelBiz;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("vehicleModel")
public class VehicleModelController extends BaseController<VehicleModelBiz,VehicleModel> {
}
\ No newline at end of file
......@@ -2,6 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleMapper">
<resultMap id="searchUsableMap" type="com.xxfc.platform.vehicle.vo.UsableVehicleVO">
<!-- <collection column="company_id" property="company_id" ofType="com.xxfc.platform.vehicle" select="getAttribute" >-->
</resultMap>
<update id="updateStatusById" parameterType="java.util.Map">
update vehicle set status = #{status} where id in
<foreach collection="idList" index="i" item="item" separator="," open="(" close=")">
......@@ -211,6 +215,33 @@
order by v.code
</select>
<select id="searchUsable" parameterType="java.util.Map"
resultType="com.xxfc.platform.vehicle.vo.UsableVehicleVO">
select v.id as vehicleId, v.park_branch_company_id as company_id
<if test=" yearMonthAndParam !=null ">
,vbi.booked_date
</if>
from vehicle v
<if test=" yearMonthAndParam !=null ">
left join
vehicle_book_info vbi on v.`id` = vbi.vehicle
</if>
left join branch_company bc on v.`subordinate_branch` = bc.id
<where>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<if test=" yearMonthAndParam !=null ">
<foreach collection="yearMonthAndParam" index="yearMonth" item="andOperation">
and
( (vbi.`year_month` = #{yearMonth} or vbi.`year_month` is null) and
ifnull(vbi.`booked_date`,0) &amp; #{andOperation.andOperationFactor} = #{andOperation.andOperationRs}
)
</foreach>
</if>
</where>
order by v.code
</select>
<select id="lockByCode" resultType="com.xxfc.platform.vehicle.entity.Vehicle"
parameterType="com.xxfc.platform.vehicle.vo.AddOrUpdateVehicleVo">
select
......
package com.xxfc.vehicle;
import cn.hutool.core.comparator.PinyinComparator;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.core.util.PinyinUtil;
import cn.hutool.core.util.StrUtil;
import com.github.stuxuhai.jpinyin.PinyinHelper;
import com.xxfc.platform.vehicle.VehicleApplication;
import com.xxfc.platform.vehicle.biz.SysRegionBiz;
import com.xxfc.platform.vehicle.entity.SysRegion;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={VehicleApplication.class})
public class RegionTest {
@Autowired
SysRegionBiz sysRegionBiz;
@Test
public void test() throws Exception {
List<SysRegion> sysRegions = sysRegionBiz.selectCity();
String str = new String();
str += "{ \n\"city\": [";
for(int i = 1;i<=26;i++) {
str += "\n{ \"title\": \""+(char)(64+i)+"\", \n";
str += "\"lists\":[\n";
Boolean flag = false;
for(SysRegion sysRegion : sysRegions) {
if(PinyinHelper.getShortPinyin(sysRegion.getName()).substring(0,1).equals(String.valueOf((char)(96+i)))){
//(sysRegion.getName()))
String name = sysRegion.getName();
if("直辖县级".equals(name)) {
//获得父级
SysRegion sysRegionP = sysRegionBiz.selectOne(SysRegion.builder().parentId(sysRegion.getId()).build());
name = sysRegionP.getName();
}
str += "{\"id\":"+sysRegion.getId()+", \"name\":\""+name+"\"},\n";
flag = true;
}
}
if(flag) {
str = StrUtil.sub(str, 0, str.length() - 2);
}
str += "]";
str += "},\n";
}
str = StrUtil.sub(str, 0, str.length() - 2);
str += "] \n }";
FileWriter writer = new FileWriter("D://"+ DateUtil.currentSeconds()+ "test.properties");
writer.write(str);
System.out.println("test");
}
}
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