Commit 0b1c3c3c authored by libin's avatar libin

Merge branches 'holiday-price' and 'master-auto-pay' into base-modify

...@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.feign; ...@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.feign;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin; import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
...@@ -129,4 +130,7 @@ public interface UserFeign { ...@@ -129,4 +130,7 @@ public interface UserFeign {
@GetMapping("/app/user/finduserIdsByphones") @GetMapping("/app/user/finduserIdsByphones")
Map<String, Integer> findAppusersByUserNames(@RequestParam(value = "phones") List<String> phones); Map<String, Integer> findAppusersByUserNames(@RequestParam(value = "phones") List<String> phones);
@GetMapping("/member/user")
BaseUserMember findBaseUserMemberByUserId(@RequestParam(value = "userId") Integer userId);
} }
...@@ -105,7 +105,7 @@ public class AppUserAlipayBiz extends BaseBiz<AppUserAlipayMapper, AppUserAlipay ...@@ -105,7 +105,7 @@ public class AppUserAlipayBiz extends BaseBiz<AppUserAlipayMapper, AppUserAlipay
AppUserAlipay wxAppUser = new AppUserAlipay(); AppUserAlipay wxAppUser = new AppUserAlipay();
wxAppUser.setType(2); wxAppUser.setType(2);
wxAppUser.setUserId(userId); wxAppUser.setUserId(userId);
wxAppUser.setNickname(appUserDetail.getWxNickname()); wxAppUser.setNickname(StringUtils.isEmpty(appUserDetail.getWxNickname())?appUserDetail.getNickname():appUserDetail.getWxNickname());
wxAppUser.setTxAlipay(appUserLogin.getWxOpenid()); wxAppUser.setTxAlipay(appUserLogin.getWxOpenid());
appUserAlipays.add(wxAppUser); appUserAlipays.add(wxAppUser);
} }
......
package com.github.wxiaoqi.security.admin.mapper; package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
...@@ -14,7 +13,6 @@ import java.util.List; ...@@ -14,7 +13,6 @@ import java.util.List;
* @email nishijjo@qq.com * @email nishijjo@qq.com
* @date 2019-06-11 11:06:45 * @date 2019-06-11 11:06:45
*/ */
@Repository
public interface BaseUserMemberLevelMapper extends Mapper<BaseUserMemberLevel> { public interface BaseUserMemberLevelMapper extends Mapper<BaseUserMemberLevel> {
List<BaseUserMemberLevel> selectUserMembersLevelByLevels(@Param("levels") List<Integer> levels); List<BaseUserMemberLevel> selectUserMembersLevelByLevels(@Param("levels") List<Integer> levels);
......
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz; import com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -49,4 +50,9 @@ public class UserMemberController { ...@@ -49,4 +50,9 @@ public class UserMemberController {
) throws Exception { ) throws Exception {
return memberBiz.upMemberDays(userId, days, type); return memberBiz.upMemberDays(userId, days, type);
} }
@GetMapping("/user")
public BaseUserMemberVO findBaseUserMemberByUserId(@RequestParam(value = "userId") Integer userId){
return memberBiz.findOneByUserId(userId);
}
} }
package com.xxfc.platform.order.pojo.order; package com.xxfc.platform.order.pojo.order;
import com.xxfc.platform.order.entity.OrderItem; import com.xxfc.platform.order.entity.OrderItem;
import lombok.Data;
public class OrderItemDTO extends OrderItem { import java.math.BigDecimal;
@Data
public class OrderItemDetailDTO {
Integer day;
BigDecimal price;
} }
...@@ -27,6 +27,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; ...@@ -27,6 +27,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderItem; import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderTemplate; import com.xxfc.platform.order.entity.OrderTemplate;
import com.xxfc.platform.order.pojo.OrderAccompanyDTO; import com.xxfc.platform.order.pojo.OrderAccompanyDTO;
import com.xxfc.platform.order.pojo.order.OrderItemDetailDTO;
import com.xxfc.platform.order.pojo.order.RentVehicleBO; import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO; import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
...@@ -233,6 +234,17 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -233,6 +234,17 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//车型信息 //车型信息
VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData(); VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData();
//itemDetail
List<OrderItemDetailDTO> orderItemDetailDTOS = CollUtil.newArrayList(new OrderItemDetailDTO() {{
setDay(20191015);
setPrice(BigDecimal.ONE);
}}, new OrderItemDetailDTO() {{
setDay(20191016);
setPrice(BigDecimal.TEN);
}});
//orderItemDetailDTOS.parallelStream().
//设置Item //设置Item
OrderItem vehicleOrderItem = orderItemBiz.initOrderItem(vehicleModel.getPrice(), detail.getDayNum(), vehicleModel.getName(), vehicleModel.getId(), ItemTypeEnum.VEHICLE_MODEL); OrderItem vehicleOrderItem = orderItemBiz.initOrderItem(vehicleModel.getPrice(), detail.getDayNum(), vehicleModel.getName(), vehicleModel.getId(), ItemTypeEnum.VEHICLE_MODEL);
OrderItem driverOrderItem = orderItemBiz.initOrderItem(DRIVER_PRICE, detail.getDayNum(), "平台司机", null, ItemTypeEnum.DRIVER); OrderItem driverOrderItem = orderItemBiz.initOrderItem(DRIVER_PRICE, detail.getDayNum(), "平台司机", null, ItemTypeEnum.DRIVER);
......
package com.xxfc.platform.vehicle.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description 车型日历价格
* @data 2019/10/14 16:32
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "vehicle_model_calendar_price")
public class VehicleModelCalendarPrice implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 日期设置
*/
@Column(name = "vehicle_model_day")
private Date vehicleModelDay;
/**
* 是否全局设置
*/
@Column(name = "is_global")
private Boolean isGlobal;
/**
* 车型id
*/
@Column(name = "vehicle_model_id")
private Integer vehicleModelId;
/**
* 1:倍数 2:绝对值 3:会员价
*/
private Integer type;
/**
* 倍数
*/
private Double multiple;
/**
* 抵扣天数
*/
@Column(name = "free_days")
private Integer freeDays;
/**
* 绝对值 或会员价
*/
private BigDecimal price;
/**
* 创建时间
*/
@Column(name = "crt_time")
private Date crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
private Date updTime;
/**
* 创建者id
*/
@Column(name = "crt_userId")
private Integer crtUserId;
/**
* 更新者id
*/
@Column(name = "upd_userId")
private Integer updUserId;
@Column(name = "is_del")
private Integer isDel;
/**
* 会员等级 1:普通 2:黄金 3:钻石
*/
private Integer level;
}
package com.xxfc.platform.vehicle.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 16:30
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "vehicle_model_holiday_price")
public class VehicleModelHolidayPrice implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 节假日日期
*/
@Column(name = "festival_day")
private Date festivalDay;
/**
* 节假日
*/
private String festival;
/**
* 倍数
*/
private Double multiple;
/**
* 免费天数
*/
@Column(name = "free_days")
private Integer freeDays;
/**
* 创建时间
*/
@Column(name = "crt_time")
private Date crtTime;
/**
* 创建者
*/
@Column(name = "crt_userId")
private Integer crtUserId;
/**
* 更新时间
*/
@Column(name = "upd_time")
private Date updTime;
/**
* 更新者
*/
@Column(name = "upd_userId")
private Integer updUserId;
@Column(name = "is_del")
private Integer isDel;
}
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:11
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class VehicleModelCalendarPriceDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Date date;
private BigDecimal price;
private Integer freeDays;
private Boolean isSelect;
}
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:11
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class VehicleModelCalendarPriceSaveDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 日期设置
*/
private Date vehicleModelDay;
/**
* 是否全局设置
*/
private Boolean isGlobal;
/**
* 车型id
*/
private Integer vehicleModelId;
/**
* 1:倍数 2:绝对值 3:会员价
*/
private Integer type;
/**
* 倍数
*/
private Double multiple;
/**
* 抵扣天数
*/
private Integer freeDays;
/**
* 绝对值 或会员价
*/
private BigDecimal price;
/**
* 会员等级 1:普通 2:黄金 3:钻石
*/
private Integer level;
}
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/15 18:06
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class VehicleModelDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer vehicleModelId;
private String name;
private BigDecimal basePrice;
}
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 18:59
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class VehicleModelHolidayPriceDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 节假日日期
*/
private Date festivalDay;
/**
* 节假日
*/
private String festival;
/**
* 倍数
*/
private Double multiple;
/**
* 免费天数
*/
private Integer freeDays;
}
package com.xxfc.platform.vehicle.pojo.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 18:34
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class VehicleModelHolidayPriceFindDTO extends PageParam {
private String festival;
private Date date;
}
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:12
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class VehicleModelHolidayPriceSaveDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 节假日日期
*/
private Date festivalDay;
/**
* 节假日
*/
private String festival;
/**
* 倍数
*/
private Double multiple;
/**
* 免费天数
*/
private Integer freeDays;
}
package com.xxfc.platform.vehicle.pojo.vo;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/15 17:55
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class VehicleModelDayPriceVo extends VehicleModelDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 绝对值 | 会员价
*/
private BigDecimal price;
/**
* 倍数
*/
private Double multiple;
}
package com.xxfc.platform.vehicle.pojo.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:18
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class VehicleModelHolidayPriceVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 节假日日期
*/
private Date festivalDay;
/**
* 节假日
*/
private String festival;
/**
* 倍数
*/
private Double multiple;
/**
* 免费天数
*/
private Integer freeDays;
/**
* 创建时间
*/
private Date crtTime;
/**
* 更新时间
*/
private Date updTime;
}
...@@ -4,6 +4,7 @@ import com.github.pagehelper.Page; ...@@ -4,6 +4,7 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.RandomUtil; import com.github.wxiaoqi.security.common.util.RandomUtil;
import com.github.wxiaoqi.security.common.vo.GoodDataVO; import com.github.wxiaoqi.security.common.vo.GoodDataVO;
...@@ -13,6 +14,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel; ...@@ -13,6 +14,7 @@ import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.mapper.VehicleModelMapper; import com.xxfc.platform.vehicle.mapper.VehicleModelMapper;
import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition; import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition;
import com.xxfc.platform.vehicle.pojo.VehicleModelVo; import com.xxfc.platform.vehicle.pojo.VehicleModelVo;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -21,6 +23,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; ...@@ -21,6 +23,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
/** /**
...@@ -152,4 +155,16 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> { ...@@ -152,4 +155,16 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> {
// } // }
return goodDataVOS; return goodDataVOS;
} }
public BigDecimal findVehicleModelPriceByVehicleModelId(Integer vehicleModelId) {
BigDecimal price = mapper.selectPriceById(vehicleModelId);
if (price==null || price.doubleValue()==0.0){
throw new BaseException("该车型不存在原价");
}
return price;
}
public List<VehicleModelDTO> findAllVehicleModel() {
return mapper.findAllVehicleModel();
}
} }
\ No newline at end of file
package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.entity.VehicleModelHolidayPrice;
import com.xxfc.platform.vehicle.mapper.VehicleModelHolidayPriceMapper;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelHolidayPriceDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelHolidayPriceFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelHolidayPriceSaveDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleModelHolidayPriceVo;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:32
*/
@Transactional(rollbackFor = Exception.class)
@Service
public class VehicleModelHolidayPriceBiz extends BaseBiz<VehicleModelHolidayPriceMapper, VehicleModelHolidayPrice> {
/**
* 保存
*
* @param vehicleModelHolidayPriceSaveDTO
* @param userId
*/
public void addVehicleModelHolidayPrice(VehicleModelHolidayPriceSaveDTO vehicleModelHolidayPriceSaveDTO, Integer userId) {
VehicleModelHolidayPrice vehicleModelHolidayPrice = new VehicleModelHolidayPrice();
BeanUtils.copyProperties(vehicleModelHolidayPriceSaveDTO, vehicleModelHolidayPrice);
//编辑
if (Objects.nonNull(vehicleModelHolidayPriceSaveDTO.getId())) {
vehicleModelHolidayPrice.setUpdTime(new Date());
vehicleModelHolidayPrice.setUpdUserId(userId);
int effect = mapper.updateByPrimaryKeySelective(vehicleModelHolidayPrice);
if (effect < 1) {
throw new BaseException("车型节假日设置失败");
}
} else {
vehicleModelHolidayPrice.setCrtTime(new Date());
vehicleModelHolidayPrice.setCrtUserId(userId);
int effect = mapper.insertSelective(vehicleModelHolidayPrice);
if (effect < 1) {
throw new BaseException("车型节假日保存失败");
}
}
}
/**
*
* @param multiple 倍数
* @param freeDays 免费天数
* @param configDate 设置的日期*月份
*/
public void updateVehicleModelHolidayPrice(Double multiple,Integer freeDays,Date configDate){
VehicleModelHolidayPrice vehicleModelHolidayPrice = new VehicleModelHolidayPrice();
vehicleModelHolidayPrice.setMultiple(multiple);
vehicleModelHolidayPrice.setFreeDays(freeDays);
Example example = new Example(VehicleModelHolidayPrice.class);
Example.Criteria criteria = example.createCriteria();
setCondtionDate(configDate,criteria);
int effect = mapper.updateByExampleSelective(vehicleModelHolidayPrice,example);
if (effect<1){
throw new BaseException("车型节假日更新失败");
}
}
/**
* 按年 月 节假日 等条件查询
*
* @param vehicleModelHolidayPriceFindDTO
* @return
*/
public List<VehicleModelHolidayPriceVo> listVehicleModelHolidayPrice(VehicleModelHolidayPriceFindDTO vehicleModelHolidayPriceFindDTO) {
List<VehicleModelHolidayPriceVo> vehicleModelHolidayPriceVos = new ArrayList<>();
Example example = new Example(VehicleModelHolidayPrice.class);
Example.Criteria criteria = example.createCriteria();
setCondtionDate(vehicleModelHolidayPriceFindDTO.getDate(),criteria);
if (StringUtils.isNotEmpty(vehicleModelHolidayPriceFindDTO.getFestival()) && vehicleModelHolidayPriceFindDTO.getFestival().trim().length() > 0) {
criteria.andLike("festival", String.format("%%%s%%", vehicleModelHolidayPriceFindDTO.getFestival()));
}
List<VehicleModelHolidayPrice> holidayPrices = mapper.selectByExample(example);
if (CollectionUtils.isEmpty(holidayPrices)) {
return vehicleModelHolidayPriceVos;
}
VehicleModelHolidayPriceVo vehicleModelHolidayPriceVo;
for (VehicleModelHolidayPrice holidayPrice : holidayPrices) {
vehicleModelHolidayPriceVo = new VehicleModelHolidayPriceVo();
BeanUtils.copyProperties(holidayPrice, vehicleModelHolidayPriceVo);
vehicleModelHolidayPriceVos.add(vehicleModelHolidayPriceVo);
}
return vehicleModelHolidayPriceVos;
}
/**
* 根据开始与结束时间查询
*
* @param startDate
* @param endDate
* @return
*/
public List<VehicleModelHolidayPriceDTO> findVehicleModelHolidayPriceByMonth(Date startDate, Date endDate) {
List<VehicleModelHolidayPriceDTO> vehicleModelHolidayPriceDTOS = new ArrayList<>();
Example example = new Example(VehicleModelHolidayPrice.class);
Example.Criteria criteria = example.createCriteria();
criteria.andBetween("festivalDay", startDate, endDate);
List<VehicleModelHolidayPrice> modelHolidayPrices = mapper.selectByExample(example);
if (CollectionUtils.isEmpty(modelHolidayPrices)) {
return vehicleModelHolidayPriceDTOS;
}
VehicleModelHolidayPriceDTO vehicleModelHolidayPriceDTO;
for (VehicleModelHolidayPrice modelHolidayPrice : modelHolidayPrices) {
vehicleModelHolidayPriceDTO = new VehicleModelHolidayPriceDTO();
BeanUtils.copyProperties(modelHolidayPrice, vehicleModelHolidayPriceDTO);
vehicleModelHolidayPriceDTOS.add(vehicleModelHolidayPriceDTO);
}
return vehicleModelHolidayPriceDTOS;
}
/**
* @param id
* @return
*/
public VehicleModelHolidayPriceSaveDTO findVehicleModelHolidayPriceById(Long id) {
VehicleModelHolidayPrice vehicleModelHolidayPrice = mapper.selectByPrimaryKey(id);
if (Objects.isNull(vehicleModelHolidayPrice)) {
throw new BaseException("数据不存在");
}
VehicleModelHolidayPriceSaveDTO vehicleModelHolidayPriceSaveDTO = new VehicleModelHolidayPriceSaveDTO();
BeanUtils.copyProperties(vehicleModelHolidayPrice, vehicleModelHolidayPriceSaveDTO);
return vehicleModelHolidayPriceSaveDTO;
}
/**
* 设置查询条件日期
* @param conditionDate
* @param criteria
*/
private void setCondtionDate(Date conditionDate, Example.Criteria criteria){
LocalDate localDate = LocalDate.from(conditionDate.toInstant());
//开始日期
Instant startInstant = localDate.withDayOfMonth(1).atStartOfDay(ZoneId.systemDefault()).toInstant();
//结束日期
LocalDate endLocalDate = localDate.with(TemporalAdjusters.lastDayOfMonth());
Instant endInstant = endLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant();
criteria.andBetween("festivalDay", Date.from(startInstant), Date.from(endInstant));
}
}
package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleModelCalendarPrice;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.additional.insert.InsertListMapper;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:31
*/
public interface VehicleModelCalendarPriceMapper extends Mapper<VehicleModelCalendarPrice>, InsertListMapper<VehicleModelCalendarPrice> {
}
package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleModelHolidayPrice;
import tk.mybatis.mapper.common.Mapper;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:32
*/
public interface VehicleModelHolidayPriceMapper extends Mapper<VehicleModelHolidayPrice> {
}
...@@ -3,9 +3,13 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -3,9 +3,13 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition; import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition;
import com.xxfc.platform.vehicle.pojo.VehicleModelVo; import com.xxfc.platform.vehicle.pojo.VehicleModelVo;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelDTO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
...@@ -26,4 +30,11 @@ public interface VehicleModelMapper extends Mapper<VehicleModel> { ...@@ -26,4 +30,11 @@ public interface VehicleModelMapper extends Mapper<VehicleModel> {
* @return * @return
*/ */
int updateScoreByModelIdAndavgScore(@Param("modelId") Integer modelId, @Param("avgScore") int avgScore); int updateScoreByModelIdAndavgScore(@Param("modelId") Integer modelId, @Param("avgScore") int avgScore);
@Select("select `price` from `vehicle_model` where `id`=#{vehicleModelId}")
BigDecimal selectPriceById(@Param("vehicleModelId") Integer vehicleModelId);
@Select({"select `id` AS `vehicleModelId`,`name`,`price` AS `basePrice` from `vehicle_model` where `isdel`=0"})
@ResultType(value = VehicleModelDTO.class)
List<VehicleModelDTO> findAllVehicleModel();
} }
package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleModelCalendarPriceBiz;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:35
*/
@RestController
@RequestMapping("/vehicle_model/calendar_price")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Api(tags = "车型日历价格")
public class VehicleModelCalendarPriceController {
private final VehicleModelCalendarPriceBiz vehicleModelCalendarPriceBiz;
@ApiOperation("返回车型日历价格")
@GetMapping("/list/vehicle_model/calendar_price/{vehicleModelId}/{type}")
public ObjectRestResponse<VehicleModelCalendarPriceDTO> listVehicleModelCalendarPriceByDateAndVehicleModelId(@RequestParam(value = "start",required = false) Date startDate,
@RequestParam(value = "end",required = false) Date endDate,
@PathVariable(value = "vehicleModelId") Integer vehicleModelId,
AppUserDTO appUserDTO){
List<VehicleModelCalendarPriceDTO> vehicleModelCalendarPriceVos = vehicleModelCalendarPriceBiz.listVehicleModelCalendarPriceByDateAndVehicleModelIdAndUserId(startDate,endDate,vehicleModelId,appUserDTO.getUserid());
return ObjectRestResponse.succ(vehicleModelCalendarPriceVos);
}
}
package com.xxfc.platform.vehicle.rest.admin;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleModelCalendarPriceBiz;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelCalendarPriceSaveDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleModelDayPriceVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:35
*/
@RestController
@RequestMapping("/admin/vehicle_model/calendar_price")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Api(tags = "车型日历价格")
public class VehicleModelCalendarPriceAdminController {
private final VehicleModelCalendarPriceBiz vehicleModelCalendarPriceBiz;
@ApiOperation("车型日历价格设置")
@PostMapping("/add_edit")
public ObjectRestResponse<Void> add(@RequestBody List<VehicleModelCalendarPriceSaveDTO> vehicleModelCalendarPriceSaveDTO, UserDTO userDTO){
vehicleModelCalendarPriceBiz.addVehicleModelCalendarPrice(vehicleModelCalendarPriceSaveDTO,userDTO.getId());
return ObjectRestResponse.succ();
}
@ApiOperation("车型日历月份价格")
@GetMapping("/day")
public ObjectRestResponse<VehicleModelDayPriceVo> listVehicleModelCalendarPriceWithMonth(@RequestParam(value = "date") Date date){
List<VehicleModelDayPriceVo> vehicleModelDayPriceVos = vehicleModelCalendarPriceBiz.findVehicleModelcalendarPriceByDateWithDay(date);
return ObjectRestResponse.succ(vehicleModelDayPriceVos);
}
@ApiOperation("根据日查询不同车型的设置")
@GetMapping("/month")
public ObjectRestResponse<List<VehicleModelCalendarPriceSaveDTO>> listVehicleModelCalendarPriceWithDay(@RequestParam(value = "date") Date date){
List<VehicleModelCalendarPriceSaveDTO> calendarPrices = vehicleModelCalendarPriceBiz.findVehicleModelCalendarPricesByDateWithMonth(date);
return ObjectRestResponse.succ(calendarPrices);
}
@ApiOperation("查询所有车型的的基本信息(id,价格)")
@GetMapping("/vehicle_model/all")
public ObjectRestResponse<VehicleModelDayPriceVo> listVehicleModelPrice(){
List<VehicleModelDayPriceVo> vehicleModelDayPriceVos = vehicleModelCalendarPriceBiz.listVehicleModelPrice();
return ObjectRestResponse.succ(vehicleModelDayPriceVos);
}
}
package com.xxfc.platform.vehicle.rest.admin;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleModelHolidayPriceBiz;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelHolidayPriceFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleModelHolidayPriceSaveDTO;
import com.xxfc.platform.vehicle.pojo.vo.VehicleModelHolidayPriceVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/14 17:35
*/
@RestController
@RequestMapping("/admin/vehicle_model/holiday_price")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Api(tags = "节假日设置")
public class VehicleModelHolidayPriceAdminController {
private final VehicleModelHolidayPriceBiz vehicleModelHolidayPriceBiz;
@ApiOperation("节假日添加|设置")
@PostMapping("/add_edit")
public ObjectRestResponse<Void> add(@RequestBody VehicleModelHolidayPriceSaveDTO vehicleModelHolidayPriceSaveDTO, UserDTO userDTO) {
vehicleModelHolidayPriceBiz.addVehicleModelHolidayPrice(vehicleModelHolidayPriceSaveDTO, userDTO.getId());
return ObjectRestResponse.succ();
}
@GetMapping("/{id}")
public ObjectRestResponse<VehicleModelHolidayPriceSaveDTO> findVehicleModelHolidayPrice(@PathVariable(value = "id") Long id){
VehicleModelHolidayPriceSaveDTO vehicleModelHolidayPriceSaveDTO = vehicleModelHolidayPriceBiz.findVehicleModelHolidayPriceById(id);
return ObjectRestResponse.succ(vehicleModelHolidayPriceSaveDTO);
}
@ApiOperation("节假日页查询")
@PostMapping("/page")
public ObjectRestResponse<List<VehicleModelHolidayPriceVo>> listVehicleModelHolidayPrice(@RequestBody VehicleModelHolidayPriceFindDTO vehicleModelHolidayPriceFindDTO){
List<VehicleModelHolidayPriceVo> priceVoPageDataVO = vehicleModelHolidayPriceBiz.listVehicleModelHolidayPrice(vehicleModelHolidayPriceFindDTO);
return ObjectRestResponse.succ(priceVoPageDataVO);
}
}
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