Commit fef79c37 authored by 周健威's avatar 周健威

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

parents 85e17d67 0a1347c1
package com.github.wxiaoqi.security.admin.support.aop;
import cn.hutool.core.util.ArrayUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
/**
* @author libin
* @version 1.0
* @description user信息组装
* @data 2019/6/17 13:44
*/
@Aspect
@Component
@ConditionalOnClass(value = UserFeign.class)
public class TokenAop {
@Value("${auth.user.token-header:Authorization}")
private String tokenHeader;
@Resource
private UserFeign userFeign;
@Pointcut("execution(* com.xxfc.platform..rest..*(..))")
public void tokenExpress(){}
/**
* userFeign.userDetailByToken(""); 获取app用户的信息
* userFeign.userinfoByToken(""); 获取后台用户的信息
* Todo 还有token 校验规则 ,是否过期 未加入检验 .......
* @param proceedingJoinPoint
* @return
*/
@Around("tokenExpress()")
public Object token(ProceedingJoinPoint proceedingJoinPoint) throws Throwable{
HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
String token = request.getHeader(tokenHeader);
Object[] args = proceedingJoinPoint.getArgs();
if (ArrayUtil.isEmpty(args)){
//没有参数直接返回
return proceedingJoinPoint.proceed();
}
MethodSignature methodSignature = (MethodSignature) proceedingJoinPoint.getSignature();
Method currentMethod = methodSignature.getMethod();
Parameter[] parameters = currentMethod.getParameters();
for(int i =0;i<args.length;i++){
Parameter parameter = parameters[i];
//app用户
if (AppUserDTO.class.equals(parameter.getType())){
//token为空
if (StringUtils.isEmpty(token)){
return ObjectRestResponse.createFailedResult(4004,"token不能为空");
}
args[i]= userFeign.userDetailByToken(token).getData();
break;
}
if (UserDTO.class.equals(parameter.getType())){
//token为空
if (StringUtils.isEmpty(token)){
return ObjectRestResponse.createFailedResult(4004,"token不能为空");
}
args[i]=userFeign.userinfoByToken(token).getData();
break;
}
}
return proceedingJoinPoint.proceed(args);
}
public void setTokenHeader(String tokenHeader) {
this.tokenHeader = tokenHeader;
}
}
......@@ -44,6 +44,7 @@
<module>xx-universal</module>
<module>xx-tour</module>
<module>xx-im</module>
<module>xx-campsite</module>
</modules>
<packaging>pom</packaging>
<developers>
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ace-security</artifactId>
<groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-campsite</artifactId>
<packaging>pom</packaging>
<modules>
<module>xx-campsite-api</module>
<module>xx-campsite-server</module>
</modules>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>xx-campsite</artifactId>
<groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-campsite-api</artifactId>
<dependencies>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-admin-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.xxfc.platform.campsite.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 营地店铺表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Data
@Table(name = "campsite_shop")
public class CampsiteShop implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 店铺名称
*/
@Column(name = "name")
@ApiModelProperty(value = "店铺名称")
private String name;
/**
* 店铺logo
*/
@Column(name = "logo")
@ApiModelProperty(value = "店铺logo")
private String logo;
/**
* 店铺介绍
*/
@Column(name = "intro")
@ApiModelProperty(value = "店铺介绍")
private String intro;
/**
* 店铺URL
*/
@Column(name = "url")
@ApiModelProperty(value = "店铺URL")
private String url;
/**
* 主要联系人
*/
@Column(name = "concat")
@ApiModelProperty(value = "主要联系人")
private String concat;
/**
* 联系人身份证号
*/
@Column(name = "id_number")
@ApiModelProperty(value = "联系人身份证号")
private String idNumber;
/**
* 联系人电话
*/
@Column(name = "phone")
@ApiModelProperty(value = "联系人电话")
private String phone;
/**
* 公司id
*/
@Column(name = "company_id")
@ApiModelProperty(value = "公司id")
private Integer companyId;
/**
* 公司名称
*/
@Column(name = "company_name")
@ApiModelProperty(value = "公司名称")
private String companyName;
/**
* 开店时间
*/
@Column(name = "start_time")
@ApiModelProperty(value = "开店时间")
private Long startTime;
/**
* 地址-省/直辖市(编码)
*/
@Column(name = "province")
@ApiModelProperty(value = "地址-省/直辖市(编码)")
private Integer province;
/**
* 地址-省/直辖市(名称)
*/
@Column(name = "province_name")
@ApiModelProperty(value = "地址-省/直辖市(名称)")
private String provinceName;
/**
* 地址-市
*/
@Column(name = "city")
@ApiModelProperty(value = "地址-市")
private Integer city;
/**
* 地址-市(名称)
*/
@Column(name = "city_name")
@ApiModelProperty(value = "地址-市(名称)")
private String cityName;
/**
* 经度
*/
@Column(name = "longitude")
@ApiModelProperty(value = "经度")
private Double longitude;
/**
* 纬度
*/
@Column(name = "latitude")
@ApiModelProperty(value = "纬度")
private Double latitude;
/**
* 具体地址
*/
@Column(name = "adress")
@ApiModelProperty(value = "具体地址")
private String adress;
/**
* 客服电话
*/
@Column(name = "service_phone")
@ApiModelProperty(value = "客服电话")
private String servicePhone;
/**
* 配套设施&收费
*/
@Column(name = "configure")
@ApiModelProperty(value = "配套设施&收费")
private String configure;
/**
* 店铺详情
*/
@Column(name = "content")
@ApiModelProperty(value = "店铺详情")
private String content;
/**
* 店铺状态:0-未开业;1-已开业
*/
@Column(name = "status")
@ApiModelProperty(value = "店铺状态:0-未开业;1-已开业")
private Integer status;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true)
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel;
}
package com.xxfc.platform.campsite.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 店铺轮播表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Data
@Table(name = "campsite_shop_carousel")
public class CampsiteShopCarousel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键自增字段
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键自增字段")
private Integer id;
/**
* 商家id
*/
@Column(name = "shop_id")
@ApiModelProperty(value = "商家id")
private Integer shopId;
/**
* 访问链接
*/
@Column(name = "url")
@ApiModelProperty(value = "访问链接")
private String url;
/**
* 轮播图片链接
*/
@Column(name = "img_url")
@ApiModelProperty(value = "轮播图片链接")
private String imgUrl;
/**
* 图片名称
*/
@Column(name = "name")
@ApiModelProperty(value = "图片名称")
private String name;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel;
}
package com.xxfc.platform.campsite.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Data
@Table(name = "campsite_shop_tag")
public class CampsiteShopTag implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 首页banner图主键
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("首页banner图主键")
private Long id;
/**
* 店铺id
*/
@Column(name = "shop_id")
@ApiModelProperty(value = "店铺id")
private Integer shopId;
/**
* 类型id
*/
@Column(name = "tag_id")
@ApiModelProperty(value = "类型id")
private Integer tagId;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime;
/**
* 修改时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "修改时间", hidden = true)
private Long updTime;
/**
* 是否删除,0否,1是
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除,0否,1是")
private Integer isDel;
}
package com.xxfc.platform.campsite.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Data
@Table(name = "campsite_tag")
public class CampsiteTag implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 父id
*/
@Column(name = "parent_id")
@ApiModelProperty(value = "父id")
private Integer parentId;
/**
* 名称
*/
@Column(name = "name")
@ApiModelProperty(value = "名称")
private String name;
/**
* 是否筛选条件
*/
@Column(name = "is_search")
@ApiModelProperty(value = "是否筛选条件")
private Integer isSearch;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
* 创建时间
*/
@Column(name = "ctr_time")
@ApiModelProperty(value = "创建时间")
private Long ctrTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true)
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel;
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>xx-campsite</artifactId>
<groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-campsite-server</artifactId>
<name>Campiste program</name>
<description>the xxfc travel Campsite</description>
<dependencies>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>xx-campsite-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.xxfc.platform.campsite;
import com.ace.cache.EnableAceCache;
import com.github.wxiaoqi.security.auth.client.EnableAceAuthClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import tk.mybatis.spring.annotation.MapperScan;
/**
* @author libin
* @version 1.0
* @description TODO
* @data 2019/6/17 10:51
*/
@SpringBootApplication(scanBasePackages = {
"com.xxfc.platform",
"com.github.wxiaoqi.*"
})
@EnableDiscoveryClient
@EnableAceAuthClient
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.github.wxiaoqi.security.admin.feign","com.xxfc.platform"})
@EnableAceCache
@EnableCaching
@MapperScan(basePackages = "com.xxfc.platform.campsite.mapper")
public class CampSiteApplication {
public static void main(String[] args) {
SpringApplication.run(CampSiteApplication.class,args);
}
}
package com.xxfc.platform.campsite.biz;
import org.springframework.stereotype.Service;
import com.xxfc.platform.campsite.entity.CampsiteShop;
import com.xxfc.platform.campsite.mapper.CampsiteShopMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
/**
* 营地店铺表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Service
public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.biz;
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;
/**
* 店铺轮播表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Service
public class CampsiteShopCarouselBiz extends BaseBiz<CampsiteShopCarouselMapper,CampsiteShopCarousel> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.biz;
import org.springframework.stereotype.Service;
import com.xxfc.platform.campsite.entity.CampsiteShopTag;
import com.xxfc.platform.campsite.mapper.CampsiteShopTagMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Service
public class CampsiteShopTagBiz extends BaseBiz<CampsiteShopTagMapper,CampsiteShopTag> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.biz;
import org.springframework.stereotype.Service;
import com.xxfc.platform.campsite.entity.CampsiteTag;
import com.xxfc.platform.campsite.mapper.CampsiteTagMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Service
public class CampsiteTagBiz extends BaseBiz<CampsiteTagMapper,CampsiteTag> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
/**
* @Description : swagger配置配置
* @Author : Mars
* @Date : 2017年9月6日
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple
* swagger groups i.e. same code base multiple swagger resource listings.
*/
@Bean
public Docket customDocket(){
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
ticketPar.name("Authorization").description("user Authorization")
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //header中的ticket参数非必填,传空也可以
pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.campsite"))
//.apis(RequestHandlerSelectors.any())
.build()
.globalOperationParameters(pars)
.apiInfo(apiInfo());
}
ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("api swagger document")
.description("前后端联调swagger api 文档")
.version("2.1.5.5")
.build();
}
}
\ No newline at end of file
package com.xxfc.platform.campsite.config;
import com.github.wxiaoqi.security.auth.client.interceptor.ServiceAuthRestInterceptor;
import com.github.wxiaoqi.security.auth.client.interceptor.UserAuthRestInterceptor;
import com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.Collections;
@Configuration("tourWebConfig")
@Primary
public class WebConfiguration implements WebMvcConfigurer {
@Bean
GlobalExceptionHandler getGlobalExceptionHandler() {
return new GlobalExceptionHandler();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(getServiceAuthRestInterceptor()).
addPathPatterns(getIncludePathPatterns());
registry.addInterceptor(getUserAuthRestInterceptor()).
addPathPatterns(getIncludePathPatterns());
}
@Bean
ServiceAuthRestInterceptor getServiceAuthRestInterceptor() {
return new ServiceAuthRestInterceptor();
}
@Bean
UserAuthRestInterceptor getUserAuthRestInterceptor() {
return new UserAuthRestInterceptor();
}
/**
* 需要用户和服务认证判断的路径
* @return
*/
private ArrayList<String> getIncludePathPatterns() {
ArrayList<String> list = new ArrayList<>();
String[] urls = {
"/campsite/**"
};
Collections.addAll(list, urls);
return list;
}
}
package com.xxfc.platform.campsite.mapper;
import com.xxfc.platform.campsite.entity.CampsiteShopCarousel;
import tk.mybatis.mapper.common.Mapper;
/**
* 店铺轮播表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
public interface CampsiteShopCarouselMapper extends Mapper<CampsiteShopCarousel> {
}
package com.xxfc.platform.campsite.mapper;
import com.xxfc.platform.campsite.entity.CampsiteShop;
import tk.mybatis.mapper.common.Mapper;
/**
* 营地店铺表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
}
package com.xxfc.platform.campsite.mapper;
import com.xxfc.platform.campsite.entity.CampsiteShopTag;
import tk.mybatis.mapper.common.Mapper;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
public interface CampsiteShopTagMapper extends Mapper<CampsiteShopTag> {
}
package com.xxfc.platform.campsite.mapper;
import com.xxfc.platform.campsite.entity.CampsiteTag;
import tk.mybatis.mapper.common.Mapper;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
public interface CampsiteTagMapper extends Mapper<CampsiteTag> {
}
package com.xxfc.platform.campsite.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.campsite.biz.CampsiteShopCarouselBiz;
import com.xxfc.platform.campsite.entity.CampsiteShopCarousel;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author libin
* @version 1.0
* @description 营地店铺轮播
* @data 2019/6/17 13:35
*/
@Controller
@RequestMapping("campsiteShopCarousel")
public class CampsiteShopCarouselController extends BaseController<CampsiteShopCarouselBiz,CampsiteShopCarousel> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.campsite.biz.CampsiteShopBiz;
import com.xxfc.platform.campsite.entity.CampsiteShop;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author libin
* @version 1.0
* @description 营地店铺
* @data 2019/6/17 13:37
*/
@Controller
@RequestMapping("campsiteShop")
public class CampsiteShopController extends BaseController<CampsiteShopBiz,CampsiteShop> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.campsite.biz.CampsiteShopTagBiz;
import com.xxfc.platform.campsite.entity.CampsiteShopTag;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author libin
* @version 1.0
* @description 营地店铺类型
* @data 2019/6/17 13:36
*/
@Controller
@RequestMapping("campsiteShopTag")
public class CampsiteShopTagController extends BaseController<CampsiteShopTagBiz,CampsiteShopTag> {
}
\ No newline at end of file
package com.xxfc.platform.campsite.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.campsite.biz.CampsiteTagBiz;
import com.xxfc.platform.campsite.entity.CampsiteTag;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author libin
* @version 1.0
* @description 店铺类型
* @data 2019/6/17 13:36
*/
@Controller
@RequestMapping("campsiteTag")
public class CampsiteTagController extends BaseController<CampsiteTagBiz,CampsiteTag> {
}
\ No newline at end of file
spring:
profiles:
active: dev
application:
name: xx-campsite
cloud:
nacos:
config:
file-extension: yaml
---
spring:
profiles: dev
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
---
spring:
profiles: pro
cloud:
nacos:
config:
server-addr: 10.5.52.2:8848
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--<properties resource="dev.properties"/>-->
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<property name="mergeable" value="false"></property>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
</plugin>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/xx-campsite?useUnicode=true&amp;characterEncoding=UTF8"
userId="root"
password="sslcloud123*()">
</jdbcConnection>
<!--<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>-->
<sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
<!-- <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}"
type="XMLMAPPER"/>-->
<table tableName="vehicle_upkeep_item" domainObjectName="VehicleUpkeepItem"></table>
<table tableName="vehicle_upkeep_log" domainObjectName="VehicleUpkeepLog"></table>
</context>
</generatorConfiguration>
\ 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.campsite.mapper.CampsiteShopCarouselMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.campsite.entity.CampsiteShopCarousel" id="campsiteShopCarouselMap">
<result property="id" column="id"/>
<result property="shopId" column="shop_id"/>
<result property="url" column="url"/>
<result property="imgUrl" column="img_url"/>
<result property="name" column="name"/>
<result property="isDel" column="is_del"/>
</resultMap>
</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.campsite.mapper.CampsiteShopMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.campsite.entity.CampsiteShop" id="campsiteShopMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="logo" column="logo"/>
<result property="intro" column="intro"/>
<result property="url" column="url"/>
<result property="concat" column="concat"/>
<result property="idNumber" column="id_number"/>
<result property="phone" column="phone"/>
<result property="companyId" column="company_id"/>
<result property="companyName" column="company_name"/>
<result property="startTime" column="start_time"/>
<result property="province" column="province"/>
<result property="provinceName" column="province_name"/>
<result property="city" column="city"/>
<result property="cityName" column="city_name"/>
<result property="longitude" column="longitude"/>
<result property="latitude" column="latitude"/>
<result property="adress" column="adress"/>
<result property="servicePhone" column="service_phone"/>
<result property="configure" column="configure"/>
<result property="content" column="content"/>
<result property="status" column="status"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
</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.campsite.mapper.CampsiteShopTagMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.campsite.entity.CampsiteShopTag" id="campsiteShopTagMap">
<result property="id" column="id"/>
<result property="shopId" column="shop_id"/>
<result property="tagId" column="tag_id"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
</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.campsite.mapper.CampsiteTagMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.campsite.entity.CampsiteTag" id="campsiteTagMap">
<result property="id" column="id"/>
<result property="parentId" column="parent_id"/>
<result property="name" column="name"/>
<result property="isSearch" column="is_search"/>
<result property="rank" column="rank"/>
<result property="ctrTime" column="ctr_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
</mapper>
\ No newline at end of file
......@@ -27,6 +27,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
public List<OrderPageVO> pageByParm(Map<String, Object> paramMap){
return mapper.pageByParm(paramMap);
}
public List<OrderPageVO> listOrder(Map<String, Object> paramMap){
return mapper.listOrder(paramMap);
}
private static Map<Integer, List<Integer>> cancelAble;
static {
cancelAble = new HashMap<Integer, List<Integer>>();
......
......@@ -16,4 +16,5 @@ import java.util.Map;
*/
public interface BaseOrderMapper extends Mapper<BaseOrder> {
public List<OrderPageVO> pageByParm(Map<String, Object> paramMap);
public List<OrderPageVO> listOrder(Map<String, Object> paramMap);
}
......@@ -36,7 +36,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.math.BigDecimal;
......@@ -79,6 +78,25 @@ public class BaseOrderController extends CommonBaseController {
return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper())));
}
@RequestMapping(value = "/list",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "订单列表")
@IgnoreClientToken
public ObjectRestResponse<PageDataVO<OrderPageVO>> getOrderList(QueryOrderDTO dto){
Query query = new Query(dto);
return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query, () -> baseOrderBiz.selectListAll()));
}
@RequestMapping(value = "/selectByUser",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "订单列表")
@IgnoreClientToken
public ObjectRestResponse<PageDataVO<OrderPageVO>> selectByUser(QueryOrderList dto){
Query query = new Query(dto);
return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query, () -> baseOrderBiz.listOrder(query.getSuper())));
}
// @RequestMapping(value = "/company/page",method = RequestMethod.GET)
// @ResponseBody
// @ApiOperation(value = "结合后台人员所属公司查询订单列表")
......@@ -264,6 +282,7 @@ public class BaseOrderController extends CommonBaseController {
"5--出行中(进行中)\n" +
"6--已完成")
private Integer status;
}
/**
......@@ -274,6 +293,16 @@ public class BaseOrderController extends CommonBaseController {
private String no;
}
@Data
public class QueryOrderList extends QueryOrderDetailDTO {
private Long startTime;
private Long endTime;
private Integer startCompanyId;
}
@Data
public class NotifyUrlDTO{
//订单号
......
......@@ -4,26 +4,26 @@
<mapper namespace="com.xxfc.platform.order.mapper.BaseOrderMapper">
<!-- 可根据自己的需求,是否要使用 -->
<!-- <resultMap type="com.xxfc.platform.order.entity.BaseOrder" id="baseOrderMap">-->
<!-- <result property="id" column="id"/>-->
<!-- <result property="no" column="no"/>-->
<!-- <result property="type" column="type"/>-->
<!-- <result property="detailId" column="detail_id"/>-->
<!-- <result property="status" column="status"/>-->
<!-- <result property="productAmount" column="product_amount"/>-->
<!-- <result property="orderAmount" column="order_amount"/>-->
<!-- <result property="detailJson" column="detail_json"/>-->
<!-- <result property="thirdType" column="third_type"/>-->
<!-- <result property="outTradeNo" column="out_trade_no"/>-->
<!-- <result property="crtTime" column="crt_time"/>-->
<!-- <result property="crtUser" column="crt_user"/>-->
<!-- <result property="crtName" column="crt_name"/>-->
<!-- <result property="crtHost" column="crt_host"/>-->
<!-- <result property="updTime" column="upd_time"/>-->
<!-- <result property="updUser" column="upd_user"/>-->
<!-- <result property="updName" column="upd_name"/>-->
<!-- <result property="updHost" column="upd_host"/>-->
<!-- </resultMap>-->
<resultMap type="com.xxfc.platform.order.entity.BaseOrder" id="baseOrderMap">
<result property="id" column="id"/>
<result property="no" column="no"/>
<result property="type" column="type"/>
<result property="detailId" column="detail_id"/>
<result property="status" column="status"/>
<result property="productAmount" column="product_amount"/>
<result property="orderAmount" column="order_amount"/>
<result property="detailJson" column="detail_json"/>
<result property="thirdType" column="third_type"/>
<result property="outTradeNo" column="out_trade_no"/>
<result property="crtTime" column="crt_time"/>
<result property="crtUser" column="crt_user"/>
<result property="crtName" column="crt_name"/>
<result property="crtHost" column="crt_host"/>
<result property="updTime" column="upd_time"/>
<result property="updUser" column="upd_user"/>
<result property="updName" column="upd_name"/>
<result property="updHost" column="upd_host"/>
</resultMap>
<resultMap type="com.xxfc.platform.order.pojo.order.OrderPageVO" id="orderPageMap">
<result javaType="Integer" column="type" property="type"></result>
......@@ -45,7 +45,7 @@
and crt_user = #{crtUser}
</if>
<if test="crtCompanyId != null">
and crt_user = #{crtCompanyId}
and crt_company_id = #{crtCompanyId}
</if>
<if test="status != null">
and status = #{status}
......@@ -57,4 +57,31 @@
order by crt_time desc
</select>
<select id="listOrder" parameterType="Map" resultMap="orderPageMap">
select b.*
from base_order b
LEFT JOIN order_rent_vehicle_detail r on r.order_id = b.id
LEFT JOIN order_tour_detail t on t.order_id = b.id
<where>
<if test="crtUser != null">
and b.crt_user = #{crtUser}
</if>
<if test="status != null">
and b.status = #{status}
</if>
<if test="no != null">
and no like CONCAT ("%", #{no}, "%")
</if>
<if test="startTime != null">
and r.start_time between #{startTime} and #{endTime}
or t.start_time between #{startTime} and #{endTime}
</if>
<if test="startCompanyId != null">
and r.start_company_id = #{startCompanyId}
or t.start_company_id = #{startCompanyId}
</if>
</where>
order by b.crt_time desc
</select>
</mapper>
\ No newline at end of file
......@@ -18,7 +18,7 @@ import tk.mybatis.spring.annotation.MapperScan;
*/
@SpringBootApplication(scanBasePackages = {
"com.xxfc.platform",
"com.github.wxiaoqi.*"
"com.github.wxiaoqi",
})
@EnableDiscoveryClient
@EnableScheduling
......
......@@ -23,6 +23,7 @@ public class TourBaseController<Biz extends BaseBiz> extends CommonBaseControlle
public AppUserDTO getUserInfo(){
return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData();
}
public Biz getBaseBiz() {
return baseBiz;
}
......
package com.xxfc.platform.tour.rest;
import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.common.msg.ListRestResponse;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
......@@ -72,5 +72,10 @@ public class TourTagController extends BaseController<TourTagBiz,TourTag> {
}
@GetMapping("/token")
public ObjectRestResponse apptoken(AppUserDTO appUserDTO){
return ObjectRestResponse.succ(appUserDTO);
}
}
\ No newline at end of file
package com.xxfc.platform.tour.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.tour.biz.TourUserBiz;
import com.xxfc.platform.tour.common.TourBaseController;
import com.xxfc.platform.tour.entity.TourUser;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
......@@ -48,18 +51,57 @@ public class TourUserController extends TourBaseController<TourUserBiz> {
}
@ApiOperation("修改")
@PostMapping(value = "/update")
public ObjectRestResponse<TourUser> update(@RequestBody TourUser tourUser){
baseBiz.updateSelectiveById(tourUser);
return new ObjectRestResponse<TourUser>();
/**
* 添加和更新
* @param tourUser
* @return
*/
@ApiOperation("插入和更新")
@PostMapping(value = "/app/addAndUpdate")
@Transactional
public ObjectRestResponse<TourUser> addAndUpdate(@RequestBody TourUser tourUser){
try {
if (tourUser.getId()==null||tourUser.getId()==0) {
AppUserDTO userInfo = getUserInfo();
if (userInfo==null||userInfo.getUserid()==null||userInfo.getUserid()==0) {
ObjectRestResponse.createDefaultFail();
}
Integer userid = userInfo.getUserid();
tourUser.setUserid(userid);
tourUser.setCrtTime(System.currentTimeMillis());
tourUser.setIsdel(0);
baseBiz.insertSelective(tourUser);
}else {
tourUser.setUpdTime(System.currentTimeMillis());
baseBiz.updateSelectiveById(tourUser);
}
return new ObjectRestResponse<TourUser>();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
}
@ApiOperation("添加")
@PostMapping(value = "/add")
public ObjectRestResponse<TourUser> add(@RequestBody TourUser tourUser){
baseBiz.insertSelective(tourUser);
return new ObjectRestResponse<TourUser>();
@ApiOperation("通过id查询")
@GetMapping(value = "/app/findById/{id}")
public ObjectRestResponse<TourUser> findById(@PathVariable Integer id){
AppUserDTO userInfo = getUserInfo();
if (userInfo==null||userInfo.getUserid()==null||userInfo.getUserid()==0) {
ObjectRestResponse.createDefaultFail();
}
Integer userid = userInfo.getUserid();
TourUser user = new TourUser();
user.setUserid(userid);
user.setId(id);
if (id==null||id==0) {
ObjectRestResponse.createDefaultFail();
}
return ObjectRestResponse.succ(baseBiz.selectList(user));
}
......@@ -70,6 +112,9 @@ public class TourUserController extends TourBaseController<TourUserBiz> {
@GetMapping("/app/unauth/getTourUserList")
public ObjectRestResponse getTourUser(){
AppUserDTO userInfo = getUserInfo();
if (userInfo==null||userInfo.getUserid()==null||userInfo.getUserid()==0) {
ObjectRestResponse.createDefaultFail();
}
Integer id = userInfo.getId();
List<TourUser> tourUsers= baseBiz.getTourUser(id);
return ObjectRestResponse.succ(tourUsers);
......
......@@ -98,4 +98,15 @@ public class RedisKey {
*/
public static final String MILEAGE_LAST_DAY_PREFIX ="mileage:last_day:";
/**
* 标签列表缓存key
*/
public static final String BRANCH_COMPANY_CATA_PAGE = BRANCH_CATA_CACHE + ":page";
/**
* 增加车型列表key
*/
public static final String BRANCH_COMPANY_CATA_LIST = BRANCH_CATA_CACHE + ":list";
}
......@@ -37,7 +37,15 @@ public class VehicleModel implements Serializable {
@Column(name = "config")
@ApiModelProperty(value = "房车配置,code逗号分割")
private String config;
@Column(name = "number")
@ApiModelProperty(value = "乘卧数")
private String number;
@Column(name = "brand")
@ApiModelProperty(value = "品牌")
private String brand;
//关键标签,code逗号分割
@Column(name = "keyword")
@ApiModelProperty(value = "关键标签,code逗号分割")
......
......@@ -69,6 +69,11 @@ public class VehiclePlatCata implements Serializable {
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
//是否多选
@Column(name = "isMore")
@ApiModelProperty(value = "多选 0:单选 1:多选" )
private Integer isMore;
}
package com.xxfc.platform.vehicle.pojo;
import lombok.Data;
import java.util.List;
@Data
public class Cascade <v> {
/**
* 一级标签
*/
v parent;
/**
* 二级子标签
*/
List<v> children;
public Cascade(v parent, List<v> children) {
this.parent=parent;
this.children=children;
}
public Cascade() {
}
}
......@@ -3,6 +3,8 @@ package com.xxfc.platform.vehicle.pojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 车型查询条件bean
* @author Administrator
......
package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -15,61 +16,64 @@ import java.util.Date;
/**
* 车型
*
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-25 14:50:08
*/
@Data
@Table(name = "vehicle_model")
public class VehicleModelVo implements Serializable {
public class VehicleModelVo extends VehicleModel implements Serializable {
private static final long serialVersionUID = 1L;
//主键
@Id
//主键
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键")
private Integer id;
private Integer id;
//名称
@Column(name = "name")
//名称
@Column(name = "name")
@ApiModelProperty(value = "名称")
private String name;
private String name;
//房车配置,code逗号分割
@Column(name = "config")
//房车配置,code逗号分割
@Column(name = "config")
@ApiModelProperty(value = "房车配置,code逗号分割")
private String config;
private String config;
@Column(name = "number")
@ApiModelProperty(value = "乘卧数")
private String number;
@Column(name = "brand")
@ApiModelProperty(value = "品牌")
private String brand;
//关键标签,code逗号分割
@Column(name = "keyword")
//关键标签,code逗号分割
@Column(name = "keyword")
@ApiModelProperty(value = "关键标签,code逗号分割")
private String keyword;
private String keyword;
//车型详情
//车型详情
@Column(name = "models_details")
@ApiModelProperty(value = "车型详情")
private String modelsDetails;
//参数
//参数
@Column(name = "model_param")
@ApiModelProperty(value = "参数")
private String modelParam;
//图片地址 多张为逗号分割
@Column(name = "picture")
//图片地址 多张为逗号分割
@Column(name = "picture")
@ApiModelProperty(value = "图片地址 多张为逗号分割")
private String picture;
private String picture;
//价格
@Column(name = "price")
@ApiModelProperty(value = "价格")
private BigDecimal price;
//会员价格
@Column(name = "vip_price")
@ApiModelProperty(value = "会员价格")
private BigDecimal vipPrice;
//总押金
@Column(name = "deposit")
......@@ -81,45 +85,45 @@ public class VehicleModelVo implements Serializable {
@ApiModelProperty(value = "违章押金")
private BigDecimal vioDeposit;
//创建时间
@Column(name = "crt_time")
//创建时间
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime;
private Date crtTime;
//创建者id
@Column(name = "crt_user")
//创建者id
@Column(name = "crt_user")
@ApiModelProperty(value = "创建者id")
private Integer crtUser;
private Integer crtUser;
//创建者名称
@Column(name = "crt_name")
//创建者名称
@Column(name = "crt_name")
@ApiModelProperty(value = "创建者名称")
private String crtName;
private String crtName;
//创建者host
@Column(name = "crt_host")
//创建者host
@Column(name = "crt_host")
@ApiModelProperty(value = "创建者host")
private String crtHost;
private String crtHost;
//修改时间
@Column(name = "upd_time")
//修改时间
@Column(name = "upd_time")
@ApiModelProperty(value = "修改时间", hidden = true )
private Date updTime;
private Date updTime;
//修改者
@Column(name = "upd_user")
//修改者
@Column(name = "upd_user")
@ApiModelProperty(value = "修改者")
private Integer updUser;
private Integer updUser;
//修改者名称
@Column(name = "upd_name")
//修改者名称
@Column(name = "upd_name")
@ApiModelProperty(value = "修改者名称")
private String updName;
private String updName;
//修改者host
@Column(name = "upd_host")
//修改者host
@Column(name = "upd_host")
@ApiModelProperty(value = "修改者host")
private String updHost;
private String updHost;
//评分
@Column(name = "score")
......@@ -130,9 +134,19 @@ public class VehicleModelVo implements Serializable {
@ApiModelProperty(value = "热度标记,1--热门;2--非热门")
private Integer hotSign;
@ApiModelProperty(value = "是否删除")
private Integer isdel;
@Column(name = "rent_discount_status")
@ApiModelProperty(value = "租车优惠状态 0--没有优惠;1--会员折扣;2--固定值")
private Integer rentDiscountStatus;
@Column(name = "rent_discount_price")
@ApiModelProperty(value = "租车优惠价格")
private BigDecimal RentDiscountPrice;
@Column(name = "buy_price")
@ApiModelProperty(value = "购买价格")
private BigDecimal buyPrice;
@ApiModelProperty(value = "总数量")
private Integer sum;
......
package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface VehiclePlatCataMapper extends Mapper<VehiclePlatCata> {
int addPlatCataList(@Param("vpclist") List<VehiclePlatCata> vpclist);
}
\ No newline at end of file
......@@ -3,14 +3,19 @@ package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleCataBiz;
import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.common.VehicleBaseController;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.pojo.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import sun.java2d.pipe.AATextRenderer;
import java.util.Arrays;
@RestController
@RequestMapping("/cata")
......@@ -51,12 +56,102 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
/**
* 根据父类id获取子标签
* @param parentId
* @return
*/
@GetMapping(value = "/add/fingCatasByParentId/{parentId}")
public ObjectRestResponse fingCatasByParentId(@PathVariable Integer parentId ){
return baseBiz.fingCatasByParentId(parentId);
}
/**
* 查询一个一级标签及其子标签
* @param id
* @return
*/
@GetMapping(value = "/add/findCascade/{id}")
public ObjectRestResponse findCascade(@PathVariable Integer id){
return baseBiz.findCascade(id);
}
/**
* 分页或不分页,获取一级标签及其子标签
* @param page 当前页
* @param limit 每页条数
* @param sort 分类 0-增加车型页面,1-标签管理页面
* @return
*/
@GetMapping(value = "/add/fingCatasByParentId/{page}/{limit}/{sort}")
public ObjectRestResponse getCascades(
@PathVariable Integer page
,@PathVariable Integer limit
,@PathVariable Integer sort){
return baseBiz.getCascades(page,limit,sort);
}
/**
* 级联添加
* @param cascade
* @return
*/
@PostMapping(value = "/add/addCascade/")
public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){
try {
return baseBiz.addCascade(cascade);
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
}
/**
* 修改和增加一二级标签
* @param cas
* @return
*/
@PostMapping("/add/updateAndAdd")
public ObjectRestResponse updateAndAdd(@RequestBody Cascade<VehiclePlatCata> cas){
return baseBiz.updateAndAdd(cas);
}
/**
* 修改标签排序
* @param id
* @param rank
* @return
*/
@PutMapping("/add/updateParentRank/{id}/{rank}")
public ObjectRestResponse updateParentRank(@PathVariable Integer id,@PathVariable Integer rank){
return baseBiz.updateParentRank(id,rank);
}
/**
* 查询当前车型拥有的标签
* @param ids
* @return
*/
@GetMapping("/add/getCatasByIds/{ids}")
public ObjectRestResponse getCatasByIds(@PathVariable String ids){
return baseBiz.getCatasByIds(ids);
}
/* @RequestMapping(value = "/{id}", method = RequestMethod.GET)
public RestResponse<Vehicle> get(@PathVariable String id) {
return RestResponse.data(baseBiz.get(id));
......
......@@ -11,16 +11,21 @@ import com.xxfc.platform.vehicle.biz.VehicleCataBiz;
import com.xxfc.platform.vehicle.biz.VehicleModelBiz;
import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.mapper.VehicleModelMapper;
import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition;
import com.xxfc.platform.vehicle.pojo.VModelDetailVO;
import com.xxfc.platform.vehicle.pojo.VehicleModelVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.bytebuddy.implementation.bytecode.Throw;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.jdbc.Null;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
......@@ -68,19 +73,18 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
}
/**
* 车型列表查
* 车型列表查
*
* @param vmqc 条件
* @return
*/
@ApiOperation("车型列表")
@PostMapping(value = "/app/findVehicleModelPage")
public ObjectRestResponse<VModelDetailVO> findVehicleModelPage(
public ObjectRestResponse<VehicleModelVo> findVehicleModelPage(
@RequestBody @ApiParam("查询条件") VehicleModelQueryCondition vmqc) {
if (vmqc == null || vmqc.getPage() == null || vmqc.getLimit() == null || vmqc.getPage() < 0 || vmqc.getLimit() <= 0) {
return ObjectRestResponse.createDefaultFail();
}
return vehicleModelBiz.findVehicleModelPage(vmqc);
}
......@@ -94,6 +98,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@ApiOperation("添加")
@PostMapping(value = "/app/add")
@ResponseBody
@Transactional
public ObjectRestResponse<VehicleModel> add(@RequestBody VehicleModel vm, HttpServletRequest request) {
if (vm == null) {
return ObjectRestResponse.createDefaultFail();
......@@ -107,7 +112,12 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
if (StringUtils.isBlank(token)) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "请登录");
}
ObjectRestResponse<UserDTO> uorr = userFeign.userinfoByToken(token);
ObjectRestResponse<UserDTO> uorr = null;
try {
uorr = userFeign.userinfoByToken(token);
} catch (Exception e) {
e.printStackTrace();
}
if (uorr == null || uorr.getData() == null || StringUtils.isBlank(uorr.getData().getName()) || uorr.getData().getId() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息");
......@@ -145,18 +155,25 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.succ();
} catch (NumberFormatException e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
return ObjectRestResponse.createDefaultFail();
}
@ApiOperation("修改")
@PutMapping(value = "/app/update")
@ResponseBody
@Transactional
public ObjectRestResponse<VehicleModel> update(@RequestBody VehicleModel vm, HttpServletRequest request) {
String token = request.getHeader("Authorization");
ObjectRestResponse<UserDTO> uorr = userFeign.userinfoByToken(token);
ObjectRestResponse<UserDTO> uorr = null;
try {
uorr = userFeign.userinfoByToken(token);
} catch (Exception e) {
e.printStackTrace();
}
if (uorr == null || uorr.getData() == null || StringUtils.isBlank(uorr.getData().getName()) || uorr.getData().getId() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "获取不到用户信息");
......@@ -193,10 +210,27 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.succ();
} catch (NumberFormatException e) {
e.printStackTrace();
}
throw new BaseException(ResultCode.FAILED_CODE);
return ObjectRestResponse.createDefaultFail();
}
}
@Override
@ApiOperation("删除")
@DeleteMapping(value = "/app/{id}")
@ResponseBody
@Transactional
public ObjectRestResponse<VehicleModel> remove(@PathVariable int id){
try {
vehicleModelBiz.deleteById(id);
VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setVehicleModelId(id);
vehicleCataBiz.delete(vehicleCata);
return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
}
}
\ 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.VehiclePlatCataMapper">
<insert id="addPlatCataList" parameterType="java.util.List">
insert into vehicle_plat_cata (
parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,isMore
) VALUES
<foreach collection ="vpclist" item="vpc" index="index" separator =",">
(#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict}
,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime}
,#{vpc.updTime},#{vpc.isMore})
</foreach>
</insert>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment