Commit f56389ec authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

# Conflicts:
#	xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
parents b07557f0 355c3d3e
...@@ -32,24 +32,28 @@ public class ServiceAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -32,24 +32,28 @@ public class ServiceAuthRestInterceptor extends HandlerInterceptorAdapter {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HandlerMethod handlerMethod = (HandlerMethod) handler; if (handler instanceof HandlerMethod) {
// 配置该注解,说明不进行服务拦截 HandlerMethod handlerMethod = (HandlerMethod) handler;
IgnoreClientToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreClientToken.class); // 配置该注解,说明不进行服务拦截
if (annotation == null) { IgnoreClientToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreClientToken.class);
annotation = handlerMethod.getMethodAnnotation(IgnoreClientToken.class); if (annotation == null) {
} annotation = handlerMethod.getMethodAnnotation(IgnoreClientToken.class);
if (annotation != null) { }
return super.preHandle(request, response, handler); if (annotation != null) {
}
String token = request.getHeader(serviceAuthConfig.getTokenHeader());
IJWTInfo infoFromToken = serviceAuthUtil.getInfoFromToken(token);
String uniqueName = infoFromToken.getUniqueName();
for (String client : serviceAuthUtil.getAllowedClient()) {
if (client.equals(uniqueName)) {
return super.preHandle(request, response, handler); return super.preHandle(request, response, handler);
} }
String token = request.getHeader(serviceAuthConfig.getTokenHeader());
IJWTInfo infoFromToken = serviceAuthUtil.getInfoFromToken(token);
String uniqueName = infoFromToken.getUniqueName();
for (String client : serviceAuthUtil.getAllowedClient()) {
if (client.equals(uniqueName)) {
return super.preHandle(request, response, handler);
}
}
throw new ClientForbiddenException("Client is Forbidden!");
} else {
return super.preHandle(request, response, handler);
} }
throw new ClientForbiddenException("Client is Forbidden!");
} }
} }
...@@ -31,38 +31,42 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -31,38 +31,42 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HandlerMethod handlerMethod = (HandlerMethod) handler; if (handler instanceof HandlerMethod) {
// 配置该注解,说明不进行用户拦截 HandlerMethod handlerMethod = (HandlerMethod) handler;
IgnoreUserToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreUserToken.class); // 配置该注解,说明不进行用户拦截
if (annotation == null) { IgnoreUserToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreUserToken.class);
annotation = handlerMethod.getMethodAnnotation(IgnoreUserToken.class); if (annotation == null) {
} annotation = handlerMethod.getMethodAnnotation(IgnoreUserToken.class);
String token = request.getHeader(userAuthConfig.getTokenHeader()); }
if (StringUtils.isEmpty(token)) { String token = request.getHeader(userAuthConfig.getTokenHeader());
if (request.getCookies() != null) { if (StringUtils.isEmpty(token)) {
for (Cookie cookie : request.getCookies()) { if (request.getCookies() != null) {
if (cookie.getName().equals(userAuthConfig.getTokenHeader())) { for (Cookie cookie : request.getCookies()) {
token = cookie.getValue(); if (cookie.getName().equals(userAuthConfig.getTokenHeader())) {
token = cookie.getValue();
}
} }
} }
} }
} IJWTInfo infoFromToken = null;
IJWTInfo infoFromToken = null; try {
try { infoFromToken = userAuthUtil.getInfoFromToken(token);
infoFromToken = userAuthUtil.getInfoFromToken(token); } catch (Exception e) {
}catch (Exception e){ if (annotation != null) {
if (annotation != null) { return super.preHandle(request, response, handler);
return super.preHandle(request, response, handler); } else {
}else { throw e;
throw e; }
} }
BaseContextHandler.setUsername(infoFromToken.getUniqueName());
BaseContextHandler.setName(infoFromToken.getName());
BaseContextHandler.setUserID(infoFromToken.getId());
BaseContextHandler.setToken(token);
// 这里可以添加RequestType
return super.preHandle(request, response, handler);
}else {
return super.preHandle(request, response, handler);
} }
BaseContextHandler.setUsername(infoFromToken.getUniqueName());
BaseContextHandler.setName(infoFromToken.getName());
BaseContextHandler.setUserID(infoFromToken.getId());
BaseContextHandler.setToken(token);
// 这里可以添加RequestType
return super.preHandle(request, response, handler);
} }
@Override @Override
......
...@@ -98,6 +98,9 @@ public class CampsiteShopPageDTO implements Serializable { ...@@ -98,6 +98,9 @@ public class CampsiteShopPageDTO implements Serializable {
@ApiModelProperty("地址") @ApiModelProperty("地址")
private String address; private String address;
@ApiModelProperty("联系人")
private String concat;
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) { if (this == o) {
......
...@@ -91,6 +91,9 @@ public class CampsiteShopPageVo implements Serializable { ...@@ -91,6 +91,9 @@ public class CampsiteShopPageVo implements Serializable {
@JsonIgnore @JsonIgnore
private Long crtTime; private Long crtTime;
@ApiModelProperty("联系人")
private String concat;
@ApiModelProperty(value = "電話") @ApiModelProperty(value = "電話")
private String phone; private String phone;
......
...@@ -11,10 +11,7 @@ import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo; ...@@ -11,10 +11,7 @@ import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo;
import com.xxfc.platform.campsite.vo.CampsiteShopPageVo; import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
...@@ -63,8 +60,8 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp ...@@ -63,8 +60,8 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
return getBaseBiz().getAllByHome(page,limit); return getBaseBiz().getAllByHome(page,limit);
} }
@GetMapping(value = "/app/unauth/webchat_official/campsites") @PostMapping(value = "/app/unauth/webchat_official/campsites")
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsitesForPublicNumber(CampsiteShopFindDTO campsiteShopFindDTO){ public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsitesForPublicNumber(@RequestBody CampsiteShopFindDTO campsiteShopFindDTO){
PageDataVO<CampsiteShopPageVo> campsiteShops = baseBiz.findCampsiteShopPageByType(campsiteShopFindDTO); PageDataVO<CampsiteShopPageVo> campsiteShops = baseBiz.findCampsiteShopPageByType(campsiteShopFindDTO);
return ObjectRestResponse.succ(campsiteShops); return ObjectRestResponse.succ(campsiteShops);
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<!--根据类型查询全部--> <!--根据类型查询全部-->
<select id="findAllCampsiteShopsByTypeOrCode" resultType="com.xxfc.platform.campsite.dto.CampsiteShopPageDTO"> <select id="findAllCampsiteShopsByTypeOrCode" resultType="com.xxfc.platform.campsite.dto.CampsiteShopPageDTO">
select cs.id as `id`,cs.name as `name`,cs.logo as `logo`,cs.url as `url`,cs.province_name as `provinceName`,cs.city_name as `cityName`,cs.service_phone as `phone`, select cs.id as `id`,cs.name as `name`,cs.logo as `logo`,cs.url as `url`,cs.province_name as `provinceName`,cs.city_name as `cityName`,cs.service_phone as `phone`,
cs.longitude as `longitude`,cs.latitude as `latitude`,`address` as `address`,cs.hot as `hot`,cs.crt_time as `crtTime`,ct.id as `storeId`,ct.name as `storeTypeName` cs.longitude as `longitude`,cs.latitude as `latitude`,`address` as `address`,cs.hot as `hot`,cs.crt_time as `crtTime`,cs.concat as `concat`,ct.id as `storeId`,ct.name as `storeTypeName`
FROM `campsite_shop_tag` cst FROM `campsite_shop_tag` cst
left JOIN `campsite_shop` cs on cst.shop_id=cs.id left JOIN `campsite_shop` cs on cst.shop_id=cs.id
left JOIN `campsite_tag` ct on cst.tag_id=ct.id left JOIN `campsite_tag` ct on cst.tag_id=ct.id
......
...@@ -18,6 +18,10 @@ public class BranchCompany { ...@@ -18,6 +18,10 @@ public class BranchCompany {
@ApiModelProperty("主键id") @ApiModelProperty("主键id")
private Integer id; private Integer id;
@Column(name = "company_base_id")
@ApiModelProperty("主键id")
private Integer companyBaseId;
/** /**
* 分公司名称 * 分公司名称
*/ */
...@@ -119,4 +123,16 @@ public class BranchCompany { ...@@ -119,4 +123,16 @@ public class BranchCompany {
@ApiModelProperty("旅游客服电话") @ApiModelProperty("旅游客服电话")
private String tourServicePhone; private String tourServicePhone;
/**
* 上下架:1-上架;2-下架
*/
private Integer state;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
private Integer isDel;
} }
\ No newline at end of file
package com.xxfc.platform.vehicle.entity; package com.xxfc.platform.vehicle.entity;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import lombok.Data; import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -17,10 +15,10 @@ public class BranchCompanyStockRight{ ...@@ -17,10 +15,10 @@ public class BranchCompanyStockRight{
private Integer id; private Integer id;
/** /**
* 公司id * 有限公司id
*/ */
@Column(name = "company_id") @Column(name = "company_base_id")
private Integer companyId; private Integer companyBaseId;
/** /**
* 剩余股份 * 剩余股份
...@@ -37,15 +35,14 @@ public class BranchCompanyStockRight{ ...@@ -37,15 +35,14 @@ public class BranchCompanyStockRight{
*/ */
private BigDecimal price; private BigDecimal price;
private Integer state;
@Column(name = "company_pic")
private String companyPic;
/** /**
* 详情 * 股价类型:1-万/股;2-港万/股
*/ */
private String info; private Integer type;
@Column(name = "stock_state")
private Integer stockState;
/** /**
* 创建时间 * 创建时间
......
package com.xxfc.platform.vehicle.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@Table(name = "company_base")
public class CompanyBase {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
/**
* 公司封面
*/
@ApiModelProperty("公司封面")
private String cover;
/**
* 轮播图
*/
@ApiModelProperty("轮播图")
private String images;
/**
* 片区id
*/
@Column(name = "zone_id")
@ApiModelProperty("片区id")
private Integer zoneId;
/**
* 公司简介
*/
@ApiModelProperty("公司简介")
private String describes;
/**
* 详情
*/
@ApiModelProperty("详情")
private String content;
/**
* 地址-省/直辖市(编码)
*/
@Column(name = "addr_province")
@ApiModelProperty("地址-省/直辖市(编码)")
private Integer addrProvince;
/**
* 地址-市(编码)
*/
@Column(name = "addr_city")
@ApiModelProperty("地址-市(编码)")
private Integer addrCity;
/**
* 地址-镇/县(编码)
*/
@Column(name = "addr_town")
@ApiModelProperty("地址-镇/县(编码)")
private Integer addrTown;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty("创建时间")
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty("更新时间")
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty("更新时间")
private Integer isDel;
@Column(name = "province_name")
private String provinceName;
@Column(name = "city_name")
private String cityName;
@Column(name = "towm_name")
private String townName;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.pojo.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 11:03
*/
@Data
public class BranchCompanyStockRightDTO {
private Integer id;
private String companyName;
private Integer balance;
private Integer total;
private BigDecimal price;
private String cover;
private Integer type;
}
package com.xxfc.platform.vehicle.pojo.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/22 19:58
*/
@Data
public class BranchCompanyStockRightFindDTO extends PageParam {
private Integer provinceCode;
private Integer cityCode;
private BigDecimal price;
}
package com.xxfc.platform.vehicle.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 13:51
*/
@Data
public class CompanyBaseDetailDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
/**
* 公司封面
*/
@ApiModelProperty("公司封面")
private String cover;
/**
* 轮播图
*/
@ApiModelProperty("轮播图")
private String images;
@ApiModelProperty("公司简介")
private String describes;
@ApiModelProperty("详情")
private String content;
@ApiModelProperty("地址-省/直辖市")
private String provinceName;
@ApiModelProperty("地址-市")
private String cityName;
@ApiModelProperty("地址-镇/县")
private String townName;
@ApiModelProperty("具体地址")
private String address;
}
package com.xxfc.platform.vehicle.pojo.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/22 20:03
*/
@Data
public class BranchCompanyStockRightForWeChatOfficeVO {
private Integer id;
private String companyName;
private Integer balance;
private Integer total;
private BigDecimal price;
private String cover;
private Integer type;
}
package com.xxfc.platform.vehicle.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 12:18
*/
@Data
public class CompanyBaseVo {
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
/**
* 公司封面
*/
@ApiModelProperty("公司封面")
private String cover;
/**
* 轮播图
*/
@ApiModelProperty("轮播图")
private String images;
@ApiModelProperty("公司简介")
private String describes;
@ApiModelProperty("详情")
private String content;
@ApiModelProperty("地址-省/直辖市")
private String province;
@ApiModelProperty("地址-市")
private String city;
@ApiModelProperty("地址-镇/县")
private String town;
@ApiModelProperty("具体地址")
private String address;
}
package com.xxfc.platform.vehicle.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 分公司信息
*/
@Data
public class CompanyVo {
/**
* 公司基本信息表
*/
@ApiModelProperty("公司基本信息id")
Integer id;
@ApiModelProperty("公司全名称")
String name;
@ApiModelProperty("公司封面")
String cover;
@ApiModelProperty("轮播图")
String images;
@ApiModelProperty("片区id")
Integer zoneId;
@ApiModelProperty("公司简介")
String describes;
@ApiModelProperty("详情")
String content;
@ApiModelProperty("地址-省/直辖市(编码)")
Integer addrProvince;
@ApiModelProperty("地址-省/直辖市(编码)名称")
String provinceName;
@ApiModelProperty("地址-市(编码)")
Integer addrCity;
@ApiModelProperty("地址-市(编码)名称")
String cityName;
@ApiModelProperty("地址-镇/县(编码)")
Integer addrTown;
@ApiModelProperty("地址-镇/县(编码)名称")
String townName;
/**
* 分支机构
*/
@ApiModelProperty("分支机构id")
Integer companyId;
@ApiModelProperty("分支机构名称")
String companyName;
@ApiModelProperty("详细地址")
String addrDetail;
@ApiModelProperty("上下架:1-上架;2-下架")
Integer state;
@ApiModelProperty("负责人")
private String leader;
@ApiModelProperty("负责人联系方式")
private String leaderContactInfo;
@ApiModelProperty("公司状态")
private Integer status;
@ApiModelProperty("公司地址-纬度")
private BigDecimal latitude;
@ApiModelProperty("公司地址-经度")
private BigDecimal longitude;
@ApiModelProperty("租车客服电话")
private String vehiceServicePhone;
@ApiModelProperty("旅游客服电话")
private String tourServicePhone;
/**
* 股权信息
*/
@ApiModelProperty("股份id")
Integer stockId;
@ApiModelProperty("剩余股份")
Integer balance;
@ApiModelProperty("股份总数")
Integer total;
@ApiModelProperty("股份单价")
BigDecimal price;
@ApiModelProperty("排序")
Integer rank;
@ApiModelProperty("(-1:下架,0:筹备中,1:筹备完成,2:上架)")
Integer stockState;
@ApiModelProperty("股价类型:1-万/股;2-港万/股")
Integer type;
}
package com.xxfc.platform.vehicle.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.BranchCompanyStockInfoMapper;
import com.xxfc.platform.vehicle.mapper.CompanyBaseMapper;
import com.xxfc.platform.vehicle.pojo.dto.CompanyBaseDetailDTO;
import com.xxfc.platform.vehicle.pojo.vo.CompanyBaseVo;
import com.xxfc.platform.vehicle.pojo.vo.CompanyVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
@Service
@Slf4j
public class CompanyBaseBiz extends BaseBiz<CompanyBaseMapper, CompanyBase> {
@Autowired
BranchCompanyStockRightBiz stockRightBiz;
@Autowired
BranchCompanyStockInfoMapper stockInfoMapper;
@Value("${branchCompanyPic.url}")
private String companyUrl;
//临时数据同步
public ObjectRestResponse synchro(){
List<BranchCompanyStockInfo> list= stockInfoMapper.selectAll();
if (list.size()>0){
for (BranchCompanyStockInfo companyStockInfo:list){
int num=0;
String companyName=companyStockInfo.getCompanyName();
Integer balance=companyStockInfo.getBalance();
Integer total=companyStockInfo.getTotal();
BigDecimal price=companyStockInfo.getPrice();
CompanyBase companyBase=new CompanyBase();
companyBase.setAddrCity(companyStockInfo.getAddrCity());
companyBase.setAddrProvince(companyStockInfo.getAddrProvince());
companyBase.setName(companyName);
companyBase.setCover(companyUrl+"/image/admin/upload"+companyStockInfo.getCompanyPic());
companyBase.setImages(companyUrl+"/image/admin/upload"+companyStockInfo.getCompanyPic());
insertSelective(companyBase);
Integer companyBaseId=companyBase.getId();
if (companyBaseId!=null){
BranchCompanyStockRight branchCompanyStockRight=new BranchCompanyStockRight();
branchCompanyStockRight.setBalance(balance);
branchCompanyStockRight.setPrice(price);
branchCompanyStockRight.setTotal(total);
branchCompanyStockRight.setCompanyBaseId(companyBaseId);
branchCompanyStockRight.setStockState(2);
stockRightBiz.insertSelective(branchCompanyStockRight);
}
num++;
log.info("----成功---num=="+num+"---companyBaseId==="+companyBaseId);
}
}
return ObjectRestResponse.succ();
}
//设置基础信息
public ObjectRestResponse updCompany(CompanyVo companyVo){
if (companyVo==null|| StringUtils.isBlank(companyVo.getCompanyName())|| StringUtils.isBlank(companyVo.getName())||
companyVo.getZoneId()==null||companyVo.getZoneId()==0|| companyVo.getAddrProvince()==null||companyVo.getAddrProvince()==0
|| companyVo.getAddrCity()==null||companyVo.getAddrCity()==0){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
Integer state=companyVo.getState()==null?2:companyVo.getState();
if (state==1&&(StringUtils.isBlank(companyVo.getAddrDetail())||StringUtils.isBlank(companyVo.getImages())||StringUtils.isBlank(companyVo.getDescribes())||StringUtils.isBlank(companyVo.getContent())
||StringUtils.isBlank(companyVo.getLeader())||StringUtils.isBlank(companyVo.getLeaderContactInfo())||StringUtils.isBlank(companyVo.getTourServicePhone())||StringUtils.isBlank(companyVo.getVehiceServicePhone()))){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"上架时参数不能为空");
}
CompanyBase companyBase=new CompanyBase();
BeanUtils.copyProperties(companyVo,companyBase);
Integer companyBaseId=companyVo.getId();
if (companyBaseId==null||companyBaseId==0){
insertSelective(companyBase);
companyBaseId=companyBase.getId();
}else {
updateSelectiveById(companyBase);
}
BranchCompany branchCompany=new BranchCompany();
BeanUtils.copyProperties(companyVo,branchCompany);
branchCompany.setCompanyBaseId(companyBaseId);
branchCompany.setName(companyVo.getCompanyName());
Integer companyId=companyVo.getCompanyId();
if (companyId==null||companyId==0){
branchCompany.setId(null);
insertSelective(companyBase);
}else {
branchCompany.setId(companyId);
updateSelectiveById(companyBase);
}
return ObjectRestResponse.succ();
}
//设置股权信息
public ObjectRestResponse updStockInfo(CompanyVo companyVo){
if (companyVo==null|| companyVo.getId()==null||companyVo.getId()==0 || companyVo.getBalance()==null||companyVo.getBalance()==0|| companyVo.getTotal()==null||companyVo.getTotal()==0
||companyVo.getPrice() ==null|| companyVo.getPrice().compareTo(BigDecimal.ZERO)<0){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
Integer companyBaseId=companyVo.getId();
Integer stockState=companyVo.getStockState();
if (stockState!=null&&stockState==2){
CompanyBase companyBase=selectById(companyBaseId);
if (companyBase==null||StringUtils.isBlank(companyBase.getDescribes())|| StringUtils.isBlank(companyBase.getContent())||StringUtils.isBlank(companyBase.getImages())){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"基础信息不完善");
}
}
Integer stockId=companyVo.getStockId();
BranchCompanyStockRight right=new BranchCompanyStockRight();
BeanUtils.copyProperties(companyVo,right);
if (stockId==null||stockId==0){
right.setId(null);
stockRightBiz.insertSelective(right);
}else {
right.setId(stockId);
stockRightBiz.updateSelectiveById(right);
}
return ObjectRestResponse.succ();
}
//设置基础信息
public ObjectRestResponse updCompanyDetail(CompanyVo companyVo){
if (companyVo==null){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
CompanyBase companyBase=new CompanyBase();
BeanUtils.copyProperties(companyVo,companyBase);
Integer companyBaseId=companyVo.getId();
if (companyBaseId==null||companyBaseId==0){
insertSelective(companyBase);
companyBaseId=companyBase.getId();
}else {
updateSelectiveById(companyBase);
}
BranchCompany branchCompany=new BranchCompany();
BeanUtils.copyProperties(companyVo,branchCompany);
branchCompany.setCompanyBaseId(companyBaseId);
Integer companyId=companyVo.getCompanyId();
if (companyId==null||companyId==0){
branchCompany.setId(null);
insertSelective(companyBase);
}else {
branchCompany.setId(companyId);
updateSelectiveById(companyBase);
}
return ObjectRestResponse.succ();
}
public CompanyBaseVo findCompanyDetailById(Integer id) {
CompanyBaseVo companyBaseVo = new CompanyBaseVo();
CompanyBaseDetailDTO companyBaseDetailDTO = mapper.findCompanyBaseById(id);
BeanUtils.copyProperties(companyBaseDetailDTO,companyBaseVo);
return companyBaseVo;
}
}
...@@ -464,6 +464,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -464,6 +464,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_NOT_EXIST.getDesc(), ResCode.VEHICLE_BOOKED_RECORD_NOT_EXIST.getCode()); throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_NOT_EXIST.getDesc(), ResCode.VEHICLE_BOOKED_RECORD_NOT_EXIST.getCode());
} else { } else {
//先取消预定,然后再修改 //先取消预定,然后再修改
//先取消之前预定时间,然后再修改
bookVehicleVo.setUnbookStartDate(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DATE_TIME_FORMATTER)); bookVehicleVo.setUnbookStartDate(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DATE_TIME_FORMATTER));
bookVehicleVo.setUnbookEndDate(new DateTime(vehicleBookRecord.getBookEndDate()).toString(DATE_TIME_FORMATTER)); bookVehicleVo.setUnbookEndDate(new DateTime(vehicleBookRecord.getBookEndDate()).toString(DATE_TIME_FORMATTER));
unbookVehicle(bookVehicleVo); unbookVehicle(bookVehicleVo);
...@@ -528,9 +529,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -528,9 +529,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
Integer andOperationFactor = andOpratorParam.get("andOperationFactor"); Integer andOperationFactor = andOpratorParam.get("andOperationFactor");
Integer andOperationRs = andOpratorParam.get("andOperationRs"); Integer andOperationRs = andOpratorParam.get("andOperationRs");
if(vehicleBookInfo != null && vehicleBookInfo.getBookedDate() != null && if(vehicleBookInfo != null && vehicleBookInfo.getBookedDate() != null &&
((vehicleBookInfo.getBookedDate() & andOperationFactor) != 0)){//已经被预定 ((vehicleBookInfo.getBookedDate() & andOperationFactor) != andOperationRs)){//已经被预定
//当天已经被预定检查小时是否也被预定 //当天已经被预定检查小时是否也被预定
return filterHourInfoBooked(vehicleId, hourInfo); return filterHourInfoBooked(vehicleId, hourInfo);
} else if (vehicleBookInfo != null && vehicleBookInfo.getBookedDate() != null &&(vehicleBookInfo.getBookedDate() & andOperationFactor) == 0){//未被预定,查看时间是否被预定
return filterHourInfoBooked(vehicleId, hourInfo);
} }
return Boolean.TRUE; return Boolean.TRUE;
} }
......
...@@ -3,10 +3,12 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -3,10 +3,12 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockRight; import com.xxfc.platform.vehicle.entity.BranchCompanyStockRight;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo; import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyStockRightDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo; import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
...@@ -25,4 +27,6 @@ public interface BranchCompanyStockRightMapper extends Mapper<BranchCompanyStock ...@@ -25,4 +27,6 @@ public interface BranchCompanyStockRightMapper extends Mapper<BranchCompanyStock
int addCompamyList(@Param("list") List<BranchCompanyStockRight> list); int addCompamyList(@Param("list") List<BranchCompanyStockRight> list);
Integer getCompanyInfo(@Param("name")String name); Integer getCompanyInfo(@Param("name")String name);
List<BranchCompanyStockRightDTO> findWithPageByPriceOrCode(@Param("price") BigDecimal price, @Param("provinceCode") Integer provinceCode, @Param("cityCode") Integer cityCode);
} }
\ No newline at end of file
package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.CompanyBase;
import com.xxfc.platform.vehicle.pojo.dto.CompanyBaseDetailDTO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;
public interface CompanyBaseMapper extends Mapper<CompanyBase> {
@Select("SELECT cb.*,bc.addr_detail AS `address` FROM (SELECT * FROM `company_base` WHERE `id`=#{id}) AS `cb` LEFT JOIN `branch_company` AS `bc` ON bc.company_base_id = cb.id;")
@Results(value = {
@Result(property = "provinceName",column = "addr_province"),
@Result(property = "cityName",column = "addr_city"),
@Result(property = "townName",column = "addr_town")
})
CompanyBaseDetailDTO findCompanyBaseById(@Param("id") Integer id);
}
\ No newline at end of file
...@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; ...@@ -4,6 +4,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.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.biz.BranchCompanyStockApplyInfoBiz; import com.xxfc.platform.vehicle.biz.BranchCompanyStockApplyInfoBiz;
import com.xxfc.platform.vehicle.biz.BranchCompanyStockRightBiz; import com.xxfc.platform.vehicle.biz.BranchCompanyStockRightBiz;
import com.xxfc.platform.vehicle.common.BaseController; import com.xxfc.platform.vehicle.common.BaseController;
...@@ -12,13 +13,17 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode; ...@@ -12,13 +13,17 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo; import com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo; import com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo; import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyStockRightFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo; import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockRightForWeChatOfficeVO;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
@RestController @RestController
@IgnoreClientToken @IgnoreClientToken
...@@ -191,4 +196,21 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp ...@@ -191,4 +196,21 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return baseBiz.importExcel(multipartfile,request); return baseBiz.importExcel(multipartfile,request);
} }
@GetMapping("/app/unauth/stock_right_price")
public ObjectRestResponse<List<Integer>> getStorkRightPrices(){
List<Integer> allPrice = baseBiz.getAllPrice();
return ObjectRestResponse.succ(allPrice);
}
/**
* 微信公众号查询
* @param branchCompanyStockRightFindDTO
* @return
*/
@PostMapping("/app/unauth/webchat_office/stockrights")
public ObjectRestResponse<PageDataVO<BranchCompanyStockRightForWeChatOfficeVO>> findBranchCompanyStockRightsForWechatOffice(@RequestBody BranchCompanyStockRightFindDTO branchCompanyStockRightFindDTO){
PageDataVO<BranchCompanyStockRightForWeChatOfficeVO> branchCompanyStockRightForWeChatOfficeVOPageDataVO = baseBiz.findWithPageByPriceOrCode(branchCompanyStockRightFindDTO);
return ObjectRestResponse.succ(branchCompanyStockRightForWeChatOfficeVOPageDataVO);
}
} }
package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.CompanyBaseBiz;
import com.xxfc.platform.vehicle.pojo.vo.CompanyBaseVo;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 12:16
*/
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@RequestMapping("/company_base")
public class CompanyBaseController {
private final CompanyBaseBiz companyBaseBiz;
@GetMapping("/detail/{id}")
public ObjectRestResponse<CompanyBaseVo> findCompanyDetailById(@PathVariable(value = "id") Integer id){
CompanyBaseVo companyBaseVo = companyBaseBiz.findCompanyDetailById(id);
return ObjectRestResponse.succ(companyBaseVo);
}
}
package com.xxfc.platform.vehicle.rest.admin;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.biz.BranchCompanyStockApplyInfoBiz;
import com.xxfc.platform.vehicle.biz.CompanyBaseBiz;
import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
@RestController
@IgnoreClientToken
@IgnoreUserToken
@RequestMapping("company/base")
public class CompanyBaseController extends BaseController<CompanyBaseBiz> {
@PostMapping("synchro")
public ObjectRestResponse<String> synchro() {
return baseBiz.synchro();
}
}
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
r.price, r.price,
r.rank, r.rank,
r.total, r.total,
r.state, r.stock_state,
c.addr_city AS addrCity, c.addr_city AS addrCity,
c.addr_province AS addrProvince, c.addr_province AS addrProvince,
c.`name` AS companyName c.`name` AS companyName
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<trim prefix="where" suffixOverrides="and"> <trim prefix="where" suffixOverrides="and">
c.is_del = 0 and c.is_del = 0 and
<if test="companyName != null"> <if test="companyName != null">
c.name like CONCAT('%',#{companyName},'%') c.name like CONCAT('%',#{companyName},'%')
</if> </if>
<if test="addrProvince != null"> <if test="addrProvince != null">
c.addr_province = #{addrProvince} and c.addr_province = #{addrProvince} and
...@@ -43,10 +43,13 @@ ...@@ -43,10 +43,13 @@
r.price &lt;= #{priceEnd} and r.price &lt;= #{priceEnd} and
</if> </if>
</trim> </trim>
order by rank DESC,price DESC order by rank DESC,price DESC
</select> </select>
<select id="selectAllPrice" resultType="int"> <select id="selectAllPrice" resultType="integer">
select distinct price from branch_company_stock_info_right where is_del=0 order by price SELECT DISTINCT
`price`
FROM
( SELECT `price` / 10000 AS `price` FROM branch_company_stock_info_right WHERE is_del = 0 ) AS `bcsir` ORDER BY price DESC
</select> </select>
<select id="selectInfoById" resultType="com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo"> <select id="selectInfoById" resultType="com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo">
SELECT SELECT
...@@ -58,7 +61,7 @@ ...@@ -58,7 +61,7 @@
r.price, r.price,
r.rank, r.rank,
r.total, r.total,
r.state, r.stock_state,
c.addr_city AS addrCity, c.addr_city AS addrCity,
c.addr_province AS addrProvince, c.addr_province AS addrProvince,
c.`name` AS companyName c.`name` AS companyName
...@@ -74,10 +77,38 @@ ...@@ -74,10 +77,38 @@
<insert id="addCompamyList" parameterType="java.util.List"> <insert id="addCompamyList" parameterType="java.util.List">
insert into branch_company_stock_info_right ( insert into branch_company_stock_info_right (
company_id,balance,total,price,state,company_pic,crt_time,upd_time company_id,balance,total,price,stock_state,company_pic,crt_time,upd_time
) VALUES ) VALUES
<foreach collection ="list" item="item" index="index" separator =","> <foreach collection="list" item="item" index="index" separator=",">
(#{item.companyId},#{item.balance},#{item.total},#{item.price},#{item.state},#{item.companyPic},#{item.crtTime},#{item.updTime}) (#{item.companyId},#{item.balance},#{item.total},#{item.price},#{item.stockState}
,#{item.companyPic},#{item.crtTime},#{item.updTime})
</foreach> </foreach>
</insert> </insert>
<select id="findWithPageByPriceOrCode"
resultType="com.xxfc.platform.vehicle.pojo.dto.BranchCompanyStockRightDTO">
SELECT
cb.id,
bcsir.balance,
bcsir.total,
bcsir.type,
bcsir.price/10000 as `price`,
cb.cover,
cb.name as `companyName`
FROM
( SELECT id, company_base_id, balance, total, price, type FROM `branch_company_stock_info_right` WHERE
`stock_state` =
2 AND `is_del`=0
<if test="price != null">
AND `price`=#{price}*10000
</if>
) AS `bcsir`
INNER JOIN ( SELECT id, `name`, cover FROM `company_base` WHERE 1=1
<if test="provinceCode != null">
AND `addr_province`=#{provinceCode}
</if>
<if test="cityCode != null">
AND `addr_city`=#{cityCode}
</if>
) AS `cb` ON cb.id = bcsir.company_base_id order by bcsir.price desc
</select>
</mapper> </mapper>
\ No newline at end of file
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