Commit d381be58 authored by hezhen's avatar hezhen

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

parents 34b1dbde c7a47532
...@@ -32,6 +32,12 @@ ...@@ -32,6 +32,12 @@
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-admin-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.ibeetl</groupId> <groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId> <artifactId>beetl</artifactId>
......
package com.github.wxiaoqi.security.admin.entity;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Table(name = "base_user")
public class User {
@Id
@GeneratedValue(generator = "JDBC")//此处加上注解
private Integer id;
private String username;
private String password;
private String name;
private String birthday;
private String address;
@Column(name = "mobile_phone")
private String mobilePhone;
@Column(name = "tel_phone")
private String telPhone;
private String email;
private String sex;
private String type;
@Column(name = "status")
private Integer status;
@Column(name = "zone_id")
private Integer zoneId;
@Column(name = "company_id")
private Integer companyId;
private String description;
@Column(name = "crt_time")
private Date crtTime;
@Column(name = "crt_user")
private String crtUser;
@Column(name = "crt_name")
private String crtName;
@Column(name = "crt_host")
private String crtHost;
@Column(name = "upd_time")
private Date updTime;
@Column(name = "upd_user")
private String updUser;
@Column(name = "upd_name")
private String updName;
@Column(name = "upd_host")
private String updHost;
@Column(name = "data_all")
private Integer dataAll;
@Column(name = "data_zone")
private String dataZone;
@Column(name = "data_company")
private String dataCompany;
private String attr1;
private String attr2;
private String attr3;
private String attr4;
private String attr5;
private String attr6;
private String attr7;
private String attr8;
/**
* @return id
*/
public Integer getId() {
return id;
}
/**
* @param id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* @return username
*/
public String getUsername() {
return username;
}
/**
* @param username
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return password
*/
public String getPassword() {
return password;
}
/**
* @param password
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return name
*/
public String getName() {
return name;
}
/**
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* @return birthday
*/
public String getBirthday() {
return birthday;
}
/**
* @param birthday
*/
public void setBirthday(String birthday) {
this.birthday = birthday;
}
/**
* @return address
*/
public String getAddress() {
return address;
}
/**
* @param address
*/
public void setAddress(String address) {
this.address = address;
}
/**
* @return mobile_phone
*/
public String getMobilePhone() {
return mobilePhone;
}
/**
* @param mobilePhone
*/
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
/**
* @return tel_phone
*/
public String getTelPhone() {
return telPhone;
}
/**
* @param telPhone
*/
public void setTelPhone(String telPhone) {
this.telPhone = telPhone;
}
/**
* @return email
*/
public String getEmail() {
return email;
}
/**
* @param email
*/
public void setEmail(String email) {
this.email = email;
}
/**
* @return sex
*/
public String getSex() {
return sex;
}
/**
* @param sex
*/
public void setSex(String sex) {
this.sex = sex;
}
/**
* @return type
*/
public String getType() {
return type;
}
/**
* @param type
*/
public void setType(String type) {
this.type = type;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getZoneId() {
return zoneId;
}
public void setZoneId(Integer zoneId) {
this.zoneId = zoneId;
}
public Integer getCompanyId() {
return companyId;
}
public void setCompanyId(Integer companyId) {
this.companyId = companyId;
}
/**
* @return description
*/
public String getDescription() {
return description;
}
/**
* @param description
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @return crt_time
*/
public Date getCrtTime() {
return crtTime;
}
/**
* @param crtTime
*/
public void setCrtTime(Date crtTime) {
this.crtTime = crtTime;
}
/**
* @return crt_user
*/
public String getCrtUser() {
return crtUser;
}
/**
* @param crtUser
*/
public void setCrtUser(String crtUser) {
this.crtUser = crtUser;
}
/**
* @return crt_name
*/
public String getCrtName() {
return crtName;
}
/**
* @param crtName
*/
public void setCrtName(String crtName) {
this.crtName = crtName;
}
/**
* @return crt_host
*/
public String getCrtHost() {
return crtHost;
}
/**
* @param crtHost
*/
public void setCrtHost(String crtHost) {
this.crtHost = crtHost;
}
/**
* @return upd_time
*/
public Date getUpdTime() {
return updTime;
}
/**
* @param updTime
*/
public void setUpdTime(Date updTime) {
this.updTime = updTime;
}
/**
* @return upd_user
*/
public String getUpdUser() {
return updUser;
}
/**
* @param updUser
*/
public void setUpdUser(String updUser) {
this.updUser = updUser;
}
/**
* @return upd_name
*/
public String getUpdName() {
return updName;
}
/**
* @param updName
*/
public void setUpdName(String updName) {
this.updName = updName;
}
/**
* @return upd_host
*/
public String getUpdHost() {
return updHost;
}
/**
* @param updHost
*/
public void setUpdHost(String updHost) {
this.updHost = updHost;
}
public Integer getDataAll() {
return dataAll;
}
public void setDataAll(Integer dataAll) {
this.dataAll = dataAll;
}
public String getDataZone() {
return dataZone;
}
public void setDataZone(String dataZone) {
this.dataZone = dataZone;
}
public String getDataCompany() {
return dataCompany;
}
public void setDataCompany(String dataCompany) {
this.dataCompany = dataCompany;
}
/**
* @return attr1
*/
public String getAttr1() {
return attr1;
}
/**
* @param attr1
*/
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
/**
* @return attr2
*/
public String getAttr2() {
return attr2;
}
/**
* @param attr2
*/
public void setAttr2(String attr2) {
this.attr2 = attr2;
}
/**
* @return attr3
*/
public String getAttr3() {
return attr3;
}
/**
* @param attr3
*/
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
/**
* @return attr4
*/
public String getAttr4() {
return attr4;
}
/**
* @param attr4
*/
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
/**
* @return attr5
*/
public String getAttr5() {
return attr5;
}
/**
* @param attr5
*/
public void setAttr5(String attr5) {
this.attr5 = attr5;
}
/**
* @return attr6
*/
public String getAttr6() {
return attr6;
}
/**
* @param attr6
*/
public void setAttr6(String attr6) {
this.attr6 = attr6;
}
/**
* @return attr7
*/
public String getAttr7() {
return attr7;
}
/**
* @param attr7
*/
public void setAttr7(String attr7) {
this.attr7 = attr7;
}
/**
* @return attr8
*/
public String getAttr8() {
return attr8;
}
/**
* @param attr8
*/
public void setAttr8(String attr8) {
this.attr8 = attr8;
}
}
\ No newline at end of file
...@@ -31,9 +31,9 @@ public class BaseOrder implements Serializable { ...@@ -31,9 +31,9 @@ public class BaseOrder implements Serializable {
@ApiModelProperty(value = "订单号") @ApiModelProperty(value = "订单号")
private String no; private String no;
//订单类型 //订单类型 1--租车;2--旅游
@Column(name = "type") @Column(name = "type")
@ApiModelProperty(value = "订单类型") @ApiModelProperty(value = "订单类型 1--租车;2--旅游")
private Integer type; private Integer type;
//订单详情id //订单详情id
...@@ -43,7 +43,14 @@ public class BaseOrder implements Serializable { ...@@ -43,7 +43,14 @@ public class BaseOrder implements Serializable {
//订单状态 //订单状态
@Column(name = "status") @Column(name = "status")
@ApiModelProperty(value = "订单状态") @ApiModelProperty(value = "订单状态\n" +
"0--删除\n" +
"1--创建订单\n" +
"2--取消\n" +
"3--待付款\n" +
"4--待出行\n" +
"5--出行中(进行中)\n" +
"6--已完成")
private Integer status; private Integer status;
//商品价格 //商品价格
......
...@@ -12,7 +12,7 @@ import lombok.Data; ...@@ -12,7 +12,7 @@ import lombok.Data;
* *
* @author zjw * @author zjw
* @email nishijjo@qq.com * @email nishijjo@qq.com
* @date 2019-06-06 18:18:33 * @date 2019-06-10 10:36:31
*/ */
@Data @Data
@Table(name = "order_tour_detail") @Table(name = "order_tour_detail")
...@@ -70,27 +70,7 @@ public class OrderTourDetail implements Serializable { ...@@ -70,27 +70,7 @@ public class OrderTourDetail implements Serializable {
@ApiModelProperty(value = "还车地点") @ApiModelProperty(value = "还车地点")
private String endAddr; private String endAddr;
//出发城市编号 //出游乘客ids
@Column(name = "start_city")
@ApiModelProperty(value = "出发城市编号")
private Integer startCity;
//还车城市编号
@Column(name = "end_city")
@ApiModelProperty(value = "还车城市编号")
private Integer endCity;
//出发城市名称
@Column(name = "start_city_name")
@ApiModelProperty(value = "出发城市名称")
private String startCityName;
//还车城市名称
@Column(name = "end_city_name")
@ApiModelProperty(value = "还车城市名称")
private String endCityName;
//自己乘客ids
@Column(name = "tour_user_ids") @Column(name = "tour_user_ids")
@ApiModelProperty(value = "出游乘客ids") @ApiModelProperty(value = "出游乘客ids")
private String tourUserIds; private String tourUserIds;
...@@ -104,19 +84,52 @@ public class OrderTourDetail implements Serializable { ...@@ -104,19 +84,52 @@ public class OrderTourDetail implements Serializable {
@Column(name = "cost_detail") @Column(name = "cost_detail")
@ApiModelProperty(value = "费用明细") @ApiModelProperty(value = "费用明细")
private String costDetail; private String costDetail;
//商品id //商品id
@Column(name = "good_id") @Column(name = "good_id")
@ApiModelProperty(value = "商品id") @ApiModelProperty(value = "商品id")
private Integer goodId; private Integer goodId;
//规格ids
@Column(name = "spe_ids")
@ApiModelProperty(value = "规格ids")
private String speIds;
//具体商品(商品项)id
@Column(name = "spe_price_id")
@ApiModelProperty(value = "具体商品(商品项)id")
private Integer spePriceId;
//联系人
@Column(name = "contact_man")
@ApiModelProperty(value = "联系人")
private String contactMan;
//联系电话
@Column(name = "contact_phone")
@ApiModelProperty(value = "联系电话")
private String contactPhone;
//联系邮箱
@Column(name = "contact_email")
@ApiModelProperty(value = "联系邮箱")
private String contactEmail;
//总人数
@Column(name = "total_number")
@ApiModelProperty(value = "总人数")
private Integer totalNumber;
//出发城市编号
@Column(name = "start_city")
@ApiModelProperty(value = "出发城市编号")
private Integer startCity;
//出发城市名称
@Column(name = "start_city_name")
@ApiModelProperty(value = "出发城市名称")
private String startCityName;
//商品规格ids
@Column(name = "spe_ids")
@ApiModelProperty(value = "商品规格ids")
private String speIds;
//具体商品(商品项)id
@Column(name = "spe_price_id")
@ApiModelProperty(value = "具体商品(商品项)id")
private Integer spePriceId;
} }
...@@ -14,77 +14,50 @@ public class AddTourDTO { ...@@ -14,77 +14,50 @@ public class AddTourDTO {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//开始时间 //开始时间
@Column(name = "start_time")
@ApiModelProperty(value = "活动开始时间") @ApiModelProperty(value = "活动开始时间")
private Long startTime; private Long startTime;
//结束时间 //结束时间
@Column(name = "end_time")
@ApiModelProperty(value = "活动结束时间") @ApiModelProperty(value = "活动结束时间")
private Long endTime; private Long endTime;
//天数
@Column(name = "day_num")
@ApiModelProperty(value = "天数")
private Integer dayNum;
//取车地点 //取车地点
@Column(name = "start_addr")
@ApiModelProperty(value = "出发地点") @ApiModelProperty(value = "出发地点")
private String startAddr; private String startAddr;
//还车地点 //还车地点
@Column(name = "end_addr")
@ApiModelProperty(value = "结束地点") @ApiModelProperty(value = "结束地点")
private String endAddr; private String endAddr;
//费用详情
@Column(name = "cost_detail")
@ApiModelProperty(value = "费用详情")
private String costDetail;
//取车城市编号
@Column(name = "start_city")
@ApiModelProperty(value = "出发城市编号")
private Integer startCity;
//还车城市编号
@Column(name = "end_city")
@ApiModelProperty(value = "结束城市编号")
private Integer endCity;
//取车城市名称
@Column(name = "start_city_name")
@ApiModelProperty(value = "出发城市名称")
private String startCityName;
//还车城市名称
@Column(name = "end_city_name")
@ApiModelProperty(value = "结束城市名称")
private String endCityName;
//自己乘客ids //自己乘客ids
@Column(name = "my_passager_ids")
@ApiModelProperty(value = "自己乘客ids") @ApiModelProperty(value = "自己乘客ids")
private String myPassagerIds; private String tourUserIds;
//出发公司Id //出发公司Id
@Column(name = "start_company_id")
@ApiModelProperty(value = "出发公司Id") @ApiModelProperty(value = "出发公司Id")
private Integer startCompanyId; private Integer startCompanyId;
//商品id //商品id
@Column(name = "good_id")
@ApiModelProperty(value = "商品id") @ApiModelProperty(value = "商品id")
private Integer goodId; private Integer goodId;
//商品规格ids //商品规格ids
@Column(name = "spe_ids")
@ApiModelProperty(value = "商品规格ids") @ApiModelProperty(value = "商品规格ids")
private String speIds; private String speIds;
//具体商品(商品项)id //具体商品(商品项)id
@Column(name = "spe_price_id")
@ApiModelProperty(value = "具体商品(商品项)id") @ApiModelProperty(value = "具体商品(商品项)id")
private String spePriceId; private String spePriceId;
//联系人
@ApiModelProperty(value = "联系人")
private String contactMan;
//联系电话
@ApiModelProperty(value = "联系电话")
private String contactPhone;
//联系邮箱
@ApiModelProperty(value = "联系邮箱")
private String contactEmail;
} }
package com.xxfc.platform.order.pojo.order; package com.xxfc.platform.order.pojo.order;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderTourDetail;
import lombok.Data; import lombok.Data;
import java.util.Map; import java.util.Map;
@Data @Data
public class OrderPageVO extends BaseOrder { public class OrderPageVO extends BaseOrder {
Map detail; OrderRentVehicleDetail orderRentVehicleDetail;
OrderTourDetail orderTourDetail;
} }
package com.xxfc.platform.order.pojo.order; package com.xxfc.platform.order.pojo.order;
import com.github.wxiaoqi.security.admin.entity.User; import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderTourDetail; import com.xxfc.platform.order.entity.OrderTourDetail;
...@@ -19,5 +20,5 @@ public class TourBO extends OrderTourDetail implements OrderDetail { ...@@ -19,5 +20,5 @@ public class TourBO extends OrderTourDetail implements OrderDetail {
List<TourUser> tourUsers; List<TourUser> tourUsers;
Integer number; Integer number;
Integer childNumber; Integer childNumber;
User user; AppUserDTO appUserDTO;
} }
...@@ -14,7 +14,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; ...@@ -14,7 +14,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.xxfc.platform"}) @EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.github.wxiaoqi.security.admin.feign", "com.xxfc.platform"})
@EnableAceCache @EnableAceCache
@tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.order.mapper") @tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.order.mapper")
public class OrderApplication { public class OrderApplication {
......
...@@ -54,7 +54,8 @@ public class WebConfiguration implements WebMvcConfigurer { ...@@ -54,7 +54,8 @@ public class WebConfiguration implements WebMvcConfigurer {
ArrayList<String> list = new ArrayList<>(); ArrayList<String> list = new ArrayList<>();
String[] urls = { String[] urls = {
"/orderRentVehicle/**", "/orderRentVehicle/**",
"/baseOrder/**" "/baseOrder/**",
"/orderTour/**"
}; };
Collections.addAll(list, urls); Collections.addAll(list, urls);
return list; return list;
......
package com.xxfc.platform.order.rest; package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
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.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.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.order.biz.OrderTourDetailBiz; import com.xxfc.platform.order.biz.OrderTourDetailBiz;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderTourDetail; import com.xxfc.platform.order.entity.OrderTourDetail;
import com.xxfc.platform.order.pojo.AddRentVehicleDTO;
import com.xxfc.platform.order.pojo.AddTourDTO; import com.xxfc.platform.order.pojo.AddTourDTO;
import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.order.TourBO; import com.xxfc.platform.order.pojo.order.TourBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.order.pojo.price.TourPriceVO; import com.xxfc.platform.order.pojo.price.TourPriceVO;
import com.xxfc.platform.order.service.OrderTourService; import com.xxfc.platform.order.service.OrderTourService;
import com.xxfc.platform.tour.feign.TourFeign;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -26,16 +29,28 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -26,16 +29,28 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import javax.persistence.Column;
@Controller @Controller
@RequestMapping("orderTour") @RequestMapping("orderTour")
@IgnoreClientToken
@Api(value="旅游订单",tags={"旅游订单"}) @Api(value="旅游订单",tags={"旅游订单"})
public class OrderTourController extends BaseController<OrderTourDetailBiz,OrderTourDetail> { public class OrderTourController extends BaseController<OrderTourDetailBiz,OrderTourDetail> {
@Autowired @Autowired
OrderTourService orderTourService; OrderTourService orderTourService;
@Autowired
TourFeign tourFeign;
@Autowired
protected UserAuthConfig userAuthConfig;
@Autowired
UserFeign userFeign;
public AppUserDTO getUserInfo(){
return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData();
}
@RequestMapping(value = "add",method = RequestMethod.POST) @RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "确认旅游订单") @ApiOperation(value = "确认旅游订单")
...@@ -45,12 +60,13 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order ...@@ -45,12 +60,13 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order
return ObjectRestResponse.succ(bo.getOrder()); return ObjectRestResponse.succ(bo.getOrder());
} }
@RequestMapping(value = "/app/unauth/calculate-price",method = RequestMethod.GET) @RequestMapping(value = "/calculate-price",method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ApiOperation(value = "价格计算") @ApiOperation(value = "价格计算")
@IgnoreUserToken @IgnoreUserToken
public ObjectRestResponse<TourPriceVO> calculatePrice(CalculatePriceVO vo){ public ObjectRestResponse<TourPriceVO> calculatePrice(CalculatePriceVO vo){
TourBO bo = BeanUtil.toBean(vo, TourBO.class); TourBO bo = BeanUtil.toBean(vo, TourBO.class);
bo.setAppUserDTO(getUserInfo());
return ObjectRestResponse.succ(orderTourService.calculatePrice(bo)); return ObjectRestResponse.succ(orderTourService.calculatePrice(bo));
} }
...@@ -71,5 +87,7 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order ...@@ -71,5 +87,7 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order
//自己乘客ids //自己乘客ids
@ApiModelProperty(value = "自己乘客ids") @ApiModelProperty(value = "自己乘客ids")
private String tourUserIds; private String tourUserIds;
} }
} }
\ No newline at end of file
...@@ -7,10 +7,14 @@ import cn.hutool.extra.template.Template; ...@@ -7,10 +7,14 @@ import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil; import cn.hutool.extra.template.TemplateUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.biz.OrderCostDetailBiz; import com.xxfc.platform.order.biz.OrderCostDetailBiz;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz; import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.biz.OrderTemplateBiz; import com.xxfc.platform.order.biz.OrderTemplateBiz;
import com.xxfc.platform.order.biz.OrderTourDetailBiz;
import com.xxfc.platform.order.contant.enumerate.OrderCostEnum; import com.xxfc.platform.order.contant.enumerate.OrderCostEnum;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
...@@ -22,25 +26,38 @@ import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO; ...@@ -22,25 +26,38 @@ import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.order.pojo.price.TourPriceVO; import com.xxfc.platform.order.pojo.price.TourPriceVO;
import com.xxfc.platform.tour.dto.TourSpePriceDTO; import com.xxfc.platform.tour.dto.TourSpePriceDTO;
import com.xxfc.platform.tour.entity.TourGood; import com.xxfc.platform.tour.entity.TourGood;
import com.xxfc.platform.tour.entity.TourUser;
import com.xxfc.platform.tour.feign.TourFeign; import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.tour.vo.TourSpePriceVo; import com.xxfc.platform.tour.vo.TourSpePriceVo;
import com.xxfc.platform.vehicle.entity.SysRegion;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import lombok.extern.log4j.Log4j; import lombok.extern.log4j.Log4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@Service @Service
@Log4j @Log4j
public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, TourBO> { public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, TourBO> {
@Autowired @Autowired
TourFeign tourFeign; TourFeign tourFeign;
@Autowired
VehicleFeign vehicleFeign;
private static Integer IS_CHILD = 0;
// private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00"); // private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00");
// private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔 // private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔
private static Integer LEVEL_DEFAULT = 0; private static Integer LEVEL_DEFAULT = 0;
...@@ -53,17 +70,30 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, T ...@@ -53,17 +70,30 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, T
@Autowired @Autowired
OrderTemplateBiz orderTemplateBiz; OrderTemplateBiz orderTemplateBiz;
@Autowired
protected UserAuthConfig userAuthConfig;
@Autowired
UserFeign userFeign;
@Autowired
public HttpServletRequest request;
@PostConstruct @PostConstruct
public void init(){ public void init(){
this.orderTypeEnum = OrderTypeEnum.TOUR; this.orderTypeEnum = OrderTypeEnum.TOUR;
} }
public AppUserDTO getUserInfo(){
return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData();
}
@Override @Override
public void initDetail(TourBO bo) { public void initDetail(TourBO bo) {
super.initDetail(bo); super.initDetail(bo);
TourGood tourGood = tourFeign.get(bo.getGoodId()).getData(); TourGood tourGood = tourFeign.usableGet(bo.getGoodId()).getData();
bo.setTourGood(tourGood); bo.setTourGood(tourGood);
bo.setAppUserDTO(getUserInfo());
} }
@Override @Override
...@@ -75,6 +105,15 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, T ...@@ -75,6 +105,15 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, T
//设置订单名称 //设置订单名称
bo.getOrder().setName(bo.getTourGood().getName()); bo.getOrder().setName(bo.getTourGood().getName());
//设置城市
CompanyDetail companyDetail = vehicleFeign.getCompanyDetail(bo.getStartCompanyId()).getData();
SysRegion sysRegion = companyDetail.getSysRegions().get(1);
bo.setStartCity(sysRegion.getId().intValue());
bo.setStartCityName(sysRegion.getName());
//扣減庫存
tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber());
super.handleDetail(bo); super.handleDetail(bo);
} }
...@@ -92,13 +131,30 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, T ...@@ -92,13 +131,30 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, T
BigDecimal tourAmount = BigDecimal.ZERO; BigDecimal tourAmount = BigDecimal.ZERO;
BigDecimal realAmount = BigDecimal.ZERO; BigDecimal realAmount = BigDecimal.ZERO;
List<TourUser> users = new ArrayList<TourUser>();
if(StrUtil.isNotBlank(detail.getTourUserIds())) {
users = tourFeign.getTourUsers(detail.getTourUserIds()).getData();
}
List<TourUser> notChilds = users.parallelStream().filter(tourUser ->{
return !IS_CHILD.equals(tourUser.getIsChild());
}).collect(Collectors.toList());
List<TourUser> childs = users.parallelStream().filter(tourUser ->{
return IS_CHILD.equals(tourUser.getIsChild());
}).collect(Collectors.toList());
detail.setNumber(childs.size());
detail.setChildNumber(notChilds.size());
detail.setTotalNumber(users.size());
//计算旅游价格 //计算旅游价格
ObjectRestResponse<TourSpePriceVo> objectRestResponse = tourFeign.refund(new TourSpePriceDTO(){{ ObjectRestResponse<TourSpePriceVo> objectRestResponse = tourFeign.refund(new TourSpePriceDTO(){{
setChildNumber(detail.getChildNumber()); setChildNumber(detail.getChildNumber());
setNumber(detail.getNumber()); setNumber(detail.getNumber());
setLevel(LEVEL_DEFAULT); setLevel(LEVEL_DEFAULT);
setSpeId(detail.getSpePriceId()); setSpeId(detail.getSpePriceId());
//setUserId(detail.getUser().getId()); setUserId(detail.getAppUserDTO().getUserid());
}}); }});
TourSpePriceVo tourSpePriceVo = objectRestResponse.getData(); TourSpePriceVo tourSpePriceVo = objectRestResponse.getData();
......
...@@ -29,7 +29,10 @@ ...@@ -29,7 +29,10 @@
<result javaType="Integer" column="type" property="type"></result> <result javaType="Integer" column="type" property="type"></result>
<discriminator javaType="Integer" column="type"> <discriminator javaType="Integer" column="type">
<case value="1" resultType="com.xxfc.platform.order.pojo.order.OrderPageVO"> <case value="1" resultType="com.xxfc.platform.order.pojo.order.OrderPageVO">
<association column="id" property="detail" select="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper.oneByOrderId"></association> <association column="detail_id" property="orderRentVehicleDetail" select="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper.selectByPrimaryKey" javaType="com.xxfc.platform.order.entity.OrderRentVehicleDetail"></association>
</case>
<case value="2" resultType="com.xxfc.platform.order.pojo.order.OrderPageVO">
<association column="detail_id" property="orderTourDetail" select="com.xxfc.platform.order.mapper.OrderTourDetailMapper.selectByPrimaryKey" javaType="com.xxfc.platform.order.entity.OrderTourDetail"></association>
</case> </case>
</discriminator> </discriminator>
</resultMap> </resultMap>
......
...@@ -19,9 +19,15 @@ ...@@ -19,9 +19,15 @@
<result property="endCity" column="end_city"/> <result property="endCity" column="end_city"/>
<result property="startCityName" column="start_city_name"/> <result property="startCityName" column="start_city_name"/>
<result property="endCityName" column="end_city_name"/> <result property="endCityName" column="end_city_name"/>
<result property="myPassagerIds" column="my_passager_ids"/> <result property="myUserIds" column="my_user_ids"/>
<result property="startCompanyId" column="start_company_id"/> <result property="startCompanyId" column="start_company_id"/>
<result property="costDetail" column="cost_detail"/> <result property="costDetail" column="cost_detail"/>
</resultMap> </resultMap>
<select id="oneByOrderId" parameterType="Integer" resultType="map">
select *
from order_tour_detail
where order_id = #{orderId} limit 1 offset 0;
</select>
</mapper> </mapper>
\ No newline at end of file
package com.xxfc.platform.tour.feign; package com.xxfc.platform.tour.feign;
import com.github.wxiaoqi.security.common.msg.ListRestResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.tour.dto.TourSpePriceDTO; import com.xxfc.platform.tour.dto.TourSpePriceDTO;
import com.xxfc.platform.tour.entity.TourGood; import com.xxfc.platform.tour.entity.TourGood;
import com.xxfc.platform.tour.entity.TourUser;
import com.xxfc.platform.tour.vo.TourSpePriceVo; import com.xxfc.platform.tour.vo.TourSpePriceVo;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* ${DESCRIPTION} * ${DESCRIPTION}
...@@ -30,7 +35,10 @@ public interface TourFeign { ...@@ -30,7 +35,10 @@ public interface TourFeign {
public ObjectRestResponse<TourSpePriceVo> stock(@RequestParam Integer speId, @RequestParam Integer number); public ObjectRestResponse<TourSpePriceVo> stock(@RequestParam Integer speId, @RequestParam Integer number);
@RequestMapping(value = "/tourGood/{id}", method = RequestMethod.GET) @RequestMapping(value = "/tourGood/app/unauth/usable/{id}", method = RequestMethod.GET)
public ObjectRestResponse<TourGood> get(@PathVariable int id); public ObjectRestResponse<TourGood> usableGet(@PathVariable int id);
@GetMapping("/tourUser/app/unauth/getTourUsers")
public ObjectRestResponse<List<TourUser>> getTourUsers(@RequestParam String ids);
} }
...@@ -60,6 +60,4 @@ public class TourDepartTimeVo { ...@@ -60,6 +60,4 @@ public class TourDepartTimeVo {
@ApiModelProperty(value = "是否过期") @ApiModelProperty(value = "是否过期")
private Integer overdue; private Integer overdue;
} }
...@@ -54,4 +54,8 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -54,4 +54,8 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
params.put("distance",distance); params.put("distance",distance);
return params; return params;
} }
public TourGood getOne(Integer id) {
return mapper.getOne(id);
}
} }
\ No newline at end of file
...@@ -39,4 +39,9 @@ public class TourGoodController extends BaseController<TourGoodBiz, TourGood> { ...@@ -39,4 +39,9 @@ public class TourGoodController extends BaseController<TourGoodBiz, TourGood> {
@RequestParam(value = "distance", defaultValue = "10.00") Double distance) { @RequestParam(value = "distance", defaultValue = "10.00") Double distance) {
return baseBiz.getGoodList(page, limit, query, latitude, longitude, tagId, distance); return baseBiz.getGoodList(page, limit, query, latitude, longitude, tagId, distance);
} }
@GetMapping("/app/unauth/usable/{id}")
public ObjectRestResponse<TourGood> getOne(@PathVariable Integer id) {
return ObjectRestResponse.succ(baseBiz.getOne(id));
}
} }
\ No newline at end of file
package com.xxfc.platform.tour.rest; package com.xxfc.platform.tour.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ListRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.xxfc.platform.tour.biz.TourUserBiz;
import com.xxfc.platform.tour.biz.TourUserBiz; import com.xxfc.platform.tour.common.TourBaseController;
import com.xxfc.platform.tour.common.TourBaseController; import com.xxfc.platform.tour.entity.TourUser;
import com.xxfc.platform.tour.entity.TourUser; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List; import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
@RestController
@RequestMapping("tourUser") import java.util.Arrays;
public class TourUserController extends TourBaseController<TourUserBiz> { import java.util.List;
@RestController
@GetMapping("/app/unauth/getTourUser/{isChild}") @RequestMapping("tourUser")
public ObjectRestResponse getTourUser(@PathVariable int isChild){ public class TourUserController extends TourBaseController<TourUserBiz> {
AppUserDTO userInfo = getUserInfo();
Integer id = userInfo.getId(); @Autowired
List<TourUser> tourUsers= baseBiz.getTourUser(id,isChild); private TourUserBiz tourUserBiz;
return ObjectRestResponse.succ(tourUsers); @GetMapping("/app/unauth/getTourUser/{isChild}")
} public ObjectRestResponse getTourUser(@PathVariable int isChild){
AppUserDTO userInfo = getUserInfo();
Integer id = userInfo.getId();
@ApiOperation("修改") List<TourUser> tourUsers= baseBiz.getTourUser(id,isChild);
@PostMapping(value = "/update")
public ObjectRestResponse<TourUser> update(@RequestBody TourUser tourUser){ return ObjectRestResponse.succ(tourUsers);
baseBiz.updateSelectiveById(tourUser); }
return new ObjectRestResponse<TourUser>();
} @GetMapping("/app/unauth/getTourUsers")
public ObjectRestResponse<List<TourUser>> getTourUsers(@ApiParam(name = "ids") String ids){
@ApiOperation("添加") List<TourUser> tourUsers= tourUserBiz.selectByExample(new Example.Builder(TourUser.class)
@PostMapping(value = "/add") .where(WeekendSqls.<TourUser>custom()
public ObjectRestResponse<TourUser> add(@RequestBody TourUser tourUser){ .andIn(TourUser::getId, Arrays.asList(ids.split(",")))
baseBiz.insertSelective(tourUser); ).build());
return new ObjectRestResponse<TourUser>(); return ObjectRestResponse.succ(tourUsers);
} }
@ApiOperation("修改")
@PostMapping(value = "/update")
public ObjectRestResponse<TourUser> update(@RequestBody TourUser tourUser){
baseBiz.updateSelectiveById(tourUser);
return new ObjectRestResponse<TourUser>();
}
@ApiOperation("添加")
@PostMapping(value = "/add")
public ObjectRestResponse<TourUser> add(@RequestBody TourUser tourUser){
baseBiz.insertSelective(tourUser);
return new ObjectRestResponse<TourUser>();
}
} }
\ No newline at end of file
...@@ -4,6 +4,8 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; ...@@ -4,6 +4,8 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO; import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -21,4 +23,7 @@ public interface VehicleFeign { ...@@ -21,4 +23,7 @@ public interface VehicleFeign {
@RequestMapping(value = "/rent/book/vehicle", method = RequestMethod.POST) @RequestMapping(value = "/rent/book/vehicle", method = RequestMethod.POST)
public ObjectRestResponse<String> rentApplyVehicle(@RequestBody BookVehicleVO bookVehicleVo); public ObjectRestResponse<String> rentApplyVehicle(@RequestBody BookVehicleVO bookVehicleVo);
@RequestMapping(value ="/branchCompany/app/unauth/detail/{id}",method = RequestMethod.GET)
public ObjectRestResponse<CompanyDetail> getCompanyDetail(@PathVariable Integer id);
} }
...@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; ...@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; 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.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.BranchCompanyBiz; import com.xxfc.platform.vehicle.biz.BranchCompanyBiz;
import com.xxfc.platform.vehicle.biz.VehicleBiz; import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.common.BaseController; import com.xxfc.platform.vehicle.common.BaseController;
...@@ -80,8 +81,8 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> { ...@@ -80,8 +81,8 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
@ApiOperation("获取公司详情") @ApiOperation("获取公司详情")
@RequestMapping(value ="/app/unauth/detail/{id}",method = RequestMethod.GET) @RequestMapping(value ="/app/unauth/detail/{id}",method = RequestMethod.GET)
public RestResponse<CompanyDetail> getDetail(@PathVariable Integer id) { public ObjectRestResponse<CompanyDetail> getDetail(@PathVariable Integer id) {
return RestResponse.data(baseBiz.getDetailById(id)); return ObjectRestResponse.succ(baseBiz.getDetailById(id));
} }
@RequestMapping(value ="",method = RequestMethod.POST) @RequestMapping(value ="",method = RequestMethod.POST)
......
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