Commit bafe6846 authored by hanfeng's avatar hanfeng

解决冲突

parents bd21410b b5632461
...@@ -32,6 +32,7 @@ public class ServiceAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -32,6 +32,7 @@ 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 {
if (handler instanceof HandlerMethod) {
HandlerMethod handlerMethod = (HandlerMethod) handler; HandlerMethod handlerMethod = (HandlerMethod) handler;
// 配置该注解,说明不进行服务拦截 // 配置该注解,说明不进行服务拦截
IgnoreClientToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreClientToken.class); IgnoreClientToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreClientToken.class);
...@@ -51,5 +52,8 @@ public class ServiceAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -51,5 +52,8 @@ public class ServiceAuthRestInterceptor extends HandlerInterceptorAdapter {
} }
} }
throw new ClientForbiddenException("Client is Forbidden!"); throw new ClientForbiddenException("Client is Forbidden!");
} else {
return super.preHandle(request, response, handler);
}
} }
} }
...@@ -31,6 +31,7 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -31,6 +31,7 @@ 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 {
if (handler instanceof HandlerMethod) {
HandlerMethod handlerMethod = (HandlerMethod) handler; HandlerMethod handlerMethod = (HandlerMethod) handler;
// 配置该注解,说明不进行用户拦截 // 配置该注解,说明不进行用户拦截
IgnoreUserToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreUserToken.class); IgnoreUserToken annotation = handlerMethod.getBeanType().getAnnotation(IgnoreUserToken.class);
...@@ -50,10 +51,10 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -50,10 +51,10 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
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;
} }
} }
...@@ -63,6 +64,9 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter { ...@@ -63,6 +64,9 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
BaseContextHandler.setToken(token); BaseContextHandler.setToken(token);
// 这里可以添加RequestType // 这里可以添加RequestType
return super.preHandle(request, response, handler); return super.preHandle(request, response, handler);
}else {
return super.preHandle(request, response, handler);
}
} }
@Override @Override
......
...@@ -40,4 +40,43 @@ public class StringToolsUtil { ...@@ -40,4 +40,43 @@ public class StringToolsUtil {
String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)"; String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";
return Pattern.matches(REGEX_ID_CARD, idCard); return Pattern.matches(REGEX_ID_CARD, idCard);
} }
public static boolean isNumer( String str){
boolean flag = false;
try{
if(StringUtils.isBlank(str)) {
flag = false;
}
Pattern regex =Pattern.compile("[0-9]*");
Matcher m = regex .matcher(str);
flag = m.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
public static boolean isBigDecimal(String str) {
if (str == null || str.trim().length() == 0) {
return false;
}
char[] chars = str.toCharArray();
int sz = chars.length;
int i = (chars[0] == '-') ? 1 : 0;
if (i == sz) return false;
if (chars[i] == '.') return false;//除了负号,第一位不能为'小数点'
boolean radixPoint = false;
for (; i < sz; i++) {
if (chars[i] == '.') {
if (radixPoint) return false;
radixPoint = true;
} else if (!(chars[i] >= '0' && chars[i] <= '9')) {
return false;
}
}
return true;
}
} }
package com.xxfc.platform.campsite.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description 公众号
* @data 2019/8/22 14:07
*/
@Data
public class CampsiteShopFindDTO extends PageParam {
private Integer addrProvince;
private Integer addrCity;
private Integer type;
}
...@@ -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) {
......
package com.xxfc.platform.campsite.vo; package com.xxfc.platform.campsite.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -7,8 +8,6 @@ import lombok.Builder; ...@@ -7,8 +8,6 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
...@@ -67,13 +66,6 @@ public class CampsiteShopPageVo implements Serializable { ...@@ -67,13 +66,6 @@ public class CampsiteShopPageVo implements Serializable {
@ApiModelProperty(value = "店铺类型名称") @ApiModelProperty(value = "店铺类型名称")
private String storeTypeName; private String storeTypeName;
/**
* 店铺类型id
*/
@ApiModelProperty(value = "店铺类型id")
private String storeId;
/** /**
* 经度 * 经度
*/ */
...@@ -96,8 +88,12 @@ public class CampsiteShopPageVo implements Serializable { ...@@ -96,8 +88,12 @@ public class CampsiteShopPageVo implements Serializable {
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间", hidden = true) @ApiModelProperty(value = "创建时间", hidden = true)
@JsonIgnore
private Long crtTime; private Long crtTime;
@ApiModelProperty("联系人")
private String concat;
@ApiModelProperty(value = "電話") @ApiModelProperty(value = "電話")
private String phone; private String phone;
......
...@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel; ...@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
......
...@@ -61,7 +61,6 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -61,7 +61,6 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
*/ */
private static final String CAMPSITE_LIST_CACHE_PREKEY = "campsite_cache:"; private static final String CAMPSITE_LIST_CACHE_PREKEY = "campsite_cache:";
private static final String CAMSITE_DETAIL_CACHE_PREKEY = "campsite:detail:cache:"; private static final String CAMSITE_DETAIL_CACHE_PREKEY = "campsite:detail:cache:";
private static final String CAMPSITE_CACHE_ALL = "all";
private static final long CAMPSITE_CACHE_EXPIRE_TIME = 6000; private static final long CAMPSITE_CACHE_EXPIRE_TIME = 6000;
/** /**
...@@ -81,27 +80,27 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -81,27 +80,27 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
} }
public PageDataVO<CampsiteShopPageVo> findCampsiteShopPageByType(Integer type, Integer pageNo, Integer pageSize) { public PageDataVO<CampsiteShopPageVo> findCampsiteShopPageByType(CampsiteShopFindDTO campsiteShopFindDTO) {
String result; String campsite_cache_key = String.format("%s%s%s%s%s", campsiteShopFindDTO.getType() == null ? "" : campsiteShopFindDTO.getType() + ":",
if (Objects.isNull(type)) { campsiteShopFindDTO.getAddrProvince() == null ? "" : campsiteShopFindDTO.getAddrProvince() + ":",
result = campHashOperations.get(CAMPSITE_LIST_CACHE_PREKEY,String.format("%s%d%d",CAMPSITE_CACHE_ALL,pageNo,pageSize)); campsiteShopFindDTO.getAddrCity()==null?"":campsiteShopFindDTO.getAddrCity()+":",
} else { campsiteShopFindDTO.getPage()+":",
result = campHashOperations.get(CAMPSITE_LIST_CACHE_PREKEY, String.format("%s%d%d", String.valueOf(type), pageNo, pageSize)); campsiteShopFindDTO.getLimit());
} String result = campHashOperations.get(CAMPSITE_LIST_CACHE_PREKEY,campsite_cache_key);
if (result != null) { if (result != null) {
return JSONObject.parseObject(result, new TypeReference<PageDataVO<CampsiteShopPageVo>>() { return JSONObject.parseObject(result, new TypeReference<PageDataVO<CampsiteShopPageVo>>() {
}); });
} }
PageDataVO<CampsiteShopPageVo> campsiteShopPageDataVO = new PageDataVO<>(); PageDataVO<CampsiteShopPageVo> campsiteShopPageDataVO = new PageDataVO<>();
PageDataVO<CampsiteShopPageDTO> pageDataVO = PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.findAllCampsiteShopsByType(type)); PageDataVO<CampsiteShopPageDTO> pageDataVO = PageDataVO.pageInfo(campsiteShopFindDTO.getPage(), campsiteShopFindDTO.getLimit(), () -> mapper.findAllCampsiteShopsByTypeOrCode(campsiteShopFindDTO.getType(),campsiteShopFindDTO.getAddrProvince(),campsiteShopFindDTO.getAddrCity()));
List<CampsiteShopPageDTO> campsiteShopPageDTOS = pageDataVO.getData(); List<CampsiteShopPageDTO> campsiteShopPageDTOS = pageDataVO.getData();
if (CollectionUtils.isEmpty(campsiteShopPageDTOS)) { if (CollectionUtils.isEmpty(campsiteShopPageDTOS)) {
campsiteShopPageDataVO.setData(new ArrayList<CampsiteShopPageVo>()); campsiteShopPageDataVO.setData(Collections.EMPTY_LIST);
return campsiteShopPageDataVO; return campsiteShopPageDataVO;
} }
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("根据type=【{}】查询到的店铺数据:【{}】", type, campsiteShopPageDTOS); log.debug("根据type=【{}】查询到的店铺数据:【{}】", campsiteShopFindDTO.getType(), campsiteShopPageDTOS);
} }
List<CampsiteShopPageVo> campsiteShopPageVoList = new ArrayList<>(); List<CampsiteShopPageVo> campsiteShopPageVoList = new ArrayList<>();
...@@ -119,11 +118,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -119,11 +118,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
campsiteShopPageDataVO.setPageNum(pageDataVO.getPageNum()); campsiteShopPageDataVO.setPageNum(pageDataVO.getPageNum());
campsiteShopPageDataVO.setData(campsiteShopPageVoList); campsiteShopPageDataVO.setData(campsiteShopPageVoList);
if (Objects.isNull(type)) { campHashOperations.put(CAMPSITE_LIST_CACHE_PREKEY,campsite_cache_key,JSONObject.toJSONString(campsiteShopPageDataVO));
campHashOperations.put(CAMPSITE_LIST_CACHE_PREKEY, String.format("%s%d%d",CAMPSITE_CACHE_ALL,pageNo,pageSize), JSONObject.toJSONString(campsiteShopPageDataVO));
} else {
campHashOperations.put(CAMPSITE_LIST_CACHE_PREKEY, String.format("%s%d%d", String.valueOf(type), pageNo, pageSize), JSONObject.toJSONString(campsiteShopPageDataVO));
}
return campsiteShopPageDataVO; return campsiteShopPageDataVO;
} }
...@@ -169,7 +164,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -169,7 +164,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
} }
campsiteShopDetailVo.setTypeNames(shopTagDTOS == null ? Collections.EMPTY_LIST : shopTagDTOS.stream().map(CampsiteShopTagDTO::getName).collect(Collectors.toList())); campsiteShopDetailVo.setTypeNames(shopTagDTOS == null ? Collections.EMPTY_LIST : shopTagDTOS.stream().map(CampsiteShopTagDTO::getName).collect(Collectors.toList()));
//根据经纬度算距离 //根据经纬度算距离
if (campsiteShopDetailDTO.getLongitude()!=null && campsiteShopDetailDTO.getLatitude()!=null) { if (campsiteShopDetailDTO.getLongitude() != null && campsiteShopDetailDTO.getLatitude() != null) {
double distance = getDistance(campsiteShopDetailDTO.getLongitude(), campsiteShopDetailDTO.getLatitude(), longitude, latitude); double distance = getDistance(campsiteShopDetailDTO.getLongitude(), campsiteShopDetailDTO.getLatitude(), longitude, latitude);
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("根据店铺经度=【{}】,纬度=【{}】和自己所在位置的经度=【{}】,纬度=【{}】计算出的距离:【{}km】", campsiteShopDetailDTO.getLongitude(), campsiteShopDetailDTO.getLatitude(), longitude, latitude, distance); log.debug("根据店铺经度=【{}】,纬度=【{}】和自己所在位置的经度=【{}】,纬度=【{}】计算出的距离:【{}km】", campsiteShopDetailDTO.getLongitude(), campsiteShopDetailDTO.getLatitude(), longitude, latitude, distance);
...@@ -309,7 +304,6 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -309,7 +304,6 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
} }
public int upperOrLowerShelves(Integer id, Integer status) { public int upperOrLowerShelves(Integer id, Integer status) {
int effectRows = mapper.updateCampsiteSaleStatusById(id, status); int effectRows = mapper.updateCampsiteSaleStatusById(id, status);
if (effectRows > 0) { if (effectRows > 0) {
......
package com.xxfc.platform.campsite.biz; package com.xxfc.platform.campsite.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.campsite.dto.CampsiteShopCarouselDTO; import com.xxfc.platform.campsite.dto.CampsiteShopCarouselDTO;
import com.xxfc.platform.campsite.dto.CampsiteShopCarouselDetailDTO; import com.xxfc.platform.campsite.dto.CampsiteShopCarouselDetailDTO;
import com.xxfc.platform.campsite.entity.CampsiteShopCarousel;
import com.xxfc.platform.campsite.mapper.CampsiteShopCarouselMapper;
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;
import com.xxfc.platform.campsite.entity.CampsiteShopCarousel;
import com.xxfc.platform.campsite.mapper.CampsiteShopCarouselMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
......
...@@ -23,12 +23,16 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> { ...@@ -23,12 +23,16 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
/** /**
* 根据店铺类型查找店铺列表 * 根据店铺类型查找店铺列表
*
* @param typeId * @param typeId
*/ */
List<CampsiteShopPageDTO> findAllCampsiteShopsByType(@Param("typeId") Integer typeId); List<CampsiteShopPageDTO> findAllCampsiteShopsByTypeOrCode(@Param("typeId") Integer typeId,
@Param("proviceCode") Integer proviceCode,
@Param("cityCode") Integer cityCode);
/** /**
* 首页营地列表 * 首页营地列表
*
* @param start * @param start
* @param size * @param size
* @return * @return
...@@ -39,6 +43,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> { ...@@ -39,6 +43,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
/** /**
* 根据店铺id查询 * 根据店铺id查询
*
* @param id * @param id
* @return * @return
*/ */
...@@ -46,6 +51,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> { ...@@ -46,6 +51,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
/** /**
* 根据条件查询 * 根据条件查询
*
* @param campsiteShopAdminFindDTO * @param campsiteShopAdminFindDTO
* @return * @return
*/ */
...@@ -53,14 +59,16 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> { ...@@ -53,14 +59,16 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
/** /**
* 更新店铺的状态 * 更新店铺的状态
*
* @param id * @param id
* @param status * @param status
* @return * @return
*/ */
int updateCampsiteStatusById(@Param("id") int id,@Param("status") int status); int updateCampsiteStatusById(@Param("id") int id, @Param("status") int status);
/** /**
* 更新店铺的上下架状态 * 更新店铺的上下架状态
*
* @param id * @param id
* @param status * @param status
* @return * @return
...@@ -69,6 +77,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> { ...@@ -69,6 +77,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
/** /**
* 检验营地名称 * 检验营地名称
*
* @param id * @param id
* @param name * @param name
* @return * @return
......
...@@ -5,16 +5,13 @@ import com.github.wxiaoqi.security.common.rest.BaseController; ...@@ -5,16 +5,13 @@ import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.GoodDataVO; import com.github.wxiaoqi.security.common.vo.GoodDataVO;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.biz.CampsiteShopBiz; import com.xxfc.platform.campsite.biz.CampsiteShopBiz;
import com.xxfc.platform.campsite.dto.CampsiteShopFindDTO;
import com.xxfc.platform.campsite.entity.CampsiteShop; import com.xxfc.platform.campsite.entity.CampsiteShop;
import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo; import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo;
import com.xxfc.platform.campsite.vo.CampsiteShopPageVo; import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import com.xxfc.platform.campsite.vo.CampsiteShopVo;
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;
...@@ -32,10 +29,14 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp ...@@ -32,10 +29,14 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
@ApiOperation("分页查询营地列表") @ApiOperation("分页查询营地列表")
@GetMapping("/app/unauth/shops") @GetMapping("/app/unauth/shops")
public ObjectRestResponse<PageDataVO<CampsiteShopVo>> findCampsiteShopPageByType(@RequestParam(value = "type", required = false) Integer type, public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByType(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, @RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize) { @RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize) {
PageDataVO<CampsiteShopPageVo> pageDataVO = getBaseBiz().findCampsiteShopPageByType(type, pageNo, pageSize); CampsiteShopFindDTO campsiteShopFindDTO = new CampsiteShopFindDTO();
campsiteShopFindDTO.setType(type);
campsiteShopFindDTO.setPage(pageNo);
campsiteShopFindDTO.setLimit(pageSize);
PageDataVO<CampsiteShopPageVo> pageDataVO = getBaseBiz().findCampsiteShopPageByType(campsiteShopFindDTO);
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
} }
...@@ -64,5 +65,11 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp ...@@ -64,5 +65,11 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
public ObjectRestResponse findRandomVehicle(Integer number) { public ObjectRestResponse findRandomVehicle(Integer number) {
return baseBiz.findRandomVehicle(number); return baseBiz.findRandomVehicle(number);
} }
@PostMapping(value = "/app/unauth/webchat_official/campsites")
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsitesForPublicNumber(@RequestBody CampsiteShopFindDTO campsiteShopFindDTO){
PageDataVO<CampsiteShopPageVo> campsiteShops = baseBiz.findCampsiteShopPageByType(campsiteShopFindDTO);
return ObjectRestResponse.succ(campsiteShops);
}
} }
\ No newline at end of file
...@@ -35,16 +35,23 @@ ...@@ -35,16 +35,23 @@
</resultMap> </resultMap>
<!--根据类型查询全部--> <!--根据类型查询全部-->
<select id="findAllCampsiteShopsByType" 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
where cs.sale_state=1 and cs.is_del=0 where cs.sale_state=1 and cs.is_del=0
<if test="typeId!=null"> <if test="typeId!=null">
and cst.tag_id=#{typeId} and cst.tag_id=#{typeId}
</if> order by `crtTime` DESC </if>
<if test="proviceCode != null">
and `province`=#{proviceCode}
</if>
<if test="cityCode != null">
and `city`=#{cityCode}
</if>
order by `crtTime` DESC
</select> </select>
<!--首页查询全部--> <!--首页查询全部-->
......
...@@ -17,7 +17,7 @@ import tk.mybatis.spring.annotation.MapperScan; ...@@ -17,7 +17,7 @@ import tk.mybatis.spring.annotation.MapperScan;
}) })
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableAceAuthClient @EnableAceAuthClient
@EnableFeignClients(basePackages = {"com.xxfc.platform","com.github.wxiaoqi.security"}) @EnableFeignClients(value = {"com.xxfc.platform","com.github.wxiaoqi.security"})
@MapperScan(basePackages = "com.xxfc.platform.uccn.mapper") @MapperScan(basePackages = "com.xxfc.platform.uccn.mapper")
public class UccnApplication { public class UccnApplication {
public static void main(String[] args) { public static void main(String[] args) {
......
...@@ -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;
/** /**
* 分公司名称 * 分公司名称
*/ */
...@@ -39,6 +43,7 @@ public class BranchCompany { ...@@ -39,6 +43,7 @@ public class BranchCompany {
private Integer subordinateBranch; private Integer subordinateBranch;
/** /**
* 地址-省/直辖市(编码) * 地址-省/直辖市(编码)
*/ */
...@@ -46,6 +51,13 @@ public class BranchCompany { ...@@ -46,6 +51,13 @@ public class BranchCompany {
@ApiModelProperty("地址-省/直辖市(编码)") @ApiModelProperty("地址-省/直辖市(编码)")
private Integer addrProvince; private Integer addrProvince;
/**
* 地址-省/直辖市(编码)名称
*/
@Column(name = "province_name")
@ApiModelProperty("地址-省/直辖市(编码)名称")
private String provinceName;
/** /**
* 地址-市(编码) * 地址-市(编码)
*/ */
...@@ -53,6 +65,14 @@ public class BranchCompany { ...@@ -53,6 +65,14 @@ public class BranchCompany {
@ApiModelProperty("地址-市(编码)") @ApiModelProperty("地址-市(编码)")
private Integer addrCity; private Integer addrCity;
/**
* 地址-市(编码)名称
*/
@Column(name = "city_name")
@ApiModelProperty("地址-市(编码名称")
private String cityName;
/** /**
* 地址-镇/县(编码) * 地址-镇/县(编码)
*/ */
...@@ -60,6 +80,13 @@ public class BranchCompany { ...@@ -60,6 +80,13 @@ public class BranchCompany {
@ApiModelProperty("地址-镇/县(编码)") @ApiModelProperty("地址-镇/县(编码)")
private Integer addrTown; private Integer addrTown;
/**
* 地址-县名称
*/
@Column(name = "town_name")
@ApiModelProperty("县名称")
private String townName;
/** /**
* 详细地址 * 详细地址
*/ */
...@@ -119,4 +146,16 @@ public class BranchCompany { ...@@ -119,4 +146,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
...@@ -9,7 +9,7 @@ public class BranchCompanyStockApplyInfo { ...@@ -9,7 +9,7 @@ public class BranchCompanyStockApplyInfo {
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC") @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
private Integer id; private Integer id;
@Column(name = "company_id") @Column(name = "company_base_id")
private Integer companyId; private Integer companyId;
/** /**
......
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.*;
import java.math.BigDecimal;
@Data
@Table(name = "branch_company_stock_info_right")
public class BranchCompanyStockRight{
/**
* 分公司ID
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
private Integer id;
/**
* 有限公司id
*/
@Column(name = "company_base_id")
private Integer companyBaseId;
/**
* 剩余股份
*/
private Integer balance;
/**
* 股份总数
*/
private Integer total;
/**
* 股份单价
*/
private BigDecimal price;
/**
* 股价类型:1-万/股;2-港万/股
*/
private Integer type;
@Column(name = "stock_state")
private Integer stockState;
/**
* 创建时间
*/
@Column(name = "crt_time")
private Long crtTime;
/**
* 排序
*/
private Integer rank;
/**
* 更新时间
*/
@Column(name = "upd_time")
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
private Integer isDel;
}
\ No newline at end of file
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 = "town_name")
private String townName;
}
\ No newline at end of file
...@@ -27,7 +27,4 @@ public class VehicleBookHourInfo { ...@@ -27,7 +27,4 @@ public class VehicleBookHourInfo {
@Column(name = "update_time") @Column(name = "update_time")
private Date updateTime; private Date updateTime;
@Column(name = "book_record_id")
private Long bookRecordId;
} }
\ No newline at end of file
...@@ -109,7 +109,7 @@ public class ResultVehicleVo { ...@@ -109,7 +109,7 @@ public class ResultVehicleVo {
*/ */
private Date maintenanceDate; private Date maintenanceDate;
/** /**
* 保养公里 * 当前公里数
*/ */
private Integer mileage; private Integer mileage;
......
package com.xxfc.platform.vehicle.pojo.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:27
*/
@Data
public class BranchCompanyFindDTO extends PageParam {
private Integer addrProvince;
private Integer addrCity;
}
package com.xxfc.platform.vehicle.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:06
*/
@Data
public class BranchCompanyListDTO {
private Integer comnpanyBaseId;
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
/**
* 公司封面
*/
@ApiModelProperty("公司封面")
private String cover;
@ApiModelProperty("地址-省/直辖市")
private String provinceName;
@ApiModelProperty("地址-市")
private String cityName;
@ApiModelProperty("地址-镇/县")
private String townName;
@ApiModelProperty("具体地址")
private String address;
/**
* 负责人
*/
@ApiModelProperty("负责人")
private String leader;
/**
* 负责人联系方式
*/
@ApiModelProperty("负责人联系方式")
private String leaderContactInfo;
/**
*公司地址-纬度
*/
@ApiModelProperty("公司地址-纬度")
private BigDecimal latitude;
/**
* 公司地址-经度
*/
@ApiModelProperty("公司地址-经度")
private BigDecimal longitude;
}
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 addrProvince;
private Integer addrCity;
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:06
*/
@Data
public class BranchCompanyListVO {
private Integer comnpanyBaseId;
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
/**
* 公司封面
*/
@ApiModelProperty("公司封面")
private String cover;
@ApiModelProperty("地址-省/直辖市")
private String provinceName;
@ApiModelProperty("地址-市")
private String cityName;
@ApiModelProperty("地址-镇/县")
private String townName;
@ApiModelProperty("具体地址")
private String address;
/**
* 负责人
*/
@ApiModelProperty("负责人")
private String leader;
/**
* 负责人联系方式
*/
@ApiModelProperty("负责人联系方式")
private String leaderContactInfo;
/**
*公司地址-纬度
*/
@ApiModelProperty("公司地址-纬度")
private BigDecimal latitude;
/**
* 公司地址-经度
*/
@ApiModelProperty("公司地址-经度")
private BigDecimal longitude;
}
package com.xxfc.platform.vehicle.pojo.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 分公司股份信息
*/
@Data
public class BranchCompanyStockInfoRightVo {
Integer id;
Integer companyId;
String companyName;
Integer balance;
Integer rank;
Integer total;
BigDecimal price;
Integer addrProvince;
Integer addrCity;
Integer state;
String companyPic;
String info;
}
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;
/**
* @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 provinceName;
@ApiModelProperty("地址-市")
private String cityName;
@ApiModelProperty("地址-镇/县")
private String townName;
@ApiModelProperty("具体地址")
private String address;
}
package com.xxfc.platform.vehicle.pojo.vo;
import com.github.wxiaoqi.security.common.vo.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 分公司信息
*/
@Data
public class CompanyVo extends PageParam {
/**
* 公司基本信息表
*/
@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;
}
...@@ -21,7 +21,10 @@ import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper; ...@@ -21,7 +21,10 @@ import com.xxfc.platform.vehicle.mapper.BranchCompanyMapper;
import com.xxfc.platform.vehicle.pojo.BranchCompanyVo; import com.xxfc.platform.vehicle.pojo.BranchCompanyVo;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.CompanySearchDTO; import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyFindDTO;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyListDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo; import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyListVO;
import com.xxfc.platform.vehicle.util.excel.ExcelImport; import com.xxfc.platform.vehicle.util.excel.ExcelImport;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -369,4 +372,26 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -369,4 +372,26 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return branComanyLeaderVo; return branComanyLeaderVo;
})); }));
} }
public PageDataVO<BranchCompanyListVO> findBranchCompanyWithPage(BranchCompanyFindDTO branchCompanyFindDTO) {
PageDataVO<BranchCompanyListVO> pageDataVO = new PageDataVO<>();
PageDataVO<BranchCompanyListDTO> dataVO = PageDataVO.pageInfo(branchCompanyFindDTO.getPage(), branchCompanyFindDTO.getLimit(), () -> mapper.findBranchCompanys(branchCompanyFindDTO.getAddrProvince(), branchCompanyFindDTO.getAddrCity()));
List<BranchCompanyListDTO> data = dataVO.getData();
if (CollectionUtils.isEmpty(data)){
return pageDataVO;
}
List<BranchCompanyListVO> branchCompanyListVOS = new ArrayList<>();
BranchCompanyListVO branchCompanyListVO;
for (BranchCompanyListDTO companyListDTO : data) {
branchCompanyListVO = new BranchCompanyListVO();
BeanUtils.copyProperties(companyListDTO,branchCompanyListVO);
branchCompanyListVOS.add(branchCompanyListVO);
}
pageDataVO.setData(branchCompanyListVOS);
pageDataVO.setPageSize(dataVO.getPageSize());
pageDataVO.setPageNum(dataVO.getPageNum());
pageDataVO.setTotalPage(dataVO.getTotalPage());
pageDataVO.setTotalCount(dataVO.getTotalCount());
return pageDataVO;
}
} }
package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.constant.BranchCompanyStockApplyState;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockRight;
import com.xxfc.platform.vehicle.mapper.BranchCompanyStockApplyInfoMapper;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyInfoVo;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
@Service
public class BranchCompanyStockApplyInfoBiz extends BaseBiz<BranchCompanyStockApplyInfoMapper, BranchCompanyStockApplyInfo> {
@Autowired
BranchCompanyStockRightBiz branchCompanyStockRightBiz;
/**
* 申请购买
* @param applyVo
*/
public void apply(BranchCompanyStockApplyVo applyVo) {
BranchCompanyStockRight stockInfo = branchCompanyStockRightBiz.selectByCompanyId(applyVo.getCompanyId());
if (stockInfo == null) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_UNEXIST.getDesc(), ResCode.BRANCH_COMPANY_STOCK_UNEXIST.getCode());
}
if (stockInfo.getBalance() <= 0) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_NO_BALANCE.getDesc(), ResCode.BRANCH_COMPANY_STOCK_NO_BALANCE.getCode());
}
if (stockInfo.getBalance() < applyVo.getCount()) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH.getDesc(), ResCode.BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH.getCode());
}
BranchCompanyStockApplyInfo applyInfo = new BranchCompanyStockApplyInfo();
BeanUtils.copyProperties(applyVo, applyInfo);
applyInfo.setState(BranchCompanyStockApplyState.Apply.getCode());
applyInfo.setCreateTime(new Date());
mapper.insertSelective(applyInfo);
}
public PageInfo<BranchCompanyStockApplyInfoVo> selectApplyAll(Integer page, Integer limit) {
PageHelper.startPage(page, limit);
return new PageInfo<>(mapper.selectVoAll());
}
/**
* 取消申请,修改申请状态
* @param applyId
*/
public void cancelApply(Integer applyId) {
BranchCompanyStockApplyInfo applyInfo = mapper.selectByPrimaryKey(applyId);
if (applyInfo == null) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST.getDesc(),
ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST.getCode());
}
applyInfo.setState(BranchCompanyStockApplyState.Cancel.getCode());
applyInfo.setUpdateTime(new Date());
mapper.updateByPrimaryKeySelective(applyInfo);
}
/**
* 确认申请购买股权,修改库存
* @param applyId
*/
@Transactional
public void buy(Integer applyId) {
BranchCompanyStockApplyInfo applyInfo = mapper.selectByPrimaryKey(applyId);
if (applyInfo == null) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST.getDesc(),
ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST.getCode());
}
if (!applyInfo.getState().equals(BranchCompanyStockApplyState.Apply.getCode())) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED.getDesc(),
ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED.getCode());
}
BranchCompanyStockRight stockInfo = branchCompanyStockRightBiz.selectById(applyInfo.getCompanyId());
if (stockInfo == null) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_UNEXIST.getDesc(), ResCode.BRANCH_COMPANY_STOCK_UNEXIST.getCode());
}
if (stockInfo.getBalance() < applyInfo.getCount()) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH.getDesc(), ResCode.BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH.getCode());
}
int result = branchCompanyStockRightBiz.updateBalance(applyInfo.getCompanyId(), stockInfo.getBalance() - applyInfo.getCount(), stockInfo.getBalance());
if (result == 0) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH.getDesc(), ResCode.BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH.getCode());
}
applyInfo.setState(BranchCompanyStockApplyState.Buy.getCode());
applyInfo.setUpdateTime(new Date());
mapper.updateByPrimaryKey(applyInfo);
}
public BranchCompanyStockApplyInfo getApplyById(Integer id) {
return mapper.selectByPrimaryKey(id);
}
public void updateApply(BranchCompanyStockApplyInfo applyInfo) {
mapper.updateByPrimaryKeySelective(applyInfo);
}
public void deleteApply(Integer id) {
mapper.deleteByPrimaryKey(id);
}
}
package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.StringToolsUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.BranchCompanyStockRight;
import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyStockRightDTO;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyStockRightFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockRightForWeChatOfficeVO;
import com.xxfc.platform.vehicle.util.excel.ExcelImport;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.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 org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Service
public class BranchCompanyStockRightBiz extends BaseBiz<BranchCompanyStockRightMapper, BranchCompanyStockRight> {
@Autowired
BranchCompanyBiz branchCompanyBiz;
@Autowired
BranchCompanyStockApplyInfoBiz branchCompanyStockApplyInfoBiz;
@Value("${branchCompanyPic.stock}")
private String companyPic;
//获取股权列表
public PageInfo<BranchCompanyStockInfoRightVo> search(BranchCompanyStockSearchVo searchVo) {
PageHelper.startPage(searchVo.getPage(), searchVo.getLimit());
return new PageInfo<>(mapper.search(searchVo));
}
//更新股权
public ObjectRestResponse updStockInfo(BranchCompanyStockInfoRightVo stockInfoVo) {
if (stockInfoVo == null || stockInfoVo.getCompanyId() == null || stockInfoVo.getCompanyId() == 0) {
}
Integer id = stockInfoVo.getId();
if (!checkInfo(id, stockInfoVo.getCompanyId())) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "分公司已存在");
}
BranchCompanyStockRight stockInfo = new BranchCompanyStockRight();
BeanUtils.copyProperties(stockInfoVo, stockInfo);
if (stockInfo.getBalance() == null) {
stockInfo.setBalance(stockInfo.getTotal());
}
if (stockInfoVo.getState() == null) {
stockInfo.setStockState(0);
}
if (id == null || id == 0) {
mapper.insertSelective(stockInfo);
} else {
mapper.updateByPrimaryKeySelective(stockInfo);
}
return ObjectRestResponse.succ();
}
//检查是否存在分公司
public boolean checkInfo(Integer id, Integer companyId) {
Example example = new Example(BranchCompanyStockRight.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("companyId", companyId);
if (id != null && id > 0) {
criteria.andNotEqualTo("id", id);
}
List<BranchCompanyStockRight> list = mapper.selectByExample(example);
if (list.size() > 0)
return false;
return true;
}
//获取股权信息
public BranchCompanyStockInfoRightVo getInfoById(Integer id) {
return mapper.selectInfoById(id);
}
/**
* 获取所有的股权单价
*
* @return
*/
public List<Integer> getAllPrice() {
return mapper.selectAllPrice();
}
//更新股份
public int updateBalance(Integer companyId, Integer balance, Integer lastBalance) {
return mapper.updateBalance(companyId, balance, lastBalance);
}
//删除股权
public void delete(Integer id) {
BranchCompanyStockRight stockRight = new BranchCompanyStockRight();
stockRight.setId(id);
stockRight.setIsDel(1);
mapper.updateByPrimaryKeySelective(stockRight);
}
//导入
public ObjectRestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request) {
try {
List<String[]> readExcel = ExcelImport.getExcelData(multipartfile);
if (readExcel.size() < 4) {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "导入不能没数据!!!");
}
List<BranchCompanyStockRight> list = new ArrayList<>();
for (int i = 3; i < readExcel.size(); i++) {
BranchCompanyStockRight stockInfoVo = new BranchCompanyStockRight();
String[] str = readExcel.get(i);
String companyName = str[2];
Integer companyId = mapper.getCompanyInfo(companyName);
if (companyId == null || companyId == 0) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "第" + (i + 1) + "行的" + companyName + "不匹配");
}
String str3 = str[3];
if (StringUtils.isBlank(str3)) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "第" + (i + 1) + "行的股价不能为空");
}
if (str3.contains("万港币/股")) {
str3 = str3.replace("万港币/股", "");
} else {
str3 = str3.replace("万/股", "");
}
if (!StringToolsUtil.isBigDecimal(str3) || !StringToolsUtil.isNumer(str[4]) || !StringToolsUtil.isNumer(str[5])) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "第" + (i + 1) + "行的数据格式不对");
}
BigDecimal price = new BigDecimal(str3);
price = price.multiply(new BigDecimal("10000"));
Integer balance = Integer.parseInt(str[4]);
Integer total = Integer.parseInt(str[5]) + balance;
stockInfoVo.setPrice(price);
stockInfoVo.setBalance(balance);
stockInfoVo.setTotal(total);
stockInfoVo.setStockState(2);
list.add(stockInfoVo);
}
mapper.addCompamyList(list);
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "网络异常!");
}
return ObjectRestResponse.succ();
}
public PageDataVO<BranchCompanyStockRightForWeChatOfficeVO> findWithPageByPriceOrCode(BranchCompanyStockRightFindDTO branchCompanyStockRightFindDTO) {
PageDataVO<BranchCompanyStockRightForWeChatOfficeVO> dataPage = new PageDataVO<>();
PageDataVO<BranchCompanyStockRightDTO> pageDataVO = PageDataVO.pageInfo(branchCompanyStockRightFindDTO.getPage(), branchCompanyStockRightFindDTO.getLimit(),
() -> mapper.findWithPageByPriceOrCode(branchCompanyStockRightFindDTO.getPrice(), branchCompanyStockRightFindDTO.getAddrProvince(), branchCompanyStockRightFindDTO.getAddrCity()));
List<BranchCompanyStockRightDTO> data = pageDataVO.getData();
if (CollectionUtils.isEmpty(data)){
return dataPage;
}
List<BranchCompanyStockRightForWeChatOfficeVO> stockRights = new ArrayList<>();
BranchCompanyStockRightForWeChatOfficeVO branchCompanyStockRightForWeChatOfficeVO;
for (BranchCompanyStockRightDTO branchCompanyStockRight : data) {
branchCompanyStockRightForWeChatOfficeVO= new BranchCompanyStockRightForWeChatOfficeVO();
BeanUtils.copyProperties(branchCompanyStockRight,branchCompanyStockRightForWeChatOfficeVO);
stockRights.add(branchCompanyStockRightForWeChatOfficeVO);
}
dataPage.setTotalCount(pageDataVO.getTotalCount());
dataPage.setTotalPage(pageDataVO.getTotalPage());
dataPage.setPageNum(pageDataVO.getPageNum());
dataPage.setPageSize(pageDataVO.getPageSize());
dataPage.setData(stockRights);
return dataPage;
}
public BranchCompanyStockRight selectByCompanyId(Integer companyId) {
BranchCompanyStockRight branchCompanyStockRight = new BranchCompanyStockRight();
branchCompanyStockRight.setCompanyBaseId(companyId);
branchCompanyStockRight.setIsDel(0);
BranchCompanyStockRight result = mapper.selectOne(branchCompanyStockRight);
return result;
}
}
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.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.common.RestResponse;
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.mapper.SysRegionMapper;
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 com.xxfc.platform.vehicle.util.excel.ExcelImport;
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 org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Service
@Slf4j
public class CompanyBaseBiz extends BaseBiz<CompanyBaseMapper, CompanyBase> {
@Autowired
BranchCompanyStockRightBiz stockRightBiz;
@Autowired
BranchCompanyBiz branchCompanyBiz;
@Autowired
BranchCompanyStockInfoMapper stockInfoMapper;
@Autowired
SysRegionMapper sysRegionMapper;
@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();
}
//临时数据同步2
public ObjectRestResponse synchro2(){
List<BranchCompany> list= branchCompanyBiz.selectListAll();
if (list.size()>0){
int num=0;
for (BranchCompany branchCompany:list){
Integer companyBaseId=branchCompany.getCompanyBaseId();
Integer id=branchCompany.getId();
if (companyBaseId!=null||companyBaseId!=0){
CompanyBase companyBase=selectById(companyBaseId);
if (companyBase!=null){
branchCompany=new BranchCompany();
branchCompany.setId(id);
branchCompany.setAddrProvince(companyBase.getAddrProvince());
branchCompany.setProvinceName(companyBase.getProvinceName());
branchCompany.setAddrCity(companyBase.getAddrCity());
branchCompany.setCityName(companyBase.getCityName());
branchCompany.setAddrTown(companyBase.getAddrTown());
branchCompany.setTownName(companyBase.getTownName());
branchCompanyBiz.updateSelectiveById(branchCompany);
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);
branchCompanyBiz.insertSelective(branchCompany);
}else {
branchCompany.setId(companyId);
branchCompanyBiz.updateSelectiveById(branchCompany);
}
return ObjectRestResponse.succ();
}
//获取详情
public ObjectRestResponse getCompanyDetail(CompanyVo companyVo){
if (companyVo==null){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
Integer companyBaseId=companyVo.getId();
Integer companyId=companyVo.getCompanyId();
Integer stockId=companyVo.getStockId();
String name="";
String companyName="";
if (companyBaseId!=null&&companyBaseId>0){
CompanyBase companyBase=selectById(companyBaseId);
BeanUtils.copyProperties(companyBase,companyVo);
name=companyBase.getName();
}
if (companyId!=null&&companyId>0){
BranchCompany branchCompany=branchCompanyBiz.selectById(companyId);
BeanUtils.copyProperties(branchCompany,companyVo);
companyName=branchCompany.getName();
}
if (stockId!=null&&stockId>0){
BranchCompanyStockRight stockRight=stockRightBiz.selectById(stockId);
BeanUtils.copyProperties(stockRight,companyVo);
}
companyVo.setId(companyBaseId);
companyVo.setName(name);
companyVo.setCompanyName(companyName);
return ObjectRestResponse.succ(companyVo);
}
//设置股权信息
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);
branchCompanyBiz.insertSelective(branchCompany);
}else {
branchCompany.setId(companyId);
branchCompanyBiz.updateSelectiveById(branchCompany);
}
return ObjectRestResponse.succ();
}
public ObjectRestResponse delCompany(Integer id){
CompanyBase companyBase=new CompanyBase();
companyBase.setId(id);
companyBase.setIsDel(1);
updateSelectiveById(companyBase);
return ObjectRestResponse.succ();
}
public ObjectRestResponse getList(CompanyVo companyVo){
Integer page=1;
Integer limit=10;
if (companyVo.getPage()!=null&&companyVo.getPage()>0){
page=companyVo.getPage();
}
if (companyVo.getLimit()!=null&&companyVo.getLimit()>0){
limit=companyVo.getLimit();
}
return ObjectRestResponse.succ(PageDataVO.pageInfo(page, limit, ()->mapper.getList(companyVo)));
}
//分公司和总表同步
public ObjectRestResponse importExcel(MultipartFile multipartfile, HttpServletRequest request){
try {
List<String[]> readExcel = ExcelImport.getExcelData(multipartfile);
if(readExcel.size()<4){
return ObjectRestResponse.createFailedResult(1001,"导入不能没数据!!!");
}
for (int i = 3; i < readExcel.size(); i++) {
String[] str = readExcel.get(i);
String companyId = str[1];
String companyName = str[2];
String name = str[3];
BranchCompany branchCompany=branchCompanyBiz.selectById(companyId);
String provinceName=sysRegionMapper.getName(branchCompany.getAddrProvince());
String cityName=sysRegionMapper.getName(branchCompany.getAddrCity());
String townName=sysRegionMapper.getName(branchCompany.getAddrTown());
branchCompany.setProvinceName(provinceName);
branchCompany.setCityName(cityName);
branchCompany.setTownName(townName);
CompanyBase companyBase=new CompanyBase();
companyBase.setName(name);
companyBase=selectOne(companyBase);
Integer companyBaseId=0;
if (companyBase==null){
companyBase=new CompanyBase();
BeanUtils.copyProperties(branchCompany,companyBase);
companyBase.setId(null);
companyBase.setName(name);
insertSelective(companyBase);
companyBaseId=companyBase.getId();
}else {
companyBaseId=companyBase.getId();
companyBase.setZoneId(branchCompany.getZoneId());
companyBase.setAddrProvince(branchCompany.getAddrProvince());
companyBase.setProvinceName(provinceName);
companyBase.setAddrCity(branchCompany.getAddrCity());
companyBase.setCityName(cityName);
companyBase.setAddrTown(branchCompany.getAddrTown());
companyBase.setTownName(townName);
updateSelectiveById(companyBase);
}
branchCompany.setCompanyBaseId(companyBaseId);
branchCompanyBiz.updateSelectiveById(branchCompany);
}
}catch (Exception e){
e.printStackTrace();
return ObjectRestResponse.createFailedResult(10001,"网络异常!");
}
return ObjectRestResponse.succ();
}
public CompanyBaseVo findCompanyDetailById(Integer id) {
CompanyBaseVo companyBaseVo = new CompanyBaseVo();
CompanyBaseDetailDTO companyBaseDetailDTO = mapper.findCompanyBaseById(id);
BeanUtils.copyProperties(companyBaseDetailDTO,companyBaseVo);
return companyBaseVo;
}
}
...@@ -231,6 +231,25 @@ public class VehicleActiveService { ...@@ -231,6 +231,25 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
DateTime actualArrivalDate = new DateTime(new Date());
if(actualArrivalDate.compareTo(arrivalDate) < 0) { //实际还车时间小于预计还车时间,需要释放后面的时间
BookVehicleVO bookVehicleVo = new BookVehicleVO();
BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
bookVehicleVo.setBookStartDate(null);
bookVehicleVo.setBookEndDate(null);
bookVehicleVo.setUnbookStartDate(actualArrivalDate.toString(DATE_TIME_FORMATTER));
bookVehicleVo.setUnbookEndDate(arrivalDate.toString(DATE_TIME_FORMATTER));
try {
Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo);
if(!hasSuc){
throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode());
}
} catch ( Exception e) {
e.printStackTrace();
}
}
departureLog.setMileageEnd(arrivalVo.getMileage()); departureLog.setMileageEnd(arrivalVo.getMileage());
departureLog.setRecycleMan(arrivalVo.getRecycleMan()); departureLog.setRecycleMan(arrivalVo.getRecycleMan());
departureLog.setRecycleManTel(arrivalVo.getRecycleManTel()); departureLog.setRecycleManTel(arrivalVo.getRecycleManTel());
......
...@@ -538,10 +538,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -538,10 +538,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
public boolean filterHourInfoBooked(String vehicleId, Map<String, Integer> hourInfo) { public boolean filterHourInfoBooked(String vehicleId, Map<String, Integer> hourInfo) {
if(MapUtils.isEmpty(hourInfo)) {
return false;
}
for(Map.Entry<String, Integer> entry : hourInfo.entrySet()) { for(Map.Entry<String, Integer> entry : hourInfo.entrySet()) {
VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
vehicleBookHourInfoDto.setVehicleId(vehicleId);
if(entry.getValue() == 0) {//0点 查询是否有已经预约的记录 if(entry.getValue() == 0) {//0点 查询是否有已经预约的记录
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("vehicleId", vehicleId); param.put("vehicleId", vehicleId);
...@@ -551,6 +551,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -551,6 +551,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return false; return false;
} }
} }
VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
vehicleBookHourInfoDto.setVehicleId(vehicleId);
List<VehicleBookHourInfo> vehicleBookHourInfos = vehicleBookHourInfoBiz.selectByVehicleAndDate(vehicleBookHourInfoDto); List<VehicleBookHourInfo> vehicleBookHourInfos = vehicleBookHourInfoBiz.selectByVehicleAndDate(vehicleBookHourInfoDto);
if(vehicleBookHourInfos != null && vehicleBookHourInfos.size() > 0) { if(vehicleBookHourInfos != null && vehicleBookHourInfos.size() > 0) {
if((vehicleBookHourInfos.get(0).getBookedHour() & entry.getValue()) != 0) { // 已经被预定 if((vehicleBookHourInfos.get(0).getBookedHour() & entry.getValue()) != 0) { // 已经被预定
......
...@@ -9,17 +9,22 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -9,17 +9,22 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo; import com.xxfc.platform.vehicle.entity.VehicleBookHourInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.mapper.VehicleBookHourInfoMapper; import com.xxfc.platform.vehicle.mapper.VehicleBookHourInfoMapper;
import com.xxfc.platform.vehicle.pojo.VehicleBookHourInfoDto; import com.xxfc.platform.vehicle.pojo.VehicleBookHourInfoDto;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.DateTimeFormatter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -28,6 +33,11 @@ import java.util.Map; ...@@ -28,6 +33,11 @@ import java.util.Map;
@Service @Service
public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, VehicleBookHourInfo> { public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, VehicleBookHourInfo> {
@Autowired
private VehicleBookRecordBiz vehicleBookRecordBiz;
@Autowired
VehicleDepartureService vehicleDepartureService;
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd"); public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
...@@ -48,42 +58,33 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -48,42 +58,33 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY); throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY);
} }
} }
if (bookStartDate.compareTo(bookEndDate) > 0) { // if (bookStartDate.compareTo(bookEndDate) >= 0) {
throw new BaseException(ResultCode.END_TIME_FROM_TODAY); // throw new BaseException(ResultCode.END_TIME_FROM_TODAY);
} // }
Map<String, Integer> predictableHours = Maps.newHashMap(); Map<String, Integer> predictableHours = Maps.newHashMap();
//预定开始小时 //预定开始小时
int hour = new DateTime(startDate).hourOfDay().get(); int hour = new DateTime(startDate).hourOfDay().get();
int endHour = new DateTime(endDate).hourOfDay().get(); int endHour = new DateTime(endDate).hourOfDay().get();
//获取开始天的预定小时 //获取开始天的预定小时
int startPredictableHour = 0; int startPredictableHour = 0;
if(hour > 0 ) { for (int curentHour = hour; curentHour <= 23; curentHour++) {
for (int curentHour = hour; curentHour <= 24; curentHour++) { startPredictableHour |= 1 << (curentHour);
startPredictableHour |= 1 << (curentHour - 1);
}
} }
//获取结束天的预定小时 //获取结束天的预定小时
int endPredictableHour = 0; int endPredictableHour = 0;
if(endHour > 0) { for (int curentHour = 0; curentHour <= endHour; curentHour++) {
for (int curentHour = 0; curentHour < endHour; curentHour++) {
endPredictableHour |= 1 << (curentHour); endPredictableHour |= 1 << (curentHour);
} }
}
DateTime startDay = DateTime.parse(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER); DateTime startDay = DateTime.parse(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER);
DateTime endDay = DateTime.parse(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER); DateTime endDay = DateTime.parse(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER);
if(startPredictableHour == 0) { //如果是0点就直接预订全天
startPredictableHour = 16777215;
}
if(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER).equals(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER))) {//同一天预定 if(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER).equals(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER))) {//同一天预定
//如果开始时间是0点开始 //如果开始时间是0点开始
if(startPredictableHour == 0 || endPredictableHour == 0) {
predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour | endPredictableHour);
} else {
predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour & endPredictableHour); predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour & endPredictableHour);
}
} else { //非同一天开始 } else { //非同一天开始
if(startPredictableHour == 0) { //如果是0点就直接预订全天
startPredictableHour = 16777215;
}
predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour); predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour);
predictableHours.put(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), endPredictableHour); predictableHours.put(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), endPredictableHour);
} }
...@@ -155,10 +156,63 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -155,10 +156,63 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public static void main(String[] args) throws Exception{ public ObjectRestResponse checkBookHourInfo() {
List<VehicleBookHourInfoDto> vehicleBookHourInfos = new ArrayList<>();
Integer a = 7936 & 2047; List<VehicleBookRecord> list = vehicleBookRecordBiz.selectListAll();
System.out.println(a); if(CollectionUtils.isNotEmpty(list)) {
} for(VehicleBookRecord vehicleBookRecord : list) {
VehicleDepartureLogVo vehicleDepartureLog = vehicleDepartureService.getByRecordId(vehicleBookRecord.getId());
if((vehicleDepartureLog == null || vehicleDepartureLog.getState() != 1) && (vehicleBookRecord.getStatus() == 2 || vehicleBookRecord.getStatus() == 1)) { //未出车或未还车
Map<String, Integer> map = getPredictableHours(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DEFAULT_DATE_TIME_FORMATTER), new DateTime(vehicleBookRecord.getBookEndDate()).toString(DEFAULT_DATE_TIME_FORMATTER), Boolean.TRUE);
for(Map.Entry<String, Integer> entry : map.entrySet()) {
VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
vehicleBookHourInfoDto.setVehicleId(vehicleBookRecord.getVehicleId());
vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
vehicleBookHourInfoDto.setBookedHour(entry.getValue());
save(vehicleBookHourInfoDto);
vehicleBookHourInfos.add(vehicleBookHourInfoDto);
// vehicleBookHourInfoDto.setVehicleId(vehicleBookRecord.getVehicleId());
// vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
// List<VehicleBookHourInfo> vehicleBookHourInfoList = mapper.selectByVehicleAndDate(vehicleBookHourInfoDto);
// log.info("获取到的小时信息: vehicleBookHourInfoList = {}", vehicleBookHourInfoList);
// if(CollectionUtils.isNotEmpty(vehicleBookHourInfoList)) {
// if(entry.getValue() == 0){ //0点
// vehicleBookHourInfoList.get(0).setBookedHour(vehicleBookHourInfoList.get(0).getBookedHour() | 1);
// updateSelectiveByIdRe(vehicleBookHourInfoList.get(0));
// } else {
// if((vehicleBookHourInfoList.get(0).getBookedHour() & entry.getValue()) == entry.getValue()) {
// log.info("已经预订时间正确,右移一位,原数据为:{}, 修改后的数据为: {}", vehicleBookHourInfoList.get(0).getBookedHour(), vehicleBookHourInfoList.get(0).getBookedHour() >> 1);
// vehicleBookHourInfoList.get(0).setBookedHour(vehicleBookHourInfoList.get(0).getBookedHour() >> 1);
// updateSelectiveByIdRe(vehicleBookHourInfoList.get(0));
// } else {
// vehicleBookHourInfos.add(vehicleBookRecord);
// }
// }
// } else { //如果数据不存在就补充进去
// VehicleBookHourInfoDto vehicleBookHourInfoDto1 = new VehicleBookHourInfoDto();
// vehicleBookHourInfoDto1.setVehicleId(vehicleBookRecord.getVehicleId());
// vehicleBookHourInfoDto1.setYearMonthDay(entry.getKey());
// vehicleBookHourInfoDto1.setBookedHour(entry.getValue());
// vehicleBookHourInfoDto1.setBookRecordId(vehicleBookRecord.getId());
// save(vehicleBookHourInfoDto1);
// }
}
}
}
}
return ObjectRestResponse.succ(vehicleBookHourInfos);
}
// public static void main(String[] args) throws Exception{
// VehicleBookHourInfoBiz vehicleBookHourInfoBiz = new VehicleBookHourInfoBiz();
// Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours("2019-08-26 10:00:00", "2019-08-27 10:00:00", Boolean.TRUE);
// for(Map.Entry<String, Integer> entry : map.entrySet()) {
// System.out.println(entry.getKey());
// System.out.println(entry.getValue());
// }
// Integer a = 7936 & 2047;
// System.out.println(a);
// }
} }
package com.xxfc.platform.vehicle.mapper; package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyListDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyListVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper; import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
...@@ -13,4 +15,6 @@ public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdLi ...@@ -13,4 +15,6 @@ public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdLi
List<BranchCompany> selectByZoneId(Map<String, Object> param); List<BranchCompany> selectByZoneId(Map<String, Object> param);
List<Integer> findCompanyIdsByAreaId(@Param("areaId") Integer areaId); List<Integer> findCompanyIdsByAreaId(@Param("areaId") Integer areaId);
List<BranchCompanyListDTO > findBranchCompanys(@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.BranchCompanyStockRight;
import com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyStockRightDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.math.BigDecimal;
import java.util.List;
public interface BranchCompanyStockRightMapper extends Mapper<BranchCompanyStockRight> {
//获取股权列表
List<BranchCompanyStockInfoRightVo> search(BranchCompanyStockSearchVo searchVo);
//获取股价列表
List<Integer> selectAllPrice();
//获取一条记录
BranchCompanyStockInfoRightVo selectInfoById(@Param("id")Integer id);
//修改股权
int updateBalance(@Param("companyId") Integer companyId, @Param("balance") Integer balance, @Param("lastBalance") Integer lastBalance);
//批量添加
int addCompamyList(@Param("list") List<BranchCompanyStockRight> list);
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 com.xxfc.platform.vehicle.pojo.vo.CompanyVo;
import org.apache.ibatis.annotations.*;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface CompanyBaseMapper extends Mapper<CompanyBase> {
@Select("SELECT cb.name,cb.cover,cb.images,cb.describes,cb.content,cb.province_name AS `provinceName`,cb.city_name AS `cityName`,cb.town_name AS `townName`,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 = "name",column = "name"),
@Result(property = "cover",column = "cover"),
@Result(property = "cover",column = "cover"),
@Result(property = "provinceName",column = "addr_province"),
@Result(property = "cityName",column = "addr_city"),
@Result(property = "townName",column = "addr_town")
})*/
@ResultType(value = CompanyBaseDetailDTO.class)
CompanyBaseDetailDTO findCompanyBaseById(@Param("id") Integer id);
List<CompanyBase> getList(CompanyVo companyVo);
}
\ No newline at end of file
...@@ -17,4 +17,7 @@ public interface SysRegionMapper extends Mapper<SysRegion> { ...@@ -17,4 +17,7 @@ public interface SysRegionMapper extends Mapper<SysRegion> {
public Integer getNumber(@Param("name") String name); public Integer getNumber(@Param("name") String name);
//获取地区的编号 //获取地区的编号
public Integer getNumberV2(@Param("name") String name, @Param("type") Integer type); public Integer getNumberV2(@Param("name") String name, @Param("type") Integer type);
//获取地区的编号
public String getName(@Param("code") Integer code);
} }
...@@ -19,7 +19,9 @@ import com.xxfc.platform.vehicle.pojo.BranchCompanyVo; ...@@ -19,7 +19,9 @@ import com.xxfc.platform.vehicle.pojo.BranchCompanyVo;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.CompanySearchDTO; import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo; import com.xxfc.platform.vehicle.pojo.vo.BranComanyLeaderVo;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyListVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -198,4 +200,10 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> { ...@@ -198,4 +200,10 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(@RequestParam("companyIds") List<Integer> companyIds){ Map<Integer, BranComanyLeaderVo> findCompanyLeaderMapByIds(@RequestParam("companyIds") List<Integer> companyIds){
return baseBiz.findCompanyLeaderMapByIds(companyIds); return baseBiz.findCompanyLeaderMapByIds(companyIds);
} }
@PostMapping("/app/unauth/companys")
public ObjectRestResponse<PageDataVO<BranchCompanyListVO>> findBranchCompanyWithPage(@RequestBody BranchCompanyFindDTO branchCompanyFindDTO){
PageDataVO<BranchCompanyListVO> pageDataVO = baseBiz.findBranchCompanyWithPage(branchCompanyFindDTO);
return ObjectRestResponse.succ(pageDataVO);
}
} }
package com.xxfc.platform.vehicle.rest;
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.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.biz.BranchCompanyStockApplyInfoBiz;
import com.xxfc.platform.vehicle.biz.BranchCompanyStockRightBiz;
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.dto.BranchCompanyStockRightFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockRightForWeChatOfficeVO;
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;
import java.math.BigDecimal;
import java.util.List;
@RestController
@IgnoreClientToken
@IgnoreUserToken
@RequestMapping("branchCompany/stock/right")
public class BranchCompanyStockRightController extends BaseController<BranchCompanyStockRightBiz> {
@Autowired
BranchCompanyStockApplyInfoBiz branchCompanyStockApplyInfoBiz;
/**
* 搜索
* @param searchVo
* @return
*/
@ApiOperation(value = "获取股权列表")
@GetMapping("search")
public RestResponse search(BranchCompanyStockSearchVo searchVo) {
if (searchVo.getPage() == null || searchVo.getLimit() == null) {
searchVo.setPage(1);
searchVo.setLimit(10);
}
return RestResponse.suc(baseBiz.search(searchVo));
}
@ApiOperation(value = "获取股权信息")
@GetMapping("info/{id}")
public RestResponse getInfo(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
return RestResponse.suc(baseBiz.getInfoById(id));
}
/**
* 编辑
* @return
*/
@RequestMapping(value ="/updStockInfo",method = RequestMethod.POST)
public ObjectRestResponse updStockInfo(@RequestBody BranchCompanyStockInfoRightVo stockInfoVo) {
if (stockInfoVo==null||stockInfoVo.getCompanyId()==null||stockInfoVo.getCompanyId()==0 || stockInfoVo.getTotal() == null || stockInfoVo.getPrice() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
return baseBiz.updStockInfo(stockInfoVo);
}
/**
* 新增
* @return
*/
@RequestMapping(value ="/addStockInfo",method = RequestMethod.POST)
public ObjectRestResponse addStockInfo(@RequestBody BranchCompanyStockInfoRightVo stockInfoVo) {
if (stockInfoVo==null||stockInfoVo.getCompanyId()==null||stockInfoVo.getCompanyId()==0|| stockInfoVo.getTotal() == null || stockInfoVo.getPrice() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
return baseBiz.updStockInfo(stockInfoVo);
}
/**
* 删除
* @param id
* @return
*/
@DeleteMapping("{id}")
public ObjectRestResponse delete(@PathVariable("id") Integer id) {
baseBiz.delete(id);
return ObjectRestResponse.succ();
}
/**
* 申请购买
* @param applyVo
* @return
*/
@PostMapping("/app/unauth/apply")
public RestResponse apply(@RequestBody BranchCompanyStockApplyVo applyVo) {
if (applyVo.getCompanyId() == null || applyVo.getName() == null || applyVo.getTel() == null || applyVo.getCount() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockApplyInfoBiz.apply(applyVo);
return RestResponse.suc();
}
@GetMapping("apply/page")
public RestResponse applyPage(Integer page, Integer limit) {
if (page == null || limit == null) {
page = 1;
limit = 10;
}
return RestResponse.suc(branchCompanyStockApplyInfoBiz.selectApplyAll(page, limit));
}
@GetMapping("apply/{id}")
public RestResponse getApplyById(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
return RestResponse.suc(branchCompanyStockApplyInfoBiz.getApplyById(id));
}
@PutMapping("apply")
public RestResponse updateApply(BranchCompanyStockApplyInfo applyInfo) {
if (applyInfo.getId() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockApplyInfoBiz.updateApply(applyInfo);
return RestResponse.suc();
}
@DeleteMapping("apply/{id}")
public RestResponse deleteApply(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockApplyInfoBiz.deleteApply(id);
return RestResponse.suc();
}
/**
* 取消申请,放弃购买
* @return
*/
@PostMapping("apply/cancel")
public RestResponse cancel(Integer applyId) {
if (applyId == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockApplyInfoBiz.cancelApply(applyId);
return RestResponse.suc();
}
/**
* 确认购买,减库存
*/
@PostMapping("apply/buy")
public RestResponse buy(Integer applyId) {
if (applyId == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockApplyInfoBiz.buy(applyId);
return RestResponse.suc();
}
@GetMapping("allPrice")
public RestResponse getAllPrice() {
return RestResponse.suc(baseBiz.getAllPrice());
}
/**
* 导入
* @param multipartfile
* @param request
* @return
*/
@PostMapping("importExcel")
public ObjectRestResponse<String> importExcel(@RequestParam(value = "file") MultipartFile multipartfile,
HttpServletRequest 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("companyBaseApp")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@RequestMapping("/company_base")
public class CompanyBaseController {
private final CompanyBaseBiz companyBaseBiz;
@GetMapping("/app/unauth/detail/{id}")
public ObjectRestResponse<CompanyBaseVo> findCompanyDetailById(@PathVariable(value = "id") Integer id){
CompanyBaseVo companyBaseVo = companyBaseBiz.findCompanyDetailById(id);
return ObjectRestResponse.succ(companyBaseVo);
}
}
...@@ -72,6 +72,9 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -72,6 +72,9 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
@Autowired @Autowired
BranchCompanyBiz branchCompanyBiz; BranchCompanyBiz branchCompanyBiz;
@Autowired
VehicleBookHourInfoBiz vehicleBookHourInfoBiz;
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
return userFeign; return userFeign;
} }
...@@ -209,7 +212,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -209,7 +212,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName();
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode()); bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode());
bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE); bookVehicleVo.setNotCheckTimeLegal(Boolean.FALSE);
baseBiz.applyVehicle(operatorId, bookVehicleVo, userName); baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return RestResponse.suc(); return RestResponse.suc();
} }
...@@ -506,4 +509,11 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -506,4 +509,11 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
public ObjectRestResponse checkHourInfo() { public ObjectRestResponse checkHourInfo() {
return vehicleBookRecordBiz.checkDateInvalide(); return vehicleBookRecordBiz.checkDateInvalide();
} }
@GetMapping("/app/unauth/checkBookHourInfo")
@IgnoreClientToken
@IgnoreUserToken
public ObjectRestResponse checkBookHourInfo() {
return vehicleBookHourInfoBiz.checkBookHourInfo();
}
} }
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.xxfc.platform.vehicle.biz.CompanyBaseBiz;
import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.pojo.vo.CompanyVo;
import io.swagger.annotations.ApiOperation;
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 CompanyController extends BaseController<CompanyBaseBiz> {
@ApiOperation("同步分公司信息")
@PostMapping("synchro")
public ObjectRestResponse<String> synchro() {
return baseBiz.synchro();
}
@ApiOperation("同步分公司地址")
@PostMapping("synchro2")
public ObjectRestResponse<String> synchro2() {
return baseBiz.synchro2();
}
@ApiOperation("查询公司列表")
@RequestMapping(value = "/list", method = RequestMethod.GET)
public ObjectRestResponse getList(CompanyVo companyVo){
return baseBiz.getList(companyVo);
}
@ApiOperation("设置基础信息")
@RequestMapping(value = "/updCompany", method = RequestMethod.POST)
public ObjectRestResponse updCompany(@RequestBody CompanyVo companyVo){
return baseBiz.updCompany(companyVo);
}
@ApiOperation("添加分公司")
@RequestMapping(value = "/addCompany", method = RequestMethod.POST)
public ObjectRestResponse addCompany(@RequestBody CompanyVo companyVo){
return baseBiz.updCompany(companyVo);
}
@ApiOperation("获取详情")
@RequestMapping(value = "/getCompanyDetail", method = RequestMethod.GET)
public ObjectRestResponse getCompanyDetail(CompanyVo companyVo){
return baseBiz.getCompanyDetail(companyVo);
}
@ApiOperation("设置股权信息")
@RequestMapping(value = "/updStockInfo", method = RequestMethod.POST)
public ObjectRestResponse updStockInfo(CompanyVo companyVo){
return baseBiz.updStockInfo(companyVo);
}
@ApiOperation("设置详情")
@RequestMapping(value = "/updCompanyDetail", method = RequestMethod.POST)
public ObjectRestResponse updCompanyDetail(CompanyVo companyVo){
return baseBiz.updCompanyDetail(companyVo);
}
@ApiOperation("删除")
@RequestMapping(value = "/del", method = RequestMethod.POST)
public ObjectRestResponse del(@RequestParam(value = "id",defaultValue = "0") Integer id){
return baseBiz.delCompany(id);
}
/**
* 导入
* @param multipartfile
* @param request
* @return
*/
@PostMapping("app/unauth/importExcel")
public ObjectRestResponse importExcel(@RequestParam(value = "file") MultipartFile multipartfile,
HttpServletRequest request) {
return baseBiz.importExcel(multipartfile,request);
}
}
...@@ -23,7 +23,7 @@ spring: ...@@ -23,7 +23,7 @@ spring:
cloud: cloud:
nacos: nacos:
config: config:
server-addr: 127.0.0.1:8848,10.1.37.166:8848 server-addr: 127.0.0.1:8848
#共用配置,暂定一个 #共用配置,暂定一个
shared-dataids: common-dev.yaml,mongodb-log-dev.yaml shared-dataids: common-dev.yaml,mongodb-log-dev.yaml
......
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.vehicle.mapper.BranchCompanyMapper" > <mapper namespace="com.xxfc.platform.vehicle.mapper.BranchCompanyMapper">
<resultMap id="BaseResultMap" type="com.xxfc.platform.vehicle.entity.BranchCompany" > <resultMap id="BaseResultMap" type="com.xxfc.platform.vehicle.entity.BranchCompany">
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated
--> -->
<id column="id" property="id" jdbcType="INTEGER" /> <id column="id" property="id" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR" /> <result column="name" property="name" jdbcType="VARCHAR"/>
<result column="branch_type" property="branchType" jdbcType="INTEGER" /> <result column="branch_type" property="branchType" jdbcType="INTEGER"/>
<result column="subordinate_branch" property="subordinateBranch" jdbcType="INTEGER" /> <result column="subordinate_branch" property="subordinateBranch" jdbcType="INTEGER"/>
<result column="addr_province" property="addrProvince" jdbcType="INTEGER" /> <result column="addr_province" property="addrProvince" jdbcType="INTEGER"/>
<result column="addr_city" property="addrCity" jdbcType="INTEGER" /> <result column="addr_city" property="addrCity" jdbcType="INTEGER"/>
<result column="addr_town" property="addrTown" jdbcType="INTEGER" /> <result column="addr_town" property="addrTown" jdbcType="INTEGER"/>
<result column="addr_detail" property="addrDetail" jdbcType="VARCHAR" /> <result column="addr_detail" property="addrDetail" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="vehice_service_phone" property="vehiceServicePhone"/> <result column="vehice_service_phone" property="vehiceServicePhone"/>
<result column="tour_service_phone" property="tourServicePhone"/> <result column="tour_service_phone" property="tourServicePhone"/>
<result column="longitude" property="longitude"/> <result column="longitude" property="longitude"/>
...@@ -40,7 +40,8 @@ ...@@ -40,7 +40,8 @@
order by distance asc order by distance asc
</if> </if>
</select> </select>
<select id="selectByZoneId" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.BranchCompany"> <select id="selectByZoneId" parameterType="java.util.Map"
resultType="com.xxfc.platform.vehicle.entity.BranchCompany">
select * from branch_company select * from branch_company
where zone_id = #{zoneId} where zone_id = #{zoneId}
<if test="ids != null and ids.size > 0"> <if test="ids != null and ids.size > 0">
...@@ -53,4 +54,29 @@ ...@@ -53,4 +54,29 @@
<select id="findCompanyIdsByAreaId" resultType="integer"> <select id="findCompanyIdsByAreaId" resultType="integer">
select `id` from `branch_company` where `zone_id`=#{areaId} select `id` from `branch_company` where `zone_id`=#{areaId}
</select> </select>
<select id="findBranchCompanys" resultType="com.xxfc.platform.vehicle.pojo.dto.BranchCompanyListDTO">
SELECT
cb.id AS `comnpanyBaseId`,
cb.province_name AS `provinceName`,
cb.city_name AS `cityName`,
cb.town_name AS `townName`,
bc.addr_detail AS `address`,
bc.NAME AS `name`,
cb.cover,
bc.leader,
bc.leader_contact_info AS `leaderContactInfo`,
bc.longitude,
bc.latitude
FROM
(SELECT * FROM `branch_company` WHERE `is_del`=0) AS `bc`
INNER JOIN (SELECT * FROM `company_base` WHERE `is_del`=0
<if test="provinceCode != null">
AND `addr_province`=#{provinceCode}
</if>
<if test="cityCode != null">
AND `addr_city`=#{cityCode}
</if>
) AS `cb` ON cb.id = bc.company_base_id
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<select id="selectVoAll" resultType="com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyInfoVo"> <select id="selectVoAll" resultType="com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyInfoVo">
select a.*, b.company_name select a.*, b.company_name
from branch_company_stock_apply_info a from branch_company_stock_apply_info a
left join branch_company_stock_info b on a.company_id = b.id left join `company_base` b on a.company_id = b.id
order by a.create_time desc order by a.create_time desc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.vehicle.mapper.BranchCompanyStockRightMapper">
<update id="updateBalance">
update branch_company_stock_info_right
set balance = #{balance}
where id = #{companyId} and balance = #{lastBalance}
</update>
<select id="search" resultType="com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo">
SELECT
distinct r.company_id as companyId,
r.id,
r.balance,
r.company_pic as companyPic,
r.info,
r.price,
r.rank,
r.total,
r.stock_state,
c.addr_city AS addrCity,
c.addr_province AS addrProvince,
c.`name` AS companyName
FROM
branch_company_stock_info_right r
LEFT JOIN branch_company c ON r.company_id = c.id
<trim prefix="where" suffixOverrides="and">
c.is_del = 0 and
<if test="companyName != null">
c.name like CONCAT('%',#{companyName},'%')
</if>
<if test="addrProvince != null">
c.addr_province = #{addrProvince} and
</if>
<if test="addrCity != null">
c.addr_city = #{addrCity} and
</if>
<if test="priceStart">
r.price >= #{priceStart} and
</if>
<if test="priceEnd">
r.price &lt;= #{priceEnd} and
</if>
</trim>
order by rank DESC,price DESC
</select>
<select id="selectAllPrice" resultType="integer">
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 id="selectInfoById" resultType="com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo">
SELECT
distinct r.company_id as companyId,
r.id,
r.balance,
r.company_pic as companyPic,
r.info,
r.price,
r.rank,
r.total,
r.stock_state,
c.addr_city AS addrCity,
c.addr_province AS addrProvince,
c.`name` AS companyName
FROM
branch_company_stock_info_right r
LEFT JOIN branch_company c ON r.company_id = c.id
where c.is_del = 0 and r.id=#{id} and r.is_del=0
</select>
<select id="getCompanyInfo" resultType="Integer">
SELECT id FROM branch_company WHERE `name`=#{name} and is_del=0 limit 1
</select>
<insert id="addCompamyList" parameterType="java.util.List">
insert into branch_company_stock_info_right (
company_id,balance,total,price,stock_state,company_pic,crt_time,upd_time
) VALUES
<foreach collection="list" item="item" index="index" separator=",">
(#{item.companyId},#{item.balance},#{item.total},#{item.price},#{item.stockState}
,#{item.companyPic},#{item.crtTime},#{item.updTime})
</foreach>
</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>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.vehicle.mapper.CompanyBaseMapper" >
<select id="getList" parameterType="com.xxfc.platform.vehicle.pojo.vo.CompanyVo" resultType="com.xxfc.platform.vehicle.pojo.vo.CompanyVo">
SELECT
c.id as companyId,
c.`name` as companyName,
c.addr_detail as addrDetail,
c.state,
c.status,
c.leader,
c.leader_contact_info as leaderContactInfo,
c.latitude,
c.longitude,
c.vehice_service_phone as vehiceServicePhone,
c.tour_service_phone as tourServicePhone,
c.zone_id as zoneId,
c.addr_province as addrProvince,
c.province_name as provinceName,
c.addr_city as addrCity,
c.city_name as cityName,
c.addr_town as addrTown,
c.town_name as townName,
b.cover,
b.id,
b.`name`,
r.id as stockId,
r.balance,
r.rank,
r.stock_state as stockState,
r.total,
r.type,
r.price
FROM branch_company c
LEFT JOIN company_base b ON c.company_base_id=b.id
LEFT JOIN branch_company_stock_info_right r ON c.company_base_id=r.company_base_id
<where>
b.is_del=0
<if test="zoneId != null and zoneId !='' ">
and c.zone_id = #{zoneId}
</if>
<if test="addrProvince != null and addrProvince != ''">
and c.addr_province =#{addrProvince}
</if>
<if test="addrCity != null and addrCity != ''">
and c.addr_city =#{addrCity}
</if>
<if test="name != null and name != ''">
and b.`name` like CONCAT('%',#{name},'%')
</if>
</where>
order by c.id desc
</select>
</mapper>
\ No newline at end of file
...@@ -18,6 +18,10 @@ ...@@ -18,6 +18,10 @@
<select id="getNumber" resultType="Integer"> <select id="getNumber" resultType="Integer">
select `id` from sys_region where name like CONCAT('%',#{name},'%') limit 1 select `id` from sys_region where name like CONCAT('%',#{name},'%') limit 1
</select> </select>
<select id="getName" resultType="String">
select `name` from sys_region where id=#{code}
</select>
<select id="getNumberV2" resultType="Integer"> <select id="getNumberV2" resultType="Integer">
select `id` from sys_region where name like CONCAT('%',#{name},'%') and type=#{type} limit 1 select `id` from sys_region where name like CONCAT('%',#{name},'%') and type=#{type} limit 1
</select> </select>
......
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