Commit 767f5cac authored by jiaorz's avatar jiaorz

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

# Conflicts:
#	xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
parents 8252d27d 38baf36c
...@@ -15,7 +15,7 @@ spring: ...@@ -15,7 +15,7 @@ spring:
config: config:
server-addr: 127.0.0.1:8848 server-addr: 127.0.0.1:8848
#共用配置,暂定一个 #共用配置,暂定一个
shared-dataids: common-dev.yaml #shared-dataids: common-dev.yaml
--- ---
spring: spring:
profiles: pro profiles: pro
......
...@@ -109,4 +109,5 @@ public abstract class BaseBiz<M extends Mapper<T>, T> { ...@@ -109,4 +109,5 @@ public abstract class BaseBiz<M extends Mapper<T>, T> {
} }
} }
...@@ -14,7 +14,7 @@ import lombok.Data; ...@@ -14,7 +14,7 @@ import lombok.Data;
@Data @Data
public class UserMemberDTO { public class UserMemberDTO {
public static final int ISBIND_BIND = 1;
/** /**
* 用户id * 用户id
......
...@@ -53,7 +53,7 @@ public interface UserFeign { ...@@ -53,7 +53,7 @@ public interface UserFeign {
* @return * @return
*/ */
@RequestMapping(value = "/member/app/unauth/level/{type}", method = RequestMethod.GET) @RequestMapping(value = "/member/app/unauth/level/{type}", method = RequestMethod.GET)
public BaseUserMemberLevel level(@PathVariable Integer type); public BaseUserMemberLevel level(@PathVariable(value = "type") Integer type);
/** /**
* 批量获取用户基本信息 * 批量获取用户基本信息
......
...@@ -22,8 +22,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; ...@@ -22,8 +22,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableCircuitBreaker @EnableCircuitBreaker
@SpringBootApplication @SpringBootApplication
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign","com.xxfc.platform","com.github.wxiaoqi.security.admin.feign"}) //@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign","com.xxfc.platform","com.github.wxiaoqi.security.admin.feign"})
//@EnableFeignClients({"com.github.wxiaoqi.security","com.xxfc.platform"}) @EnableFeignClients({"com.github.wxiaoqi.security","com.xxfc.platform"})
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableAceCache @EnableAceCache
......
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.dto.AppUserCollectDTO; import com.github.wxiaoqi.security.admin.dto.AppUserCollectDTO;
...@@ -30,9 +31,19 @@ public class AppUserCollectBiz extends BaseBiz<AppUserCollectMapper, AppUserColl ...@@ -30,9 +31,19 @@ public class AppUserCollectBiz extends BaseBiz<AppUserCollectMapper, AppUserColl
//新增收藏 //新增收藏
public ObjectRestResponse addUserCollect(AppUserCollectDTO collectDTO)throws Exception{ public ObjectRestResponse addUserCollect(AppUserCollectDTO collectDTO)throws Exception{
if(collectDTO==null){ Integer typeId=collectDTO.getTypeId();
Integer type=collectDTO.getType();
if(collectDTO==null||typeId==null||type==null){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空"); return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空");
} }
Example example = new Example(AppUserCollect.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId",collectDTO.getUserId()).andEqualTo("typeId",typeId)
.andEqualTo("type",type).andEqualTo("isDel",0);
int count=selectCountByExample(example);
if (count>0){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "已收藏!");
}
AppUserCollect collect=new AppUserCollect(); AppUserCollect collect=new AppUserCollect();
BeanUtils.copyProperties(collect,collectDTO); BeanUtils.copyProperties(collect,collectDTO);
insertSelective(collect); insertSelective(collect);
...@@ -50,19 +61,28 @@ public class AppUserCollectBiz extends BaseBiz<AppUserCollectMapper, AppUserColl ...@@ -50,19 +61,28 @@ public class AppUserCollectBiz extends BaseBiz<AppUserCollectMapper, AppUserColl
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
//查看是否收藏 //查看是否收藏
public ObjectRestResponse checkUserCollect(Integer id,Integer userId){ public ObjectRestResponse checkUserCollect(Integer id,Integer userId,Integer type){
Example example = new Example(AppUserCollect.class); Example example = new Example(AppUserCollect.class);
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId",userId).andEqualTo("typeId",id).andEqualTo("isDel",0); criteria.andEqualTo("userId",userId).andEqualTo("typeId",id).
int count=selectCountByExample(example); andEqualTo("type",type).andEqualTo("isDel",0).andEqualTo("status",0);
boolean falg=count>0?false:true; int count=0;
return ObjectRestResponse.succ(falg); Integer collect_id=0;
List<AppUserCollect> list=selectByExample(example);
if(list.size()>0){
count=1;
collect_id= list.get(0).getId();
}
JSONObject obj=new JSONObject();
obj.put("status",count);
obj.put("id",collect_id);
return ObjectRestResponse.succ(obj);
} }
//我的收藏 //我的收藏
public ObjectRestResponse getCollectList(Integer userId,int page,int limit){ public ObjectRestResponse getCollectList(Integer userId,int page,int limit){
Example example = new Example(AppUserCollect.class); Example example = new Example(AppUserCollect.class);
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId",userId).andEqualTo("isDel",0); criteria.andEqualTo("userId",userId).andEqualTo("isDel",0).andEqualTo("status",0);
example.setOrderByClause("`id` desc"); example.setOrderByClause("`id` desc");
List<AppUserCollect> list=selectByExample(example); List<AppUserCollect> list=selectByExample(example);
PageHelper.startPage(page,limit); PageHelper.startPage(page,limit);
......
...@@ -81,15 +81,18 @@ public class AppUserCollectController extends CommonBaseController { ...@@ -81,15 +81,18 @@ public class AppUserCollectController extends CommonBaseController {
return collectBiz.addUserCollect(collectDTO); return collectBiz.addUserCollect(collectDTO);
} }
@RequestMapping(value = "/collect/{id}",method = RequestMethod.GET) @RequestMapping(value = "/collect",method = RequestMethod.GET)
@ApiModelProperty("查看是否收藏") @ApiModelProperty("查看是否收藏")
public ObjectRestResponse<AppUser> get(@PathVariable Integer id)throws Exception{ public ObjectRestResponse<AppUser> get(
@RequestParam(value = "id",defaultValue = "0")Integer id,
@RequestParam(value = "type",defaultValue = "0")Integer type
)throws Exception{
String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId(); String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId();
if (username == null) { if (username == null) {
throw new Exception(); throw new Exception();
} }
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
return collectBiz.checkUserCollect(userid,id); return collectBiz.checkUserCollect(id,userid,type);
} }
/** /**
* 取消收藏 * 取消收藏
...@@ -103,5 +106,4 @@ public class AppUserCollectController extends CommonBaseController { ...@@ -103,5 +106,4 @@ public class AppUserCollectController extends CommonBaseController {
return collectBiz.upUserCollect(collectDTO); return collectBiz.upUserCollect(collectDTO);
} }
} }
...@@ -17,7 +17,7 @@ spring: ...@@ -17,7 +17,7 @@ spring:
config: config:
server-addr: 127.0.0.1:8848 server-addr: 127.0.0.1:8848
#共用配置,暂定一个 #共用配置,暂定一个
shared-dataids: common-dev.yaml #shared-dataids: common-dev.yaml
--- ---
spring: spring:
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
<module>xx-tour</module> <module>xx-tour</module>
<module>xx-im</module> <module>xx-im</module>
<module>xx-campsite</module> <module>xx-campsite</module>
<module>xx-activity</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>
<developers> <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>
<groupId>com.xxfc.platform</groupId>
<modules>
<module>xx-activity-api</module>
<module>xx-activity-server</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-activity</artifactId>
<packaging>pom</packaging>
</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>
<groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-activity-api</artifactId>
<dependencies>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-admin-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.xxfc.platform.activity.constant;
/**
* 优惠卷用处
*/
public enum CouponUsed{
SHOP(10, "店铺优惠券"),
SHOPNEW(11,"新人店铺券"),
GOOD(20,"商品优惠券"),
CATA(30, "类目优惠券"),
ALL(60, "平台优惠券"),
ALLNEW(61, "新人平台券");
Integer code;
String msg;
CouponUsed(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.xxfc.platform.activity.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;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 优惠券表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-21 14:34:49
*/
@Data
@Table(name = "coupon")
public class Coupon implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 优惠券标题(有图片则显示图片):无门槛50元优惠券 | 单品最高减2000元
*/
@Column(name = "title")
@ApiModelProperty(value = "优惠券标题(有图片则显示图片):无门槛50元优惠券 | 单品最高减2000元")
private String title;
/**
* 图片
*/
@Column(name = "icon")
@ApiModelProperty(value = "图片")
private String icon;
/**
* 可用于:10店铺优惠券 11新人店铺券 20商品优惠券 30类目优惠券 60平台优惠券 61新人平台券
*/
@Column(name = "used")
@ApiModelProperty(value = "可用于:10店铺优惠券 11新人店铺券 20商品优惠券 30类目优惠券 60平台优惠券 61新人平台券")
private Integer used;
/**
* 0-全平台;1-租车;2-旅游;3-营地
*/
@Column(name = "channel")
@ApiModelProperty(value = "0-全平台;1-租车;2-旅游;3-营地")
private Integer channel;
/**
* 0-普通用户;1-会员用户
*/
@Column(name = "user_type")
@ApiModelProperty(value = "0-普通用户;1-会员用户")
private Integer userType;
/**
* 1满减券 2叠加满减券 3无门槛券(需要限制大小)
*/
@Column(name = "type")
@ApiModelProperty(value = "1满减券 2叠加满减券 3无门槛券(需要限制大小)")
private Integer type;
/**
* 1可用于特价商品 2不能 默认不能(商品优惠卷除外)
*/
@Column(name = "with_special")
@ApiModelProperty(value = "1可用于特价商品 2不能 默认不能(商品优惠卷除外)")
private Integer withSpecial;
/**
* 店铺或商品流水号
*/
@Column(name = "with_sn")
@ApiModelProperty(value = "店铺或商品流水号")
private String withSn;
/**
* 满多少金额
*/
@Column(name = "with_amount")
@ApiModelProperty(value = "满多少金额")
private BigDecimal withAmount;
/**
* 用券抵扣金额
*/
@Column(name = "used_amount")
@ApiModelProperty(value = "用券抵扣金额")
private BigDecimal usedAmount;
/**
* 配额:发券数量
*/
@Column(name = "quota")
@ApiModelProperty(value = "配额:发券数量")
private Integer quota;
/**
* 每人限领次数
*/
@Column(name = "limit_collar")
@ApiModelProperty(value = "每人限领次数")
private Integer limitCollar;
/**
* 已领取的优惠券数量
*/
@Column(name = "take_count")
@ApiModelProperty(value = "已领取的优惠券数量")
private Integer takeCount;
/**
* 已使用的优惠券数量
*/
@Column(name = "used_count")
@ApiModelProperty(value = "已使用的优惠券数量")
private Integer usedCount;
/**
* 发放开始时间
*/
@Column(name = "start_time")
@ApiModelProperty(value = "发放开始时间")
private Long startTime;
/**
* 发放结束时间
*/
@Column(name = "end_time")
@ApiModelProperty(value = "发放结束时间")
private Long endTime;
/**
* 时效:1绝对时效(领取后XXX-XXX时间段有效) 2相对时效(领取后N天有效)
*/
@Column(name = "valid_type")
@ApiModelProperty(value = "时效:1绝对时效(领取后XXX-XXX时间段有效) 2相对时效(领取后N天有效)")
private Integer validType;
/**
* 使用开始时间
*/
@Column(name = "valid_start_time")
@ApiModelProperty(value = "使用开始时间")
private Long validStartTime;
/**
* 使用结束时间
*/
@Column(name = "valid_end_time")
@ApiModelProperty(value = "使用结束时间")
private Long validEndTime;
/**
* 自领取之日起有效天数
*/
@Column(name = "valid_days")
@ApiModelProperty(value = "自领取之日起有效天数")
private Integer validDays;
/**
* 1生效 2失效 3已结束
*/
@Column(name = "status")
@ApiModelProperty(value = "1生效 2失效 3已结束")
private Integer status;
/**
* 跳转链接
*/
@Column(name = "url")
@ApiModelProperty(value = "跳转链接")
private String url;
/**
* 创建人
*/
@Column(name = "crt_user")
@ApiModelProperty(value = "创建人")
private Integer crtUser;
/**
* 创建人名称
*/
@Column(name = "crt_name")
@ApiModelProperty(value = "创建人名称")
private String crtName;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_user")
@ApiModelProperty(value = "更新时间")
private Integer updUser;
/**
* 更新人名称
*/
@Column(name = "upd_name")
@ApiModelProperty(value = "更新人名称")
private String updName;
/**
* 创建时间
*/
@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.activity.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;
import java.io.Serializable;
/**
* 我的优惠卷
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-21 14:34:49
*/
@Data
@Table(name = "user_coupon")
public class UserCoupon implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 优惠卡券id
*/
@Column(name = "coupon_id")
@ApiModelProperty(value = "优惠卡券id")
private Integer couponId;
/**
* 用户id
*/
@Column(name = "user_id")
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 券号
*/
@Column(name = "ticker_no")
@ApiModelProperty(value = "券号")
private String tickerNo;
/**
* 0-未使用;1-已使用
*/
@Column(name = "is_use")
@ApiModelProperty(value = "0-未使用;1-已使用")
private Integer isUse;
/**
* 使用订单号
*/
@Column(name = "order_no")
@ApiModelProperty(value = "使用订单号")
private String orderNo;
/**
* 领卷时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "领卷时间", hidden = true )
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 使用时间
*/
@Column(name = "use_time")
@ApiModelProperty(value = "使用时间")
private Long useTime;
}
<?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>
<groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-activity-server</artifactId>
<dependencies>
<!-- 自己项目 -->
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-activity-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 此插件用来生成通用mapper的代码 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>
${basedir}/src/main/resources/builder/generatorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.xxfc.platform.activity;
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 org.springframework.scheduling.annotation.EnableScheduling;
import tk.mybatis.spring.annotation.MapperScan;
/**
* @author libin
* @version 1.0
* @description 活动
* @data 2019/6/14 11:19
*/
@SpringBootApplication(scanBasePackages = {
"com.xxfc.platform",
"com.github.wxiaoqi",
})
@EnableDiscoveryClient
@EnableScheduling
@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.activity.mapper")
public class ActivityApplication {
public static void main(String[] args) {
SpringApplication.run(ActivityApplication.class, args);
}
}
package com.xxfc.platform.activity.biz;
import com.xxfc.platform.activity.constant.CouponUsed;
import com.xxfc.platform.activity.entity.Coupon;
import org.springframework.stereotype.Service;
import com.xxfc.platform.activity.mapper.CouponMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
/**
* 优惠券表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-21 14:34:49
*/
@Service
public class CouponBiz extends BaseBiz<CouponMapper, Coupon> {
//获取优惠卷
public Coupon getCouponByUsed(Integer used){
Example example=new Example(Coupon.class);
example.createCriteria().andEqualTo("used",used )
.andEqualTo("status",1).andEqualTo("isDel",0);
List<Coupon> list=selectByExample(example);
if (list.size()>0){
return list.get(0);
}
return null;
}
}
\ No newline at end of file
package com.xxfc.platform.activity.biz;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.process.SystemConfig;
import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.activity.entity.UserCoupon;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xxfc.platform.activity.mapper.UserCouponMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
/**
* 我的优惠卷
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-21 14:34:49
*/
@Service
@Slf4j
public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
@Autowired
private CouponBiz couponBiz;
//自动发送优惠卷
public ObjectRestResponse authledCoupon(Integer userId){
if (userId==null||userId==0){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
Coupon coupon=couponBiz.getCouponByUsed(userId);
if (coupon==null){
log.error(userId+"----无可领取优惠卷");
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"无可领取优惠卷");
}
Integer couponId=coupon.getId();
Example example=new Example(UserCoupon.class);
example.createCriteria().andEqualTo("userId",userId).andEqualTo("couponId",couponId);
return ObjectRestResponse.succ();
}
}
\ No newline at end of file
package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.entity.Coupon;
import tk.mybatis.mapper.common.Mapper;
/**
* 优惠券表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-21 14:34:49
*/
public interface CouponMapper extends Mapper<Coupon> {
}
package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.entity.UserCoupon;
import tk.mybatis.mapper.common.Mapper;
/**
* 我的优惠卷
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-21 14:34:49
*/
public interface UserCouponMapper extends Mapper<UserCoupon> {
}
package com.xxfc.platform.activity.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.activity.biz.CouponBiz;
import com.xxfc.platform.activity.entity.Coupon;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("coupon")
public class CouponController extends BaseController<CouponBiz, Coupon> {
}
\ No newline at end of file
package com.xxfc.platform.activity.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.activity.biz.UserCouponBiz;
import com.xxfc.platform.activity.entity.UserCoupon;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("userCoupon")
public class UserCouponController extends BaseController<UserCouponBiz, UserCoupon> {
}
\ No newline at end of file
#spring:
# application:
# name: vehicle
# cloud:
# nacos:
# config:
# server-addr: 127.0.0.1:8848
# file-extension: yaml
# profiles:
# active: dev
spring:
profiles:
active: dev
application:
name: xx-activity
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
<?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/vehicle?useUnicode=true&amp;characterEncoding=UTF8"
userId="root"
password="xx2019fc">
</jdbcConnection>
<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
<sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
<javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}"
type="XMLMAPPER"/>
<!-- <table tableName="vehicle" domainObjectName="Vehicle">-->
<!-- </table>-->
<!-- <table tableName="vehicle_book_info" domainObjectName="VehicleBookInfo">-->
<!-- </table>-->
<!-- <table tableName="vehicle_book_record" domainObjectName="VehicleBookRecord">-->
<!-- </table>-->
<!-- <table tableName="branch_company" domainObjectName="BranchCompany">-->
<!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<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.activity.mapper.CouponMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.activity.entity.Coupon" id="couponMap">
<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="icon" column="icon"/>
<result property="used" column="used"/>
<result property="channel" column="channel"/>
<result property="userType" column="user_type"/>
<result property="type" column="type"/>
<result property="withSpecial" column="with_special"/>
<result property="withSn" column="with_sn"/>
<result property="withAmount" column="with_amount"/>
<result property="usedAmount" column="used_amount"/>
<result property="quota" column="quota"/>
<result property="limitCollar" column="limit_collar"/>
<result property="takeCount" column="take_count"/>
<result property="usedCount" column="used_count"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="validType" column="valid_type"/>
<result property="validStartTime" column="valid_start_time"/>
<result property="validEndTime" column="valid_end_time"/>
<result property="validDays" column="valid_days"/>
<result property="status" column="status"/>
<result property="url" column="url"/>
<result property="crtUser" column="crt_user"/>
<result property="crtName" column="crt_name"/>
<result property="crtTime" column="crt_time"/>
<result property="updUser" column="upd_user"/>
<result property="updName" column="upd_name"/>
<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.activity.mapper.UserCouponMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.activity.entity.UserCoupon" id="userCouponMap">
<result property="id" column="id"/>
<result property="couponId" column="coupon_id"/>
<result property="userId" column="user_id"/>
<result property="tickerNo" column="ticker_no"/>
<result property="isUse" column="is_use"/>
<result property="orderNo" column="order_no"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="useTime" column="use_time"/>
</resultMap>
</mapper>
\ No newline at end of file
...@@ -66,4 +66,6 @@ public class CampsiteTagDTO implements Serializable { ...@@ -66,4 +66,6 @@ public class CampsiteTagDTO implements Serializable {
@ApiModelProperty(value = "是否删除:0-正常;1-删除") @ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel; private Integer isDel;
@ApiModelProperty(value = "标签底图")
private String tagUrl;
} }
...@@ -24,12 +24,6 @@ public class CampsiteTagVo implements Serializable { ...@@ -24,12 +24,6 @@ public class CampsiteTagVo implements Serializable {
@ApiModelProperty("主键id") @ApiModelProperty("主键id")
private Integer id; private Integer id;
/**
* 父id
*/
@ApiModelProperty(value = "父id")
private Integer parentId;
/** /**
* 名称 * 名称
*/ */
...@@ -54,16 +48,7 @@ public class CampsiteTagVo implements Serializable { ...@@ -54,16 +48,7 @@ public class CampsiteTagVo implements Serializable {
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Long ctrTime; private Long ctrTime;
/** @ApiModelProperty(value = "标签底图")
* 更新时间 private String tagUrl;
*/
@ApiModelProperty(value = "更新时间", hidden = true)
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel;
} }
...@@ -194,6 +194,24 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> { ...@@ -194,6 +194,24 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
return effectRows; return effectRows;
} }
/**
* 逻辑删除
* @param id
* @return
*/
public int updateCampsiteSatus(int id) {
return mapper.updateCampsiteStatus(id,1);
}
/**
* 上下架
* @param id
* @param status
* @return
*/
public int updateCampsiteSaleStatus(Integer id, Integer status) {
return mapper.updateCampsiteSaleStatus(id,status);
}
/** /**
* 根据经纬度,计算两点间的距离 * 根据经纬度,计算两点间的距离
* *
...@@ -222,5 +240,4 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> { ...@@ -222,5 +240,4 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
return s; return s;
} }
} }
\ No newline at end of file
package com.xxfc.platform.campsite.biz; package com.xxfc.platform.campsite.biz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.dto.CampsiteTagListDTO; import com.xxfc.platform.campsite.dto.CampsiteTagListDTO;
import com.xxfc.platform.campsite.vo.CampsiteTagListVo; import com.xxfc.platform.campsite.vo.CampsiteTagListVo;
import com.xxfc.platform.campsite.vo.CampsiteTagVo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -12,6 +13,7 @@ import com.xxfc.platform.campsite.entity.CampsiteTag; ...@@ -12,6 +13,7 @@ import com.xxfc.platform.campsite.entity.CampsiteTag;
import com.xxfc.platform.campsite.mapper.CampsiteTagMapper; import com.xxfc.platform.campsite.mapper.CampsiteTagMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.Comparator;
import java.util.List; import java.util.List;
/** /**
...@@ -45,4 +47,21 @@ public class CampsiteTagBiz extends BaseBiz<CampsiteTagMapper,CampsiteTag> { ...@@ -45,4 +47,21 @@ public class CampsiteTagBiz extends BaseBiz<CampsiteTagMapper,CampsiteTag> {
public int updateCampsiteTagStatus(Integer tagId) { public int updateCampsiteTagStatus(Integer tagId) {
return mapper.updateCampsiteTagStatus(tagId,1); return mapper.updateCampsiteTagStatus(tagId,1);
} }
/**
* 分页查询
* @param page
* @param limit
* @return
*/
public PageDataVO<CampsiteTagVo> findCampsiteTagsPage(Integer page, Integer limit) {
PageDataVO<CampsiteTagVo> tagVoPageDataVO = new PageDataVO<>();
PageDataVO<CampsiteTag> pageDataVO = PageDataVO.pageInfo(page, limit, () -> mapper.finCampsiteTagsAll());
List<CampsiteTag> campsiteTags = pageDataVO.getData();
if (CollectionUtils.isEmpty(campsiteTags)){
return tagVoPageDataVO;
}
tagVoPageDataVO = JSONObject.parseObject(JSONObject.toJSONString(pageDataVO),new TypeReference<PageDataVO<CampsiteTagVo>>(){});
return tagVoPageDataVO;
}
} }
\ No newline at end of file
...@@ -39,4 +39,20 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> { ...@@ -39,4 +39,20 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
* @return * @return
*/ */
List<CampsiteShopAdminPageDTO> findCampsiteShops(CampsiteShopAdminFindDTO campsiteShopAdminFindDTO); List<CampsiteShopAdminPageDTO> findCampsiteShops(CampsiteShopAdminFindDTO campsiteShopAdminFindDTO);
/**
* 更新店铺的状态
* @param id
* @param status
* @return
*/
int updateCampsiteStatus(@Param("id") int id,@Param("status") int status);
/**
* 更新店铺的上下架状态
* @param id
* @param status
* @return
*/
int updateCampsiteSaleStatus(@Param("id") Integer id, @Param("status") Integer status);
} }
package com.xxfc.platform.campsite.mapper; package com.xxfc.platform.campsite.mapper;
import com.xxfc.platform.campsite.dto.CampsiteTagDTO;
import com.xxfc.platform.campsite.dto.CampsiteTagListDTO; import com.xxfc.platform.campsite.dto.CampsiteTagListDTO;
import com.xxfc.platform.campsite.entity.CampsiteTag; import com.xxfc.platform.campsite.entity.CampsiteTag;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -32,4 +33,7 @@ public interface CampsiteTagMapper extends Mapper<CampsiteTag> { ...@@ -32,4 +33,7 @@ public interface CampsiteTagMapper extends Mapper<CampsiteTag> {
*/ */
@Update("update `campsite_tag` set `is_del`=#{status} where `id`=#{tagId}") @Update("update `campsite_tag` set `is_del`=#{status} where `id`=#{tagId}")
int updateCampsiteTagStatus(@Param("tagId") Integer tagId, @Param("status") int status); int updateCampsiteTagStatus(@Param("tagId") Integer tagId, @Param("status") int status);
List<CampsiteTagDTO> finCampsiteTagsAll();
} }
...@@ -23,7 +23,7 @@ import java.util.List; ...@@ -23,7 +23,7 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("campsiteTag") @RequestMapping("campsiteTag")
@Api(tags = "营地类型") @Api(tags = "App营地类型")
public class CampsiteTagController extends BaseController<CampsiteTagBiz,CampsiteTag> { public class CampsiteTagController extends BaseController<CampsiteTagBiz,CampsiteTag> {
/** /**
...@@ -37,18 +37,4 @@ public class CampsiteTagController extends BaseController<CampsiteTagBiz,Campsit ...@@ -37,18 +37,4 @@ public class CampsiteTagController extends BaseController<CampsiteTagBiz,Campsit
List<CampsiteTagListVo> campsiteTagListVolist = getBaseBiz().findCampsiteTags(); List<CampsiteTagListVo> campsiteTagListVolist = getBaseBiz().findCampsiteTags();
return ObjectRestResponse.succ(campsiteTagListVolist); return ObjectRestResponse.succ(campsiteTagListVolist);
} }
/**
* 根据id逻辑删除
* @param id
* @return
*/
@Override
public ObjectRestResponse<CampsiteTag> remove(@PathVariable("id") int id) {
int effectRows = getBaseBiz().updateCampsiteTagStatus(id);
if (effectRows>0){
ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
} }
\ No newline at end of file
...@@ -49,4 +49,33 @@ public class CampsiteShopAdminController extends BaseController<CampsiteShopBiz, ...@@ -49,4 +49,33 @@ public class CampsiteShopAdminController extends BaseController<CampsiteShopBiz,
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
/**
* 营地逻辑删除
* @param id
* @return
*/
@Override
public ObjectRestResponse<CampsiteShop> remove(@PathVariable(value = "id") int id) {
int effectRows = getBaseBiz().updateCampsiteSatus(id);
if (effectRows>0){
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
/**
* 营地上下架
* @param id
* @param status
* @return
*/
@ApiOperation("营地上下架")
@PutMapping("/saleStatus")
public ObjectRestResponse<Void> updateSaleStatus(@RequestParam("id") Integer id,@RequestParam("status") Integer status){
int effectRows = getBaseBiz().updateCampsiteSaleStatus(id,status);
if (effectRows>0){
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
} }
\ No newline at end of file
package com.xxfc.platform.campsite.rest.admin; package com.xxfc.platform.campsite.rest.admin;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.biz.CampsiteTagBiz; import com.xxfc.platform.campsite.biz.CampsiteTagBiz;
import com.xxfc.platform.campsite.entity.CampsiteTag; import com.xxfc.platform.campsite.entity.CampsiteTag;
import com.xxfc.platform.campsite.vo.CampsiteTagListVo; import com.xxfc.platform.campsite.vo.CampsiteTagVo;
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.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* @author libin * @author libin
...@@ -23,7 +19,28 @@ import java.util.List; ...@@ -23,7 +19,28 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("/admin/campsiteTag") @RequestMapping("/admin/campsiteTag")
@Api(tags = "营地类型") @Api(tags = "后台*营地类型")
public class CampsiteTagAdminController extends BaseController<CampsiteTagBiz,CampsiteTag> { public class CampsiteTagAdminController extends BaseController<CampsiteTagBiz,CampsiteTag> {
/**
* 根据id逻辑删除
* @param id
* @return
*/
@Override
public ObjectRestResponse<CampsiteTag> remove(@PathVariable("id") int id) {
int effectRows = getBaseBiz().updateCampsiteTagStatus(id);
if (effectRows>0){
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createDefaultFail();
}
@ApiOperation("营地类型的分页")
@GetMapping("/pages")
public ObjectRestResponse<CampsiteTagVo> pages(@RequestParam("page") Integer page,@RequestParam("limit") Integer limit){
PageDataVO<CampsiteTagVo> tagVoPageDataVO = getBaseBiz().findCampsiteTagsPage(page,limit);
return ObjectRestResponse.succ(tagVoPageDataVO);
}
} }
\ No newline at end of file
...@@ -40,8 +40,9 @@ ...@@ -40,8 +40,9 @@
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
<if test="typeId!=null"> <if test="typeId!=null">
WHERE cst.tag_id=#{typeId} and cst.tag_id=#{typeId}
</if> </if>
</select> </select>
...@@ -53,18 +54,18 @@ ...@@ -53,18 +54,18 @@
<select id="findCampsiteShops" parameterType="com.xxfc.platform.campsite.dto.CampsiteShopAdminFindDTO" resultType="com.xxfc.platform.campsite.dto.CampsiteShopAdminPageDTO"> <select id="findCampsiteShops" parameterType="com.xxfc.platform.campsite.dto.CampsiteShopAdminFindDTO" resultType="com.xxfc.platform.campsite.dto.CampsiteShopAdminPageDTO">
SELECT `id`,`name`,`hot`,`crt_time` as `crtTime`,`sale_state` as SELECT `id`,`name`,`hot`,`crt_time` as `crtTime`,`sale_state` as
`saleState` FROM `campsite_shop` `saleState` FROM `campsite_shop`
<where> where `is_del`=0
<if test="startTime != null || endTime!=null"> <if test="startTime != null || endTime!=null">
<choose> <choose>
<when test="startTime!=null and endTime!=null"> <when test="startTime!=null and endTime!=null">
crt_time between #{startTime} and #{endTime} and crt_time between #{startTime} and #{endTime}
</when> </when>
<otherwise> <otherwise>
<if test="startTime!=null"> <if test="startTime!=null">
crt_time=#{startTime} and crt_time=#{startTime}
</if> </if>
<if test="endTime != null"> <if test="endTime != null">
crt_time=#{endTime} and crt_time=#{endTime}
</if> </if>
</otherwise> </otherwise>
</choose> </choose>
...@@ -72,7 +73,13 @@ ...@@ -72,7 +73,13 @@
<if test="name != null and name != ''"> <if test="name != null and name != ''">
and `name` like concat('%',#{name},'%') and `name` like concat('%',#{name},'%')
</if> </if>
</where>
</select> </select>
<update id="updateCampsiteStatus">
update `campsite_shop` set `is_del`=#{status} where `id`=#{id}
</update>
<update id="updateCampsiteSaleStatus">
update `campsite_shop` set `sale_state`=#{status} where `id`=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -13,9 +13,26 @@ ...@@ -13,9 +13,26 @@
<result property="crtTime" column="crt_time"/> <result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/> <result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/> <result property="isDel" column="is_del"/>
<result property="tagUrl" column="tag_url"/>
</resultMap>
<resultMap type="com.xxfc.platform.campsite.dto.CampsiteTagDTO" id="campsiteTagDTOMap">
<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="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
<result property="tagUrl" column="tag_url"/>
</resultMap> </resultMap>
<select id="findCampsiteTags" resultType="com.xxfc.platform.campsite.dto.CampsiteTagListDTO"> <select id="findCampsiteTags" resultType="com.xxfc.platform.campsite.dto.CampsiteTagListDTO">
select `id`,`name` from `campsite_tag` where `is_del`=0; select `id`,`name` from `campsite_tag` where `is_del`=0 and `is_search`=1;
</select>
<select id="finCampsiteTagsAll" resultMap="campsiteTagDTOMap">
select * from `campsite_tag` where `is_del`=0
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -68,6 +68,11 @@ public class OrderMemberDetail implements Serializable { ...@@ -68,6 +68,11 @@ public class OrderMemberDetail implements Serializable {
@Column(name = "rebate") @Column(name = "rebate")
@ApiModelProperty(value = "折扣比例 80即 八折") @ApiModelProperty(value = "折扣比例 80即 八折")
private Integer rebate; private Integer rebate;
/**
* 会员等级
*/
@Column(name = "member_level")
@ApiModelProperty(value = "会员等级")
private Integer memberLevel;
} }
...@@ -286,6 +286,12 @@ public class OrderRentVehicleDetail implements Serializable { ...@@ -286,6 +286,12 @@ public class OrderRentVehicleDetail implements Serializable {
@Column(name = "return_pay_residue") @Column(name = "return_pay_residue")
@ApiModelProperty(value = "剩余需要退还的钱(押金)") @ApiModelProperty(value = "剩余需要退还的钱(押金)")
private BigDecimal returnPayResidue; private BigDecimal returnPayResidue;
/**
* 预定记录id
*/
@Column(name = "book_record_id")
@ApiModelProperty(value = "预定记录id")
private Long bookRecordId;
} }
...@@ -17,5 +17,4 @@ import java.util.List; ...@@ -17,5 +17,4 @@ import java.util.List;
public class MemberBO extends OrderMemberDetail implements OrderDetail { public class MemberBO extends OrderMemberDetail implements OrderDetail {
private BaseOrder order; private BaseOrder order;
private BaseUserMemberLevel baseUserMemberLevel; private BaseUserMemberLevel baseUserMemberLevel;
private Integer levelNum;
} }
...@@ -2,19 +2,22 @@ package com.xxfc.platform.order.biz; ...@@ -2,19 +2,22 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum; import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.entity.OrderRefund;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.mapper.BaseOrderMapper; import com.xxfc.platform.order.mapper.BaseOrderMapper;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.universal.vo.OrderRefundVo; import com.xxfc.platform.universal.vo.OrderRefundVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -35,8 +38,15 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR ...@@ -35,8 +38,15 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR
* @date 2019-05-15 21:30:33 * @date 2019-05-15 21:30:33
*/ */
@Service @Service
@Slf4j
public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
@Autowired
OrderMemberDetailBiz orderMemberDetailBiz;
@Autowired
OrderTourDetailBiz orderTourDetailBiz;
@Autowired @Autowired
OrderRentVehicleBiz orderRentVehicleBiz; OrderRentVehicleBiz orderRentVehicleBiz;
...@@ -46,6 +56,12 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -46,6 +56,12 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
@Autowired @Autowired
ThirdFeign thirdFeign; ThirdFeign thirdFeign;
@Autowired
TourFeign tourFeign;
@Autowired
UserFeign userFeign;
public List<OrderPageVO> pageByParm(Map<String, Object> paramMap){ public List<OrderPageVO> pageByParm(Map<String, Object> paramMap){
return mapper.pageByParm(paramMap); return mapper.pageByParm(paramMap);
} }
...@@ -60,9 +76,14 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -60,9 +76,14 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
cancelAble = new HashMap<Integer, List<Integer>>(); cancelAble = new HashMap<Integer, List<Integer>>();
cancelAble.put(OrderTypeEnum.RentVehicle.getCode(), new LinkedList<Integer>(){{ cancelAble.put(OrderTypeEnum.RentVehicle.getCode(), new LinkedList<Integer>(){{
add(OrderStatusEnum.ORDER_UNPAY.getCode()); add(OrderStatusEnum.ORDER_UNPAY.getCode());
add(OrderStatusEnum.ORDER_TOSTART.getCode());
}}); }});
cancelAble.put(OrderTypeEnum.TOUR.getCode(), new LinkedList<Integer>(){{ cancelAble.put(OrderTypeEnum.TOUR.getCode(), new LinkedList<Integer>(){{
add(OrderStatusEnum.ORDER_UNPAY.getCode()); add(OrderStatusEnum.ORDER_UNPAY.getCode());
add(OrderStatusEnum.ORDER_TOSTART.getCode());
}});
cancelAble.put(OrderTypeEnum.MEMBER.getCode(), new LinkedList<Integer>(){{
add(OrderStatusEnum.ORDER_UNPAY.getCode());
}}); }});
} }
...@@ -114,8 +135,66 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -114,8 +135,66 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
} }
} }
//处理取消流程
if(OrderTypeEnum.RentVehicle.getCode().equals(baseOrder.getType())) {
//取消租车预定
}else if(OrderTypeEnum.TOUR.getCode().equals(baseOrder.getType())) {
OrderTourDetail otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
setOrderId(baseOrder.getId());
}});
//增加库存
tourFeign.stock(otd.getSpePriceId(), otd.getTotalNumber(), TourFeign.STOCK_PLUS);
}
}else { }else {
throw new BaseException(ResultCode.FAILED_CODE); throw new BaseException(ResultCode.FAILED_CODE);
} }
} }
public void payNotifyHandle(String orderNo, String tradeNo) {
BaseOrder baseOrder = this.selectOne(new BaseOrder() {{
setNo(orderNo);
}});
if (OrderStatusEnum.ORDER_UNPAY.getCode().equals(baseOrder.getStatus()) && baseOrder.getHasPay().equals(SYS_FALSE)) {
BaseOrder updateOrder = new BaseOrder() {{
setNo(orderNo);
setOutTradeNo(tradeNo);
setHasPay(SYS_TRUE);
setPayTime(System.currentTimeMillis());
}};
//如果是会员订单,则触发会员效益
if(OrderTypeEnum.MEMBER.getCode().equals(baseOrder.getType())) {
//直接设置订单完成
updateOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
OrderMemberDetail omd = orderMemberDetailBiz.selectOne(new OrderMemberDetail(){{
setOrderId(baseOrder.getId());
}});
try {
userFeign.buyMember(new UserMemberDTO() {{
setUserId(baseOrder.getUserId());
setDiscount(omd.getRebate());
setIsBind(ISBIND_BIND);
setMemberLevel(omd.getMemberLevel());
setRentFreeDays(omd.getRentFreeNum());
}});
}catch (Exception e){
log.error(e.getMessage(), e);
}
}else if(OrderTypeEnum.RentVehicle.getCode().equals(baseOrder.getType())) {
updateOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
//车辆预定审核通过
}else if(OrderTypeEnum.TOUR.getCode().equals(baseOrder.getType())) {
updateOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
//暂无处理
}
this.updateSelectiveById(updateOrder);
} else {
log.error(" order has payed , orderNo:{}, tradeNo:{} ", orderNo, tradeNo);
}
}
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.xxfc.platform.order.rest; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
...@@ -19,8 +20,11 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -19,8 +20,11 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam; import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.pojo.order.CancelOrderDTO; import com.xxfc.platform.order.pojo.order.CancelOrderDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.pay.RentVehicleOrderPayVO; import com.xxfc.platform.order.pojo.pay.RentVehicleOrderPayVO;
...@@ -47,6 +51,7 @@ import java.util.Date; ...@@ -47,6 +51,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
@Controller @Controller
...@@ -64,6 +69,10 @@ public class BaseOrderController extends CommonBaseController { ...@@ -64,6 +69,10 @@ public class BaseOrderController extends CommonBaseController {
UserFeign userFeign; UserFeign userFeign;
@Resource @Resource
VehicleFeign vehicleFeign; VehicleFeign vehicleFeign;
@Autowired
OrderMemberDetailBiz orderMemberDetailBiz;
@Value("${gateway.host}") @Value("${gateway.host}")
String host; String host;
@Value("${gateway.order}") @Value("${gateway.order}")
...@@ -285,6 +294,7 @@ public class BaseOrderController extends CommonBaseController { ...@@ -285,6 +294,7 @@ public class BaseOrderController extends CommonBaseController {
}}); }});
if (null == dbBaseOrder || !BaseContextHandler.getUserID().equals(dbBaseOrder.getUserId().toString())) { if (null == dbBaseOrder || !BaseContextHandler.getUserID().equals(dbBaseOrder.getUserId().toString())) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
dbBaseOrder.setCancelReason(cancelOrderDto.getCancelReason()); dbBaseOrder.setCancelReason(cancelOrderDto.getCancelReason());
baseOrderBiz.cancel(dbBaseOrder); baseOrderBiz.cancel(dbBaseOrder);
...@@ -299,32 +309,11 @@ public class BaseOrderController extends CommonBaseController { ...@@ -299,32 +309,11 @@ public class BaseOrderController extends CommonBaseController {
public ObjectRestResponse notifyUrl(NotifyUrlDTO dto) { public ObjectRestResponse notifyUrl(NotifyUrlDTO dto) {
//判断是否成功,并且订单是未支付状态,则添加支付编号和修改状态 //判断是否成功,并且订单是未支付状态,则添加支付编号和修改状态
if (StrUtil.isNotBlank(dto.getOrderNo())) { if (StrUtil.isNotBlank(dto.getOrderNo())) {
BaseOrder baseOrder = baseOrderBiz.selectOne(new BaseOrder() {{ baseOrderBiz.payNotifyHandle(dto.getOrderNo(), dto.getTradeNo());
setNo(dto.getOrderNo());
}});
if (OrderStatusEnum.ORDER_UNPAY.getCode().equals(baseOrder.getStatus())) {
baseOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
baseOrder.setOutTradeNo(dto.getTradeNo());
baseOrderBiz.updateById(baseOrder);
} else {
if (OrderStatusEnum.ORDER_UNPAY.getCode().equals(baseOrder.getStatus())) {
BaseOrder updateOrder = new BaseOrder() {{
setNo(dto.getOrderNo());
setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
setOutTradeNo(dto.getTradeNo());
setHasPay(SYS_TRUE);
setPayTime(System.currentTimeMillis());
}};
baseOrderBiz.updateSelectiveById(updateOrder);
} else {
log.error(" exception notifyUrl : " + JSONUtil.toJsonStr(dto));
}
}
}else{ }else{
log.error(" exception notifyUrl : " + JSONUtil.toJsonStr(dto)); log.error(" exception notifyUrl : " + JSONUtil.toJsonStr(dto));
} }
return new ObjectRestResponse().rel(true); return ObjectRestResponse.succ();
} }
/** /**
* 订单查询类 * 订单查询类
......
...@@ -83,7 +83,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -83,7 +83,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
@Override @Override
public void initDetail(MemberBO bo) { public void initDetail(MemberBO bo) {
super.initDetail(bo); super.initDetail(bo);
BaseUserMemberLevel buml = userFeign.level(bo.getLevelNum()); BaseUserMemberLevel buml = userFeign.level(bo.getMemberLevel());
bo.setBaseUserMemberLevel(buml); bo.setBaseUserMemberLevel(buml);
bo.setRentFreeNum(buml.getNumber()); bo.setRentFreeNum(buml.getNumber());
bo.setRebate(buml.getDiscount()); bo.setRebate(buml.getDiscount());
......
...@@ -15,6 +15,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; ...@@ -15,6 +15,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderTemplate; import com.xxfc.platform.order.entity.OrderTemplate;
import com.xxfc.platform.order.pojo.order.RentVehicleBO; import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO; import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO; import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO;
...@@ -223,7 +224,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -223,7 +224,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//根据车型、时间、距离,门店,预定车辆 //根据车型、时间、距离,门店,预定车辆
RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class); RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class);
rentVehicleBookDTO.setUserName(BaseContextHandler.getName()); rentVehicleBookDTO.setUserName(BaseContextHandler.getName());
ObjectRestResponse<String> orr = vehicleFeign.rentApplyVehicle(rentVehicleBookDTO); ObjectRestResponse<VehicleBookRecord> orr = vehicleFeign.rentApplyVehicle(rentVehicleBookDTO);
detail.setVehicleId(orr.getData()); detail.setVehicleId(orr.getData().getVehicleId());
detail.setBookRecordId(orr.getData().getId());
} }
} }
...@@ -120,7 +120,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -120,7 +120,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
}})).getData().get(0).getId()); }})).getData().get(0).getId());
//扣減庫存 //扣減庫存
tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber()); tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber(), TourFeign.STOCK_SUBTRACT);
super.handleDetail(bo); super.handleDetail(bo);
} }
......
...@@ -26,6 +26,8 @@ import java.util.Map; ...@@ -26,6 +26,8 @@ import java.util.Map;
*/ */
@FeignClient(value = "xx-tour") @FeignClient(value = "xx-tour")
public interface TourFeign { public interface TourFeign {
public static final int STOCK_SUBTRACT = 1;
public static final int STOCK_PLUS = 2;
/** /**
* 计算价格 * 计算价格
...@@ -35,6 +37,13 @@ public interface TourFeign { ...@@ -35,6 +37,13 @@ public interface TourFeign {
@RequestMapping(value = "/spe/user/prices", method = RequestMethod.POST) @RequestMapping(value = "/spe/user/prices", method = RequestMethod.POST)
public ObjectRestResponse<TourSpePriceVo> refund(@RequestBody TourSpePriceDTO spePriceDto); public ObjectRestResponse<TourSpePriceVo> refund(@RequestBody TourSpePriceDTO spePriceDto);
/**
*
* @param speId
* @param number
* @param type 1--减库存,2--加库存
* @return
*/
@RequestMapping(value = "/spe/stock", method = RequestMethod.GET) @RequestMapping(value = "/spe/stock", method = RequestMethod.GET)
public ObjectRestResponse<TourSpePriceVo> stock(@RequestParam Integer speId, @RequestParam Integer number, @RequestParam Integer type); public ObjectRestResponse<TourSpePriceVo> stock(@RequestParam Integer speId, @RequestParam Integer number, @RequestParam Integer type);
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>xx-tour-api</artifactId> <artifactId>xx-tour-api</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>
......
...@@ -138,6 +138,12 @@ public class Vehicle { ...@@ -138,6 +138,12 @@ public class Vehicle {
/** /**
* 车型id * 车型id
*/ */
@Column(name = "model_id")
private Integer modelId; private Integer modelId;
/**
* 车辆当前出行状态: 1-出行中 2-预约中 3-空闲中 4-保养中
*/
@Column(name = "travel_status")
private Integer travelStatus;
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.feign; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.feign;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO; import com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO;
...@@ -33,7 +34,7 @@ public interface VehicleFeign { ...@@ -33,7 +34,7 @@ public interface VehicleFeign {
public RestResponse addScore(@RequestParam(value="id")Integer id, @RequestParam(value="score")Integer score); public RestResponse addScore(@RequestParam(value="id")Integer id, @RequestParam(value="score")Integer score);
@RequestMapping(value = "/vehicleInfo/rent/book/vehicle", method = RequestMethod.POST) @RequestMapping(value = "/vehicleInfo/rent/book/vehicle", method = RequestMethod.POST)
public ObjectRestResponse<String> rentApplyVehicle(@RequestBody RentVehicleBookDTO rentVehicleBookDTO); public ObjectRestResponse<VehicleBookRecord> rentApplyVehicle(@RequestBody RentVehicleBookDTO rentVehicleBookDTO);
@RequestMapping(value ="/branchCompany/app/unauth/detail/{id}",method = RequestMethod.GET) @RequestMapping(value ="/branchCompany/app/unauth/detail/{id}",method = RequestMethod.GET)
public ObjectRestResponse<CompanyDetail> getCompanyDetail(@PathVariable Integer id); public ObjectRestResponse<CompanyDetail> getCompanyDetail(@PathVariable Integer id);
......
...@@ -122,4 +122,13 @@ public class AddOrUpdateVehicleVo { ...@@ -122,4 +122,13 @@ public class AddOrUpdateVehicleVo {
* 生产商 * 生产商
*/ */
private Date receiveTime; private Date receiveTime;
/**
* 车型
*/
private Integer modeLId;
/**
* 车辆状态
*/
private Integer travelStatus;
} }
\ No newline at end of file
...@@ -115,6 +115,13 @@ public class VehiclePageQueryVo { ...@@ -115,6 +115,13 @@ public class VehiclePageQueryVo {
*/ */
private Integer haveViolation; private Integer haveViolation;
/**
* 所属大区
*/
private Integer zoneId;
// public Integer getMileageRangeStart() { // public Integer getMileageRangeStart() {
// return mileageRangeStart; // return mileageRangeStart;
// } // }
......
...@@ -15,7 +15,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; ...@@ -15,7 +15,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.github.wxiaoqi.security.admin.feign","com.xxfc.platform.vehicle.feign"}) @EnableFeignClients({"com.github.wxiaoqi.security","com.xxfc.platform.vehicle.feign"})
@EnableAceCache @EnableAceCache
@tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.vehicle.mapper") @tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.vehicle.mapper")
public class VehicleApplication { public class VehicleApplication {
......
...@@ -212,6 +212,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -212,6 +212,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
example.createCriteria().andIn("zoneId", zoneIds); example.createCriteria().andIn("zoneId", zoneIds);
List<BranchCompany> zoneCompanys = selectByExample(example); List<BranchCompany> zoneCompanys = selectByExample(example);
return zoneCompanys; return zoneCompanys;
} }
public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request){ public RestResponse<String> importExcel(MultipartFile multipartfile, HttpServletRequest request){
try { try {
......
...@@ -286,7 +286,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -286,7 +286,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @return * @return
*/ */
@Transactional @Transactional
public void applyVehicle4Employee(Integer userId, BookVehicleVO bookVehicleVo, String userName) throws Exception{ public VehicleBookRecord applyVehicle4Employee(Integer userId, BookVehicleVO bookVehicleVo, String userName) throws Exception{
//检查车辆信息是否合法 //检查车辆信息是否合法
checkIfVehicleExists(bookVehicleVo.getVehicleId()); checkIfVehicleExists(bookVehicleVo.getVehicleId());
//提取日期和相应的预定目标日期 //提取日期和相应的预定目标日期
...@@ -351,6 +351,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -351,6 +351,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
} }
bookRecordAccItemMapper.batchAdd(params); bookRecordAccItemMapper.batchAdd(params);
} }
return vehicleBookRecord;
} }
@Transactional @Transactional
...@@ -926,7 +928,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -926,7 +928,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
fillBookedDateSearchParam(params,yearMonthAndDate,yearMonthAndDateNotBooked); fillBookedDateSearchParam(params,yearMonthAndDate,yearMonthAndDateNotBooked);
} }
public PageDataVO<Vehicle> searchUsableVehicle(RentVehicleBookDTO dto){ public PageDataVO<Vehicle> searchUsableVehicle(RentVehicleBookDTO dto){
Map<String, Object> params = BeanUtil.beanToMap(dto); Map<String, Object> params = BeanUtil.beanToMap(dto);
List<String> notBookedDates = Lists.newArrayList(); List<String> notBookedDates = Lists.newArrayList();
if(StringUtils.isNotBlank(dto.getBookEndDate())&& if(StringUtils.isNotBlank(dto.getBookEndDate())&&
...@@ -1045,6 +1047,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -1045,6 +1047,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
.andEqualTo(Vehicle::getId,id) .andEqualTo(Vehicle::getId,id)
.andEqualTo(Vehicle::getStatus,0)) .andEqualTo(Vehicle::getStatus,0))
.build())); .build()));
} }
......
package com.xxfc.platform.vehicle.biz; package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -97,7 +98,7 @@ public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper, ...@@ -97,7 +98,7 @@ public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper,
List<VehicleDepartureLog> vehicleDepartureLogs = mapper.selectByExample(exm); List<VehicleDepartureLog> vehicleDepartureLogs = mapper.selectByExample(exm);
if (vehicleDepartureLogs.size() == 1) { if (vehicleDepartureLogs.size() == 1) {
VehicleDepartureLog vehicleDepartureLog = vehicleDepartureLogs.get(1); VehicleDepartureLog vehicleDepartureLog = vehicleDepartureLogs.get(0);
if (vehicleDepartureLog!=null) { if (vehicleDepartureLog!=null) {
return ObjectRestResponse.succ(vehicleDepartureLog); return ObjectRestResponse.succ(vehicleDepartureLog);
} }
......
...@@ -73,4 +73,9 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> { ...@@ -73,4 +73,9 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> {
public int updateScoreByModelIdAndavgScore(Integer modelId, int avgScore) { public int updateScoreByModelIdAndavgScore(Integer modelId, int avgScore) {
return mapper.updateScoreByModelIdAndavgScore(modelId,avgScore); return mapper.updateScoreByModelIdAndavgScore(modelId,avgScore);
} }
public void updateByPrimaryKeySelective(VehicleModel vm){
mapper.updateByPrimaryKeySelective(vm);
}
} }
\ No newline at end of file
...@@ -2,14 +2,20 @@ package com.xxfc.platform.vehicle.biz; ...@@ -2,14 +2,20 @@ package com.xxfc.platform.vehicle.biz;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem; import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepLog;
import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper; import com.xxfc.platform.vehicle.mapper.VehicleUpkeepItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleUpkeepLogMapper; import com.xxfc.platform.vehicle.mapper.VehicleUpkeepLogMapper;
import com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogItemVo; import com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogItemVo;
import com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogVo; import com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogVo;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.Transaction;
import java.lang.reflect.InvocationTargetException;
import java.util.List; import java.util.List;
@Service @Service
...@@ -21,6 +27,7 @@ public class VehicleUpkeepService { ...@@ -21,6 +27,7 @@ public class VehicleUpkeepService {
@Autowired @Autowired
VehicleUpkeepLogMapper vehicleUpkeepLogMapper; VehicleUpkeepLogMapper vehicleUpkeepLogMapper;
public List<VehicleUpkeepItem> getAllItem() { public List<VehicleUpkeepItem> getAllItem() {
return vehicleUpkeepItemMapper.selectAll(); return vehicleUpkeepItemMapper.selectAll();
} }
...@@ -39,7 +46,7 @@ public class VehicleUpkeepService { ...@@ -39,7 +46,7 @@ public class VehicleUpkeepService {
public void updateItem(VehicleUpkeepItem item) { public void updateItem(VehicleUpkeepItem item) {
vehicleUpkeepItemMapper.updateByPrimaryKey(item); vehicleUpkeepItemMapper.updateByPrimaryKey(item);
} }
@Transactional
public void deleteItem(Integer id) { public void deleteItem(Integer id) {
vehicleUpkeepItemMapper.deleteByPrimaryKey(id); vehicleUpkeepItemMapper.deleteByPrimaryKey(id);
} }
...@@ -56,8 +63,18 @@ public class VehicleUpkeepService { ...@@ -56,8 +63,18 @@ public class VehicleUpkeepService {
return vehicleUpkeepLogVo; return vehicleUpkeepLogVo;
} }
@Transactional(rollbackFor = Exception.class)
public void deleteLog(Integer id) { public void deleteLog(Integer id) {
vehicleUpkeepLogMapper.deleteByPrimaryKey(id); vehicleUpkeepLogMapper.deleteByPrimaryKey(id);
vehicleUpkeepLogMapper.deleteItemsByLogId(id); vehicleUpkeepLogMapper.deleteItemsByLogId(id);
} }
@Transactional(rollbackFor = Exception.class)
public void addLog(VehicleUpkeepLogVo vulvo) throws InvocationTargetException, IllegalAccessException {
VehicleUpkeepLog vul = new VehicleUpkeepLog();
BeanUtilsBean.getInstance().copyProperties(vul,vulvo);
vehicleUpkeepLogMapper.insertSelective(vul);
vehicleUpkeepLogMapper.insertUpkeepLogItmes(vulvo);
}
} }
...@@ -20,4 +20,6 @@ public interface VehicleUpkeepLogMapper extends Mapper<VehicleUpkeepLog> { ...@@ -20,4 +20,6 @@ public interface VehicleUpkeepLogMapper extends Mapper<VehicleUpkeepLog> {
int deleteItemsByLogId(Integer id); int deleteItemsByLogId(Integer id);
VehicleUpkeepLog selectLastByVehicleId(String vehicleId); VehicleUpkeepLog selectLastByVehicleId(String vehicleId);
void insertUpkeepLogItmes(VehicleUpkeepLogVo upkeepItems);
} }
\ No newline at end of file
...@@ -24,10 +24,7 @@ import com.xxfc.platform.vehicle.common.CustomIllegalParamException; ...@@ -24,10 +24,7 @@ import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.entity.VehicleBookInfo;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.entity.VehicleWarningMsg;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -291,7 +288,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -291,7 +288,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
@ApiOperation(value = "提车") @ApiOperation(value = "提车")
public RestResponse<Integer> liftVehicle(@RequestBody LiftVehicleVo liftVehicleVo) throws Exception { public RestResponse<Integer> liftVehicle(@RequestBody LiftVehicleVo liftVehicleVo) throws Exception {
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName ();
return vehicleBookRecordBiz.lift(operatorId, userName, liftVehicleVo); return vehicleBookRecordBiz.lift(operatorId, userName, liftVehicleVo);
} }
...@@ -440,4 +437,5 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -440,4 +437,5 @@ public class VehicleController extends BaseController<VehicleBiz> {
} }
} }
...@@ -48,6 +48,13 @@ public class VehicleDepartureController { ...@@ -48,6 +48,13 @@ public class VehicleDepartureController {
return RestResponse.suc(vehicleDepartureService.page(numberPlate, page, limit)); return RestResponse.suc(vehicleDepartureService.page(numberPlate, page, limit));
} }
/**
* 根据车辆id查询并分页
* @param vehicleId
* @param page
* @param limit
* @return
*/
@GetMapping("findByVehicle") @GetMapping("findByVehicle")
public RestResponse findByVehicle(String vehicleId, Integer page, Integer limit) { public RestResponse findByVehicle(String vehicleId, Integer page, Integer limit) {
if (vehicleId == null) { if (vehicleId == null) {
...@@ -71,7 +78,7 @@ public class VehicleDepartureController { ...@@ -71,7 +78,7 @@ public class VehicleDepartureController {
} }
/** /**
* 保存(出车) * 保存
* @param vehicleDepartureLog * @param vehicleDepartureLog
* @return * @return
*/ */
...@@ -80,6 +87,7 @@ public class VehicleDepartureController { ...@@ -80,6 +87,7 @@ public class VehicleDepartureController {
return vehicleDepartureService.save(vehicleDepartureLog); return vehicleDepartureService.save(vehicleDepartureLog);
} }
/** /**
* 查询一条 * 查询一条
* @param vid 车辆id * @param vid 车辆id
...@@ -91,6 +99,7 @@ public class VehicleDepartureController { ...@@ -91,6 +99,7 @@ public class VehicleDepartureController {
return vehicleDepartureService.findOne(vid); return vehicleDepartureService.findOne(vid);
} }
/** /**
* *
* 收车 * 收车
...@@ -104,4 +113,5 @@ public class VehicleDepartureController { ...@@ -104,4 +113,5 @@ public class VehicleDepartureController {
} }
} }
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.rest; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
...@@ -27,12 +28,15 @@ import org.apache.commons.lang.StringUtils; ...@@ -27,12 +28,15 @@ import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.TransactionManagementConfigurationSelector;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -54,6 +58,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -54,6 +58,9 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@Autowired @Autowired
private UserFeign userFeign; private UserFeign userFeign;
@Autowired
private UserAuthConfig userAuthConfig;
//修改评分 //修改评分
@RequestMapping(value = "/app/addScore", method = RequestMethod.GET) @RequestMapping(value = "/app/addScore", method = RequestMethod.GET)
...@@ -87,7 +94,17 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -87,7 +94,17 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@ApiOperation("车型列表") @ApiOperation("车型列表")
@PostMapping(value = "/app/findVehicleModelPage") @PostMapping(value = "/app/findVehicleModelPage")
public ObjectRestResponse<VehicleModelVo> findVehicleModelPage( public ObjectRestResponse<VehicleModelVo> findVehicleModelPage(
@RequestBody @ApiParam("查询条件") VehicleModelQueryCondition vmqc) { @RequestBody @ApiParam("查询条件") VehicleModelQueryCondition vmqc ,HttpServletRequest request) {
// UserDTO user = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
//
// if (user!=null) {
// if (user.getDataAll()==2) {
//
// }
// }
if (vmqc == null || vmqc.getPage() == null || vmqc.getLimit() == null || vmqc.getPage() < 0 || vmqc.getLimit() <= 0) { if (vmqc == null || vmqc.getPage() == null || vmqc.getLimit() == null || vmqc.getPage() < 0 || vmqc.getLimit() <= 0) {
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
...@@ -138,6 +155,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -138,6 +155,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
vm.setCrtTime(new Date()); vm.setCrtTime(new Date());
vm.setCrtHost(host); vm.setCrtHost(host);
vm.setIsdel(0); vm.setIsdel(0);
vm.setVioDeposit(BigDecimal.valueOf(500));
try { try {
//插入数据到车型并返回id //插入数据到车型并返回id
Integer vmId = vehicleModelBiz.insertAndGetId(vm); Integer vmId = vehicleModelBiz.insertAndGetId(vm);
...@@ -194,9 +212,10 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -194,9 +212,10 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
vm.setUpdHost(host); vm.setUpdHost(host);
vm.setUpdTime(new Date()); vm.setUpdTime(new Date());
try { try {
//修改车型 //修改车型
vehicleModelBiz.updateSelectiveById(vm); vehicleModelBiz.updateByPrimaryKeySelective(vm);
VehicleCata vcDelete = new VehicleCata(); VehicleCata vcDelete = new VehicleCata();
vcDelete.setVehicleModelId(vm.getId()); vcDelete.setVehicleModelId(vm.getId());
// 删除车型对应的标签 // 删除车型对应的标签
...@@ -209,6 +228,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -209,6 +228,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
VehicleCata vc = new VehicleCata(); VehicleCata vc = new VehicleCata();
vc.setCataId(Integer.parseInt(con)); vc.setCataId(Integer.parseInt(con));
vc.setVehicleModelId(vm.getId()); vc.setVehicleModelId(vm.getId());
vc.setCrtTime(System.currentTimeMillis());
vcs.add(vc); vcs.add(vc);
} }
vehicleCataBiz.inserts(vcs); vehicleCataBiz.inserts(vcs);
...@@ -216,6 +236,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -216,6 +236,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
e.printStackTrace(); e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
throw new BaseException(ResultCode.FAILED_CODE); throw new BaseException(ResultCode.FAILED_CODE);
} }
......
...@@ -4,9 +4,13 @@ import com.xxfc.platform.vehicle.biz.VehicleUpkeepService; ...@@ -4,9 +4,13 @@ import com.xxfc.platform.vehicle.biz.VehicleUpkeepService;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem; import com.xxfc.platform.vehicle.entity.VehicleUpkeepItem;
import com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogItemVo;
import com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.lang.reflect.InvocationTargetException;
@RestController @RestController
@RequestMapping("upkeep") @RequestMapping("upkeep")
public class VehicleUpkeepController { public class VehicleUpkeepController {
...@@ -15,11 +19,21 @@ public class VehicleUpkeepController { ...@@ -15,11 +19,21 @@ public class VehicleUpkeepController {
@Autowired @Autowired
private VehicleUpkeepService vehicleUpkeepService; private VehicleUpkeepService vehicleUpkeepService;
/**
* 查询所有保养项目
* @return
*/
@GetMapping("item/all") @GetMapping("item/all")
public RestResponse allItem() { public RestResponse allItem() {
return RestResponse.suc(vehicleUpkeepService.getAllItem()); return RestResponse.suc(vehicleUpkeepService.getAllItem());
} }
/**
* 分页查询所用保养项目
* @param page
* @param limit
* @return
*/
@GetMapping("item/page") @GetMapping("item/page")
public RestResponse pageItem(Integer page, Integer limit) { public RestResponse pageItem(Integer page, Integer limit) {
if (page == null || limit == null) { if (page == null || limit == null) {
...@@ -29,6 +43,11 @@ public class VehicleUpkeepController { ...@@ -29,6 +43,11 @@ public class VehicleUpkeepController {
return RestResponse.suc(vehicleUpkeepService.pageItem(page, limit)); return RestResponse.suc(vehicleUpkeepService.pageItem(page, limit));
} }
/**
* 添加保养项目
* @param name
* @return
*/
@PostMapping("item") @PostMapping("item")
public RestResponse addItem(String name) { public RestResponse addItem(String name) {
if (name == null || name.trim().equals("")) { if (name == null || name.trim().equals("")) {
...@@ -39,6 +58,11 @@ public class VehicleUpkeepController { ...@@ -39,6 +58,11 @@ public class VehicleUpkeepController {
return RestResponse.suc(); return RestResponse.suc();
} }
/**
* 修改项目
* @param item
* @return
*/
@PutMapping("item") @PutMapping("item")
public RestResponse editItem(VehicleUpkeepItem item) { public RestResponse editItem(VehicleUpkeepItem item) {
if (item == null || item.getId() == null || item.getName() == null || item.getName().trim().equals("")) { if (item == null || item.getId() == null || item.getName() == null || item.getName().trim().equals("")) {
...@@ -49,6 +73,11 @@ public class VehicleUpkeepController { ...@@ -49,6 +73,11 @@ public class VehicleUpkeepController {
return RestResponse.suc(); return RestResponse.suc();
} }
/**
* 删除保养项目
* @param id
* @return
*/
@DeleteMapping("item/{id}") @DeleteMapping("item/{id}")
public RestResponse delItem(@PathVariable("id") Integer id) { public RestResponse delItem(@PathVariable("id") Integer id) {
if (id == null) { if (id == null) {
...@@ -59,6 +88,13 @@ public class VehicleUpkeepController { ...@@ -59,6 +88,13 @@ public class VehicleUpkeepController {
return RestResponse.suc(); return RestResponse.suc();
} }
/**
* 分页查询保养记录
* @param numberPlate
* @param page
* @param limit
* @return
*/
@GetMapping("log/page") @GetMapping("log/page")
public RestResponse pageLog(String numberPlate, Integer page, Integer limit) { public RestResponse pageLog(String numberPlate, Integer page, Integer limit) {
if (page == null || limit == null) { if (page == null || limit == null) {
...@@ -68,6 +104,11 @@ public class VehicleUpkeepController { ...@@ -68,6 +104,11 @@ public class VehicleUpkeepController {
return RestResponse.suc(vehicleUpkeepService.pageLog(numberPlate, page, limit)); return RestResponse.suc(vehicleUpkeepService.pageLog(numberPlate, page, limit));
} }
/**
* 根据id查询一条保养记录(包含车牌、分公司名和保养项目)
* @param id
* @return
*/
@GetMapping("log/{id}") @GetMapping("log/{id}")
public RestResponse getLog(@PathVariable("id") Integer id) { public RestResponse getLog(@PathVariable("id") Integer id) {
if (id == null) { if (id == null) {
...@@ -77,6 +118,11 @@ public class VehicleUpkeepController { ...@@ -77,6 +118,11 @@ public class VehicleUpkeepController {
return RestResponse.suc(vehicleUpkeepService.getLogVoById(id)); return RestResponse.suc(vehicleUpkeepService.getLogVoById(id));
} }
/**
* 根据id删除一条保养记录
* @param id
* @return
*/
@DeleteMapping("log/{id}") @DeleteMapping("log/{id}")
public RestResponse delLog(@PathVariable("id") Integer id) { public RestResponse delLog(@PathVariable("id") Integer id) {
if (id == null) { if (id == null) {
...@@ -87,4 +133,23 @@ public class VehicleUpkeepController { ...@@ -87,4 +133,23 @@ public class VehicleUpkeepController {
return RestResponse.suc(); return RestResponse.suc();
} }
/**
* 添加一条保养记录
* @param vulvo
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@PostMapping("log/addLog")
public RestResponse addLog(VehicleUpkeepLogVo vulvo) throws InvocationTargetException, IllegalAccessException {
if (vulvo==null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
vehicleUpkeepService.addLog(vulvo);
return RestResponse.suc();
}
} }
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
(select vm.*,v.sum,v2.leasableQuantity from vehicle_model vm left JOIN (select vm.*,v.sum,v2.leasableQuantity from vehicle_model vm left JOIN
(select model_id as mid, count(1) as sum FROM vehicle GROUP BY mid) v (select model_id as mid, count(1) as sum FROM vehicle GROUP BY mid) v
on vm.id=v.mid left JOIN on vm.id=v.mid left JOIN
(select model_id as mid2, count(1) as leasableQuantity FROM vehicle where`status`=1 GROUP BY model_id) v2 (select model_id as mid2, count(1) as leasableQuantity FROM vehicle where`use_type`=1 GROUP BY model_id) v2
on v.mid=v2.mid2 ) vmqc WHERE 1=1 on v.mid=v2.mid2 ) vmqc WHERE 1=1
<if test="isDel !=null "> <if test="isDel !=null ">
......
...@@ -60,4 +60,14 @@ ...@@ -60,4 +60,14 @@
order by create_time desc order by create_time desc
limit 1 limit 1
</select> </select>
<insert id="insertUpkeepLogItmes" parameterType="com.xxfc.platform.vehicle.pojo.VehicleUpkeepLogVo">
insert into vehicle_upkeep_log_item(log_id, item_id)
values
<trim suffixOverrides=",">
<foreach collection="upkeepItems" item="item">
(#{id}, #{item.itemId}),
</foreach>
</trim>
</insert>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment