Commit fba230f1 authored by jiaorz's avatar jiaorz

新增车辆排班列表接口

parents 9a44ae1a b1250388
...@@ -32,7 +32,4 @@ public class AppUserDetail { ...@@ -32,7 +32,4 @@ public class AppUserDetail {
private Long updatetime; private Long updatetime;
private Integer isdel; private Integer isdel;
@Column(name = "rent_free_days")
private Integer rentFreeDays;
} }
...@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable { ...@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable {
/** /**
* 剩余天数 * 剩余天数
*/ */
@Column(name = "s_number") @Column(name = "rent_free_days")
@ApiModelProperty(value = "剩余天数") @ApiModelProperty(value = "剩余天数")
private Integer sNumber; private Integer rentFreeDays;
/** /**
* 有效期;0代表永久 * 有效期;0代表永久
......
...@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; ...@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
...@@ -22,6 +23,12 @@ import java.util.List; ...@@ -22,6 +23,12 @@ import java.util.List;
public interface UserFeign { public interface UserFeign {
@RequestMapping(value = "/public/userinfo-by-token") @RequestMapping(value = "/public/userinfo-by-token")
public ObjectRestResponse<UserDTO> userinfoByToken(@RequestParam("token") String token); public ObjectRestResponse<UserDTO> userinfoByToken(@RequestParam("token") String token);
/**
* token获取用户信息
* @param token
* @return
*/
@RequestMapping(value = "/public/app/userinfo-by-token") @RequestMapping(value = "/public/app/userinfo-by-token")
public ObjectRestResponse<AppUserDTO> userDetailByToken(@RequestParam("token") String token); public ObjectRestResponse<AppUserDTO> userDetailByToken(@RequestParam("token") String token);
...@@ -35,9 +42,26 @@ public interface UserFeign { ...@@ -35,9 +42,26 @@ public interface UserFeign {
public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId, public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId,
@RequestParam(value="idNumber")String idNumber, @RequestParam(value="idNumber")String idNumber,
@RequestParam(value="status")Integer status); @RequestParam(value="status")Integer status);
@RequestMapping(value = "/member/levels", method = RequestMethod.GET)
/**
* 获取会员等级列表
* @return
*/
@RequestMapping(value = "/member/app/unauth/levels", method = RequestMethod.GET)
public List<BaseUserMemberLevel> levels(); public List<BaseUserMemberLevel> levels();
/**
* 获取单个会员等级
* @return
*/
@RequestMapping(value = "/member/app/unauth/level/{type}", method = RequestMethod.GET)
public List<BaseUserMemberLevel> level(@PathVariable Integer type);
/**
* 批量获取用户基本信息
* @param ids
* @return
*/
@RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET) @RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET)
public ObjectRestResponse<List<AppUserVo>> getByUserIds(@RequestParam("ids")List<Integer> ids); public ObjectRestResponse<List<AppUserVo>> getByUserIds(@RequestParam("ids")List<Integer> ids);
} }
...@@ -26,6 +26,7 @@ public class AppUserDTO { ...@@ -26,6 +26,7 @@ public class AppUserDTO {
private String idNumber; private String idNumber;
private Integer certificationStatus; private Integer certificationStatus;
private Integer rentFreeDays; private Integer rentFreeDays;
private Integer totalNumber;
private Integer memberLevel; private Integer memberLevel;
private Integer memberNo; private Integer memberNo;
private Long cardLeave; private Long cardLeave;
......
...@@ -32,7 +32,6 @@ import java.lang.reflect.Parameter; ...@@ -32,7 +32,6 @@ import java.lang.reflect.Parameter;
*/ */
@Aspect @Aspect
@Component @Component
@ComponentScan("com.xxfc.platform")
@ConditionalOnClass(value = UserFeign.class) @ConditionalOnClass(value = UserFeign.class)
public class TokenAop { public class TokenAop {
......
package com.github.wxiaoqi.security.admin.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户会员
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 19:38:56
*/
@Data
public class UserMemberVo {
/**
* 主键id
*/
@ApiModelProperty("主键id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 会员编号
*/
@ApiModelProperty(value = "会员编号")
private String memberNo;
/**
* 会员等级
*/
@ApiModelProperty(value = "会员等级")
private Integer memberLevel;
/**
* 卡内余额
*/
@ApiModelProperty(value = "卡内余额")
private Integer cardLeave;
/**
* 0:未支付 1:绑定 2:解绑
*/
@ApiModelProperty(value = "0:未支付 1:绑定 2:解绑")
private Integer isBind;
/**
* 赠送总天数
*/
@ApiModelProperty(value = "赠送总天数")
private Integer totalNumber;
/**
* 剩余天数
*/
@ApiModelProperty(value = "剩余天数")
private Integer rentFreeDays;
/**
* 有效期;0代表永久
*/
@ApiModelProperty(value = "有效期;0代表永久")
private Long validTime;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 是否删除;0-正常;1-删除
*/
@ApiModelProperty(value = "是否删除;0-正常;1-删除")
private Integer isDel;
}
...@@ -21,7 +21,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; ...@@ -21,7 +21,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableCircuitBreaker @EnableCircuitBreaker
@SpringBootApplication @SpringBootApplication
@EnableFeignClients({"com.github.wxiaoqi.security","com.xxfc.platform"})
@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"})
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableAceCache @EnableAceCache
......
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 用户会员表 * 用户会员表
...@@ -14,5 +16,14 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -14,5 +16,14 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
* @date 2019-06-18 19:38:56 * @date 2019-06-18 19:38:56
*/ */
@Service @Service
@Transactional(rollbackFor = Exception.class)
public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMember> { public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMember> {
//获取用户会员信息
@Cache(key = "user:member{1}")
public UserMemberVo getMemberInfoByUserId(Integer userId){
return mapper.getInfoByUserId(userId);
}
} }
\ No newline at end of file
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.mapper.AppUserMapper;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_TRUE;
/** /**
* @author keliii * @author keliii
*/ */
@Service @Service
public class UserMemberBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> { public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> {
@Transactional @Transactional
@Cache(key="member")
public List<BaseUserMemberLevel> getLevesls() { public List<BaseUserMemberLevel> getLevesls() {
return mapper.selectAll(); Example example=new Example(BaseUserMemberLevel.class);
example.createCriteria().andEqualTo("isdel",0);
example.setOrderByClause(" level asc ");
return mapper.selectByExample(example);
} }
} }
package com.github.wxiaoqi.security.admin.mapper; package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
/** /**
...@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper;
*/ */
public interface BaseUserMemberMapper extends Mapper<BaseUserMember> { public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
//获取用户会员信息
public UserMemberVo getInfoByUserId(@Param("userId")Integer userId);
} }
...@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest; ...@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.biz.AppUserBiz; import com.github.wxiaoqi.security.admin.biz.AppUserBiz;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz;
import com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.AppUser; import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group; import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.User; import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserGroups; import com.github.wxiaoqi.security.admin.vo.AppUserGroups;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo; import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
...@@ -18,6 +21,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController; ...@@ -18,6 +21,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
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.*;
...@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController { ...@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController {
@Autowired @Autowired
AppUserDetailBiz userDetailBiz; AppUserDetailBiz userDetailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@GetMapping("page") @GetMapping("page")
public TableResultResponse list(@RequestParam Map<String, Object> params) { public TableResultResponse list(@RequestParam Map<String, Object> params) {
Query query = new Query(params); Query query = new Query(params);
...@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController { ...@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController {
* @throws Exception * @throws Exception
*/ */
@GetMapping("/info") @GetMapping("/info")
public ObjectRestResponse<AppUserVo> getUserInfo()throws Exception { public ObjectRestResponse<AppUserDTO> getUserInfo()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();
} }
AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
AppUserVo user = userDetailBiz.getUserInfoById(userid); AppUserVo userVo = userDetailBiz.getUserInfoById(userid);
if (user == null) { if (userVo == null) {
throw new Exception(); throw new Exception();
} }
return ObjectRestResponse.succ(user); BeanUtils.copyProperties(userDTO,userVo);
if(userVo.getIsMember()!=null&&userVo.getIsMember()>0){
//获取用户会员信息
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
}
}
return ObjectRestResponse.succ(userDTO);
} }
/** /**
...@@ -130,13 +146,5 @@ public class AppUserController extends CommonBaseController { ...@@ -130,13 +146,5 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@GetMapping("/findByUserId")
public ObjectRestResponse<AppUserDetail> findByUserId(Integer id) {
if(id == null || id < 0) {
return ObjectRestResponse.createFailedResult(500, "参数id为空");
}
AppUserDetail appUserDetail = userDetailBiz.getUserByUserid(id);
return ObjectRestResponse.succ(appUserDetail);
}
} }
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.UserMemberLevelBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.biz.UserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.User; import io.swagger.models.auth.In;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
...@@ -24,14 +16,30 @@ import java.util.List; ...@@ -24,14 +16,30 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("member") @RequestMapping("member")
public class MemberController { public class MemberLevelController {
@Autowired @Autowired
private UserMemberBiz memberBiz; private UserMemberLevelBiz memberBiz;
@RequestMapping(value = "/levels", method = RequestMethod.GET) @RequestMapping(value = "/app/unauth/levels", method = RequestMethod.GET)
public @ResponseBody public @ResponseBody
List<BaseUserMemberLevel> levels(String token) throws Exception { List<BaseUserMemberLevel> levels() throws Exception {
return memberBiz.getLevesls(); return memberBiz.getLevesls();
} }
@RequestMapping(value = "/app/unauth/level/{type}", method = RequestMethod.GET)
public @ResponseBody
BaseUserMemberLevel level(@PathVariable Integer type) throws Exception {
List<BaseUserMemberLevel> list=memberBiz.getLevesls();
if(type!=null){
if(list.size()>0){
for (BaseUserMemberLevel userMemberLevel:list){
if(userMemberLevel.getLevel()!=null&&userMemberLevel.getLevel()==type){
return userMemberLevel;
}
}
}
}
return null;
}
} }
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.biz.MenuBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group; import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.Menu; import com.github.wxiaoqi.security.admin.entity.Menu;
...@@ -13,6 +10,7 @@ import com.github.wxiaoqi.security.admin.rpc.service.PermissionService; ...@@ -13,6 +10,7 @@ import com.github.wxiaoqi.security.admin.rpc.service.PermissionService;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.FrontUser; import com.github.wxiaoqi.security.admin.vo.FrontUser;
import com.github.wxiaoqi.security.admin.vo.MenuTree; import com.github.wxiaoqi.security.admin.vo.MenuTree;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -45,11 +43,10 @@ public class PublicController { ...@@ -45,11 +43,10 @@ public class PublicController {
@Autowired @Autowired
private UserBiz userBiz; private UserBiz userBiz;
@Autowired
private AppUserLoginBiz userLoginBiz;
@Autowired @Autowired
private AppUserDetailBiz detailBiz; private AppUserDetailBiz detailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@Autowired @Autowired
private UserAuthUtil userAuthUtil; private UserAuthUtil userAuthUtil;
...@@ -77,12 +74,20 @@ public class PublicController { ...@@ -77,12 +74,20 @@ public class PublicController {
} }
AppUserDTO userDTO=new AppUserDTO(); AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
AppUserDetail user = detailBiz.getUserByUserid(userid); //获取用户基础信息
if (user == null) { AppUserVo userVo = detailBiz.getUserInfoById(userid);
if (userVo == null) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
BeanUtils.copyProperties(userDTO,user); BeanUtils.copyProperties(userDTO,userVo);
return new ObjectRestResponse<AppUserDetail>().rel(true).data(user); if(userVo.getIsMember()!=null&&userVo.getIsMember()>0){
//获取用户会员信息
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
}
}
return new ObjectRestResponse<AppUserDetail>().rel(true).data(userDTO);
} }
@GetMapping("/getByUserIds") @GetMapping("/getByUserIds")
......
...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz; ...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.biz.ElementBiz; import com.github.wxiaoqi.security.admin.biz.ElementBiz;
import com.github.wxiaoqi.security.admin.constant.RedisKey; import com.github.wxiaoqi.security.admin.constant.RedisKey;
import com.github.wxiaoqi.security.admin.entity.*; import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo; import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
import com.github.wxiaoqi.security.api.vo.user.AppUserInfo; import com.github.wxiaoqi.security.api.vo.user.AppUserInfo;
import com.github.wxiaoqi.security.common.msg.BaseResponse; import com.github.wxiaoqi.security.common.msg.BaseResponse;
...@@ -258,13 +259,13 @@ public class AppPermissionService { ...@@ -258,13 +259,13 @@ public class AppPermissionService {
if (userLoign != null) { if (userLoign != null) {
data.put("nickname", nickname); data.put("nickname", nickname);
data.put("headerurl", headimgurl); data.put("headerurl", headimgurl);
AppUserDetail appUserDetail = appUserDetailBiz.getUserByUserid(userid); AppUserVo userVo = appUserDetailBiz.getUserInfoById(userid);
if (appUserDetail != null) { if (userVo != null) {
if (StringUtils.isNotBlank(appUserDetail.getNickname())) { if (StringUtils.isNotBlank(userVo.getNickname())) {
data.put("nickname", appUserDetail.getNickname()); data.put("nickname", userVo.getNickname());
} }
if (StringUtils.isNotBlank(appUserDetail.getHeadimgurl())) { if (StringUtils.isNotBlank(userVo.getHeadimgurl())) {
data.put("headerurl", appUserDetail.getHeadimgurl()); data.put("headerurl", userVo.getHeadimgurl());
} }
} }
// 缓存操作 // 缓存操作
...@@ -336,9 +337,9 @@ public class AppPermissionService { ...@@ -336,9 +337,9 @@ public class AppPermissionService {
} }
userLogin.setUpdatetime(now); userLogin.setUpdatetime(now);
appUserLoginBiz.updateSelectiveById(userLogin); appUserLoginBiz.updateSelectiveById(userLogin);
AppUserDetail userDetail = appUserDetailBiz.getUserByUserid(userid); AppUserVo userVo = appUserDetailBiz.getUserInfoById(userid);
if (userDetail == null) { AppUserDetail userDetail = new AppUserDetail();
userDetail = new AppUserDetail(); if (userVo == null) {
userDetail.setUserid(userid); userDetail.setUserid(userid);
userDetail.setHeadimgurl(headimgurl); userDetail.setHeadimgurl(headimgurl);
userDetail.setNickname(nickname); userDetail.setNickname(nickname);
...@@ -346,11 +347,12 @@ public class AppPermissionService { ...@@ -346,11 +347,12 @@ public class AppPermissionService {
userDetail.setUpdatetime(now); userDetail.setUpdatetime(now);
userDetail.setIsdel(0); userDetail.setIsdel(0);
appUserDetailBiz.insertSelective(userDetail); appUserDetailBiz.insertSelective(userDetail);
} else { } /*else {
userDetail.setId(userVo.getId());
userDetail.setHeadimgurl(headimgurl); userDetail.setHeadimgurl(headimgurl);
userDetail.setNickname(nickname); userDetail.setNickname(nickname);
appUserDetailBiz.updateSelectiveById(userDetail); appUserDetailBiz.updateSelectiveById(userDetail);
} }*/
// 登录结果要做做统一处理 // 登录结果要做做统一处理
JSONObject data = autoLogin(userid, username, headimgurl, nickname); JSONObject data = autoLogin(userid, username, headimgurl, nickname);
// 到im注册,获取返回结果 // 到im注册,获取返回结果
...@@ -432,12 +434,12 @@ public class AppPermissionService { ...@@ -432,12 +434,12 @@ public class AppPermissionService {
return JsonResultUtil.createFailedResult(ResultCode.EXIST_CODE, "用户已被禁用"); return JsonResultUtil.createFailedResult(ResultCode.EXIST_CODE, "用户已被禁用");
} }
Integer userid = userLogin.getId(); Integer userid = userLogin.getId();
AppUserDetail userDetail = appUserDetailBiz.getUserByUserid(userid); AppUserVo userVo = appUserDetailBiz.getUserInfoById(userid);
String headimgurl = ""; String headimgurl = "";
String nickname = ""; String nickname = "";
if (userDetail != null) { if (userVo != null) {
headimgurl = userDetail.getHeadimgurl(); headimgurl = userVo.getHeadimgurl();
nickname = userDetail.getNickname(); nickname = userVo.getNickname();
} }
JSONObject data = autoLogin(userid, userLogin.getUsername(), headimgurl, nickname); JSONObject data = autoLogin(userid, userLogin.getUsername(), headimgurl, nickname);
// 到im注册,获取返回结果 // 到im注册,获取返回结果
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<resultMap id="AppUserVoMap" type="com.github.wxiaoqi.security.admin.vo.AppUserVo"> <resultMap id="AppUserVoMap" type="com.github.wxiaoqi.security.admin.vo.AppUserVo">
<result column="id" property="id" /> <result column="id" property="id" />
<result column="userid" property="userid" /> <result column="userid" property="userid" />
<result column="im_userid" property="imUserid" />
<result column="username" property="username" /> <result column="username" property="username" />
<result column="wx_openid" property="wxOpenid" /> <result column="wx_openid" property="wxOpenid" />
<result column="unionid" property="unionid" /> <result column="unionid" property="unionid" />
...@@ -11,11 +12,10 @@ ...@@ -11,11 +12,10 @@
<result column="status" property="status" /> <result column="status" property="status" />
<result column="id_number" property="idNumber" /> <result column="id_number" property="idNumber" />
<result column="certification_status" property="certificationStatus" /> <result column="certification_status" property="certificationStatus" />
<result column="isMember" property="is_member" /> <result column="is_member" property="isMember" />
<result column="nickname" property="nickname" /> <result column="nickname" property="nickname" />
<result column="realname" property="realname" /> <result column="realname" property="realname" />
<result column="headimgurl" property="headimgurl" /> <result column="headimgurl" property="headimgurl" />
<result column="isMember" property="is_member" />
<result column="birthday" property="birthday" /> <result column="birthday" property="birthday" />
<result column="email" property="email" /> <result column="email" property="email" />
<result column="sex" property="sex" /> <result column="sex" property="sex" />
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<!-- 获取用户信息 --> <!-- 获取用户信息 -->
<select id="getUserInfo" resultMap="AppUserVoMap"> <select id="getUserInfo" resultMap="AppUserVoMap">
select * from app_user_login l select l.im_userid,l.username,l.wx_openid,l.unionid,l.openid,l.status,l.id_number,l.certification_status,d.* from app_user_login l
left join app_user_detail d left join app_user_detail d
on d.userid = l.id where d.userid = #{userId} limit 1 on d.userid = l.id where d.userid = #{userId} limit 1
</select> </select>
......
<?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.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.github.wxiaoqi.security.admin.vo.UserMemberVo" id="baseUserMemberMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="memberNo" column="member_no"/>
<result property="memberLevel" column="member_level"/>
<result property="cardLeave" column="card_leave"/>
<result property="isBind" column="is_bind"/>
<result property="totalNumber" column="total_number"/>
<result property="rentFreeDays" column="rent_free_days"/>
<result property="validTime" column="valid_time"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
<select id="getInfoByUserId" resultMap="baseUserMemberMap">
select * from base_user_member where user_id=#{userId} and is_del=0 limit 1
</select>
</mapper>
\ No newline at end of file
...@@ -10,7 +10,7 @@ spring: ...@@ -10,7 +10,7 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://10.5.52.3:3306/xxfc_order?useUnicode=true&characterEncoding=UTF-8 url: jdbc:mysql://10.5.52.3:3306/vehicle?useUnicode=true&characterEncoding=UTF-8
username: root username: root
password: sslcloud123*() password: sslcloud123*()
jackson: jackson:
......
#代码生成器,配置信息 #\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#包名 #\u5305\u540D
package=com.xxfc.platform.order package=com.xxfc.platform.campsite
#作者 #\u4F5C\u8005
author=zjw author=libin
#Email #Email
email=nishijjo@qq.com email=18178966185@163.com
#表前错误的Unicode字符串! #\u8868\u524D\u9519\u8BEF\u7684Unicode\u5B57\u7B26\u4E32!
tablePrefix= tablePrefix=
#前端模块前缀 #\u524D\u7AEF\u6A21\u5757\u524D\u7F00
mainModule=auth mainModule=auth
#类型转换,配置信息 #\u7C7B\u578B\u8F6C\u6362\uFF0C\u914D\u7F6E\u4FE1\u606F
tinyint=Integer tinyint=Integer
smallint=Integer smallint=Integer
mediumint=Integer mediumint=Integer
......
...@@ -5,8 +5,9 @@ import ${package}.biz.${className}Biz; ...@@ -5,8 +5,9 @@ import ${package}.biz.${className}Biz;
import ${package}.entity.${className}; import ${package}.entity.${className};
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Controller @RestController
@RequestMapping("${secondModuleName}") @RequestMapping("${secondModuleName}")
public class ${className}Controller extends BaseController<${className}Biz,${className}> { public class ${className}Controller extends BaseController<${className}Biz,${className}> {
......
...@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.vehicle.biz; ...@@ -3,6 +3,7 @@ package com.xinxincaravan.caravan.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.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.Vehicle; import com.xinxincaravan.caravan.vehicle.entity.Vehicle;
import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog; import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog;
...@@ -61,4 +62,5 @@ public class VehicleDepartureService { ...@@ -61,4 +62,5 @@ public class VehicleDepartureService {
statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId())); statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId()));
return statisticData; return statisticData;
} }
} }
...@@ -2,12 +2,15 @@ package com.xinxincaravan.caravan.vehicle.rest; ...@@ -2,12 +2,15 @@ package com.xinxincaravan.caravan.vehicle.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz; import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz;
import com.xinxincaravan.caravan.vehicle.biz.VehicleDepartureService; import com.xinxincaravan.caravan.vehicle.biz.VehicleDepartureService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse; import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode; import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.VehicleDepartureLog;
import com.xinxincaravan.caravan.vehicle.feign.UserFeign; import com.xinxincaravan.caravan.vehicle.feign.UserFeign;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO; import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
import com.xinxincaravan.caravan.vehicle.vo.VehicleDepartureStatisticDataVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -17,6 +20,9 @@ import javax.servlet.http.HttpServletRequest; ...@@ -17,6 +20,9 @@ import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* 车辆出行状态
*/
@IgnoreClientToken @IgnoreClientToken
@RestController @RestController
@RequestMapping("departure") @RequestMapping("departure")
...@@ -33,6 +39,7 @@ public class VehicleDepartureController { ...@@ -33,6 +39,7 @@ public class VehicleDepartureController {
@Autowired @Autowired
private UserAuthConfig userAuthConfig; private UserAuthConfig userAuthConfig;
@GetMapping("page") @GetMapping("page")
public RestResponse page(String numberPlate, Integer page, Integer limit, HttpServletRequest request) { public RestResponse page(String numberPlate, Integer page, Integer limit, HttpServletRequest request) {
if (page == null || limit == null) { if (page == null || limit == null) {
...@@ -70,6 +77,4 @@ public class VehicleDepartureController { ...@@ -70,6 +77,4 @@ public class VehicleDepartureController {
} }
return RestResponse.suc(vehicleDepartureService.statistic(numberPlate)); return RestResponse.suc(vehicleDepartureService.statistic(numberPlate));
} }
} }
...@@ -7,12 +7,13 @@ ...@@ -7,12 +7,13 @@
<groupId>com.github.wxiaoqi</groupId> <groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <groupId>com.xxfc.platform</groupId>
<artifactId>xx-campsite</artifactId>
<packaging>pom</packaging>
<modules> <modules>
<module>xx-campsite-api</module> <module>xx-campsite-api</module>
<module>xx-campsite-server</module> <module>xx-campsite-server</module>
</modules> </modules>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<artifactId>xx-campsite</artifactId>
</project> </project>
\ No newline at end of file
...@@ -3,15 +3,13 @@ ...@@ -3,15 +3,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>xx-campsite</artifactId> <groupId>com.xxfc.common</groupId>
<groupId>com.github.wxiaoqi</groupId> <artifactId>xx-common-platform</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-campsite-api</artifactId> <artifactId>xx-campsite-api</artifactId>
<name>xx-campsite-api</name>
<description>The xxfc campsite api</description>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.github.wxiaoqi</groupId> <groupId>com.github.wxiaoqi</groupId>
......
...@@ -17,14 +17,9 @@ import java.io.Serializable; ...@@ -17,14 +17,9 @@ import java.io.Serializable;
*/ */
@Data @Data
@Table(name = "campsite_shop") @Table(name = "campsite_shop")
@ApiModel(value = "营地店铺vo" ) @ApiModel(value = "营地店铺dto" )
public class CampsiteShopDTO implements Serializable { public class CampsiteShopDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("主键id")
private Integer id;
/** /**
* 店铺名称 * 店铺名称
*/ */
...@@ -164,10 +159,9 @@ public class CampsiteShopDTO implements Serializable { ...@@ -164,10 +159,9 @@ public class CampsiteShopDTO implements Serializable {
private Long updTime; private Long updTime;
/** /**
* 是否删除:0-正常;1-删除 * 热度值
*/ */
@ApiModelProperty(value = "是否删除:0-正常;1-删除") @ApiModelProperty(value = "热度值")
private Integer isDel; private Integer hot;
} }
package com.xxfc.platform.campsite.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Table;
import java.io.Serializable;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Data
@Table(name = "campsite_tag")
@ApiModel(value = "店铺类型dto")
public class CampsiteTagListDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键id")
private Integer id;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
}
...@@ -196,5 +196,17 @@ public class CampsiteShop implements Serializable { ...@@ -196,5 +196,17 @@ public class CampsiteShop implements Serializable {
@ApiModelProperty(value = "是否删除:0-正常;1-删除") @ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel; private Integer isDel;
/**
* 热度值
*/
@Column(name = "hot")
@ApiModelProperty(value = "热度值")
private Integer hot;
/**
* 上下架状态 0-创建状态 1-上架 2-下架
*/
@Column(name = "sale_state")
@ApiModelProperty(value = "上下架状态 0-创建状态 1-上架 2-下架")
private Integer saleState;
} }
...@@ -59,9 +59,9 @@ public class CampsiteTag implements Serializable { ...@@ -59,9 +59,9 @@ public class CampsiteTag implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
@Column(name = "ctr_time") @Column(name = "crt_time")
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Long ctrTime; private Long crtTime;
/** /**
* 更新时间 * 更新时间
...@@ -77,5 +77,10 @@ public class CampsiteTag implements Serializable { ...@@ -77,5 +77,10 @@ public class CampsiteTag implements Serializable {
@ApiModelProperty(value = "是否删除:0-正常;1-删除") @ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel; private Integer isDel;
/**
* 标签底图
*/
@Column(name = "tag_url")
@ApiModelProperty(value = "标签底图")
private String tagUrl;
} }
...@@ -28,6 +28,18 @@ public class CampsiteShopDetailVo { ...@@ -28,6 +28,18 @@ public class CampsiteShopDetailVo {
@ApiModelProperty("店铺名称") @ApiModelProperty("店铺名称")
private String name; private String name;
/**
* 地址-省/直辖市(名称)
*/
@ApiModelProperty("地址-省/直辖市(名称)")
private String provinceName;
/**
* 地址-市(名称)
*/
@ApiModelProperty("地址-市(名称)")
private String cityName;
/** /**
* 具体地址 * 具体地址
*/ */
...@@ -57,7 +69,20 @@ public class CampsiteShopDetailVo { ...@@ -57,7 +69,20 @@ public class CampsiteShopDetailVo {
* *
*/ */
@ApiModelProperty("类型列表") @ApiModelProperty("类型列表")
private String typeNames; private List<String> typeNames;
/**
* 经度
*/
@ApiModelProperty(value = "经度")
private Double longitude;
/**
* 纬度
*/
@ApiModelProperty(value = "纬度")
private Double latitude;
/** /**
*轮播图列表 *轮播图列表
......
package com.xxfc.platform.campsite.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Table;
import java.io.Serializable;
/**
* 店铺类型表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-06-17 10:28:48
*/
@Data
@Table(name = "campsite_tag")
@ApiModel(value = "店铺类型vo")
public class CampsiteTagListVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键id")
private Integer id;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
}
...@@ -3,25 +3,36 @@ ...@@ -3,25 +3,36 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>xx-campsite</artifactId> <groupId>com.xxfc.common</groupId>
<groupId>com.github.wxiaoqi</groupId> <artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-campsite-server</artifactId> <artifactId>xx-campsite-server</artifactId>
<name>xx-campsite-server</name>
<description>the xxfc travel Campsite</description> <description>the xxfc travel Campsite</description>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.github.wxiaoqi</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>xx-campsite-api</artifactId> <artifactId>xx-campsite-api</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
<build>
<plugins>
<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> </project>
\ No newline at end of file
...@@ -64,7 +64,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> { ...@@ -64,7 +64,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
return campsiteShopPageDataVO; return campsiteShopPageDataVO;
} }
if (log.isDebugEnabled()){ if (log.isDebugEnabled()){
log.debug("根据type=[{}]查询到的店铺数据:[{}]",type,campsiteShopPageDTOS); log.debug("根据type=【{}】查询到的店铺数据:【{}】",type,campsiteShopPageDTOS);
} }
List<CampsiteShopPageVo> campsiteShopPageVoList = new ArrayList<>(); List<CampsiteShopPageVo> campsiteShopPageVoList = new ArrayList<>();
for (CampsiteShopPageDTO campsiteShopPageDTO : campsiteShopPageDTOS) { for (CampsiteShopPageDTO campsiteShopPageDTO : campsiteShopPageDTOS) {
...@@ -88,13 +88,13 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> { ...@@ -88,13 +88,13 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
//从店铺表根据店铺id查询 //从店铺表根据店铺id查询
CampsiteShopDetailDTO campsiteShopDetailDTO = mapper.findCampsiteShopDetailById(id); CampsiteShopDetailDTO campsiteShopDetailDTO = mapper.findCampsiteShopDetailById(id);
if (log.isDebugEnabled()){ if (log.isDebugEnabled()){
log.debug("根据店铺id=[{}]查询出店铺信息[{}]",id,campsiteShopDetailDTO); log.debug("根据店铺id=【{}】查询出店铺信息【{}】",id,campsiteShopDetailDTO);
} }
BeanUtils.copyProperties(campsiteShopDetailDTO,campsiteShopDetailVo); BeanUtils.copyProperties(campsiteShopDetailDTO,campsiteShopDetailVo);
//从轮播表根据店铺id查询 //从轮播表根据店铺id查询
List<CampsiteShopCarouselDetailDTO> campsiteShopCarouselDTOS = campsiteShopCarouselBiz.findByCampsiteShopId(id); List<CampsiteShopCarouselDetailDTO> campsiteShopCarouselDTOS = campsiteShopCarouselBiz.findByCampsiteShopId(id);
if (log.isDebugEnabled()){ if (log.isDebugEnabled()){
log.debug("根据店铺id=[{}]查询出店铺轮播图信息:[{}]",id,campsiteShopCarouselDTOS); log.debug("根据店铺id=【{}】查询出店铺轮播图信息:【{}】",id,campsiteShopCarouselDTOS);
} }
List<CampsiteShopCarouselDetailVo> campsiteShopCarouselDetailVos = new ArrayList<>(); List<CampsiteShopCarouselDetailVo> campsiteShopCarouselDetailVos = new ArrayList<>();
campsiteShopCarouselDTOS.forEach(campsiteShopCarouselDetailDTO -> { campsiteShopCarouselDTOS.forEach(campsiteShopCarouselDetailDTO -> {
...@@ -106,15 +106,13 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> { ...@@ -106,15 +106,13 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper,CampsiteShop> {
//从店铺类型表根据店铺id查询 -->类型列表拼接 //从店铺类型表根据店铺id查询 -->类型列表拼接
List<String> typeNameList = campsiteShopTagBiz.findByCampsiteShopId(id); List<String> typeNameList = campsiteShopTagBiz.findByCampsiteShopId(id);
if (log.isDebugEnabled()){ if (log.isDebugEnabled()){
log.debug("根据店铺id=[{}]查询出店铺类型:[{}]",id,typeNameList); log.debug("根据店铺id=【{}】查询出店铺类型:【{}】",id,typeNameList);
} }
campsiteShopDetailVo.setTypeNames(typeNameList.stream().collect(Collectors.joining("|"))); campsiteShopDetailVo.setTypeNames(typeNameList);
//具体地址拼接
campsiteShopDetailVo.setAddress(String.format("%s%s%s",campsiteShopDetailDTO.getProvinceName(),campsiteShopDetailDTO.getCityName(),campsiteShopDetailDTO.getAddress()));
//根据经纬度算距离 //根据经纬度算距离
double distance = getDistance(campsiteShopDetailDTO.getLongitude(),campsiteShopDetailDTO.getLatitude(),longitude,latitude); double distance = getDistance(campsiteShopDetailDTO.getLongitude(),campsiteShopDetailDTO.getLatitude(),longitude,latitude);
if (log.isDebugEnabled()){ if (log.isDebugEnabled()){
log.debug("根据店铺经度=[{}],纬度=[{}]和自己所在位置的经度=[{}],纬度=[{}]计算出的距离:[{}km]",campsiteShopDetailDTO.getLongitude(),campsiteShopDetailDTO.getLatitude(),longitude,latitude,distance); log.debug("根据店铺经度=【{}】,纬度=【{}】和自己所在位置的经度=【{}】,纬度=【{}】计算出的距离:【{}km】",campsiteShopDetailDTO.getLongitude(),campsiteShopDetailDTO.getLatitude(),longitude,latitude,distance);
} }
campsiteShopDetailVo.setDistance(String.format("%.1f",distance)); campsiteShopDetailVo.setDistance(String.format("%.1f",distance));
return campsiteShopDetailVo; return campsiteShopDetailVo;
......
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.TypeReference;
import com.xxfc.platform.campsite.dto.CampsiteTagListDTO;
import com.xxfc.platform.campsite.vo.CampsiteTagListVo;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.campsite.entity.CampsiteTag; 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.List;
/** /**
* 店铺类型表 * 店铺类型表
* *
...@@ -15,4 +23,26 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -15,4 +23,26 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/ */
@Service @Service
public class CampsiteTagBiz extends BaseBiz<CampsiteTagMapper,CampsiteTag> { public class CampsiteTagBiz extends BaseBiz<CampsiteTagMapper,CampsiteTag> {
/**
* 查询营地列表
* @return
*/
public List<CampsiteTagListVo> findCampsiteTags() {
List<CampsiteTagListDTO> campsiteTagListDTOS = mapper.findCampsiteTags();
if (CollectionUtils.isEmpty(campsiteTagListDTOS)){
return null;
}
List<CampsiteTagListVo> campsiteTagListVos = JSONObject.parseObject(JSONObject.toJSONString(campsiteTagListDTOS),new TypeReference<List<CampsiteTagListVo>>(){});
return campsiteTagListVos;
}
/**
* 更新营地类型状态
* @param tagId
* @return
*/
public int updateCampsiteTagStatus(Integer tagId) {
return mapper.updateCampsiteTagStatus(tagId,1);
}
} }
\ 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 org.springframework.context.annotation.Primary;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* ${DESCRIPTION}
*
* @author wanghaobin
* @create 2017-06-21 8:39
*/
@Configuration
@Primary
public class RedisConfiguration {
@Bean
public RedisTemplate<String, Object> customRedisTemplate(RedisConnectionFactory factory) {
RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(factory);
RedisSerializer<String> stringSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setValueSerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
redisTemplate.setHashValueSerializer(stringSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
package com.xxfc.platform.campsite.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class RestConfiguration {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
package com.xxfc.platform.campsite.mapper; package com.xxfc.platform.campsite.mapper;
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.Update;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/** /**
* 店铺类型表 * 店铺类型表
* *
...@@ -12,4 +17,19 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -12,4 +17,19 @@ import tk.mybatis.mapper.common.Mapper;
*/ */
public interface CampsiteTagMapper extends Mapper<CampsiteTag> { public interface CampsiteTagMapper extends Mapper<CampsiteTag> {
/**
* 查询可用营地列表
* @return
*/
List<CampsiteTagListDTO> findCampsiteTags();
/**
* 更新类型的删除状态
* @param tagId
* @param status
* @return
*/
@Update("update `campsite_tag` set `is_del`=#{status} where `id`=#{tagId}")
int updateCampsiteTagStatus(@Param("tagId") Integer tagId, @Param("status") int status);
} }
package com.xxfc.platform.campsite.rest; package com.xxfc.platform.campsite.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.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 org.springframework.stereotype.Controller; import com.xxfc.platform.campsite.vo.CampsiteTagListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* @author libin * @author libin
* @version 1.0 * @version 1.0
* @description 店铺类型 * @description 营地类型
* @data 2019/6/17 13:36 * @data 2019/6/17 13:36
*/ */
@RestController @RestController
@RequestMapping("campsiteTag") @RequestMapping("campsiteTag")
@Api(tags = "营地类型")
public class CampsiteTagController extends BaseController<CampsiteTagBiz,CampsiteTag> { public class CampsiteTagController extends BaseController<CampsiteTagBiz,CampsiteTag> {
/**
* 查询营地列表
* @return
*/
@GetMapping("/app/unauth/tags")
@IgnoreClientToken
@ApiOperation(value = "营地列表")
public ObjectRestResponse<CampsiteTagListVo> findCampstieTags(){
List<CampsiteTagListVo> campsiteTagListVolist = getBaseBiz().findCampsiteTags();
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
...@@ -10,9 +10,12 @@ ...@@ -10,9 +10,12 @@
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="isSearch" column="is_search"/> <result property="isSearch" column="is_search"/>
<result property="rank" column="rank"/> <result property="rank" column="rank"/>
<result property="ctrTime" column="ctr_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"/>
</resultMap> </resultMap>
<select id="findCampsiteTags" resultType="com.xxfc.platform.campsite.dto.CampsiteTagListDTO">
select `id`,`name` from `campsite_tag` where `is_del`=0;
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<!--查询旅游路线列表--> <!--查询旅游路线列表-->
<select id="getGoodList" parameterType="java.util.Map" resultMap="tourGoodMap"> <select id="getGoodList" parameterType="java.util.Map" resultMap="tourGoodMap">
SELECT * from tour_good t SELECT * from tour_good t
where t.is_del=1 AND t.status=1 where t.is_del=0 AND t.status=1
<if test="params.query != null and params.query != ''"> <if test="params.query != null and params.query != ''">
and (t.`name` like CONCAT('%',#{params.query},'%') or t.introduce like CONCAT('%',#{params.query},'%')) and (t.`name` like CONCAT('%',#{params.query},'%') or t.introduce like CONCAT('%',#{params.query},'%'))
</if> </if>
......
...@@ -76,4 +76,9 @@ public class VehiclePlatCata implements Serializable { ...@@ -76,4 +76,9 @@ public class VehiclePlatCata implements Serializable {
private Integer isMore; private Integer isMore;
//是否多选
@Column(name = "start_using")
@ApiModelProperty(value = "是否作为客户端查询条件:0-否,1-是" )
private Integer startUsing;
} }
package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import lombok.Data;
import java.util.List;
@Data
public class VehicleAndModelInfoVo extends Vehicle {
VehicleModel vehicleModel;
List<VehicleBookRecord> vehicleBookRecord;
}
package com.xxfc.platform.vehicle.pojo; package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import lombok.Data; import lombok.Data;
@Data @Data
public class VehicleRecordInfoVo extends VehicleBookRecord { public class VehicleRecordInfoVo extends VehicleBookRecord {
Vehicle vehicle; VehicleAndModelInfoVo vehicleAndModelInfoVo;
} }
package com.xxfc.platform.vehicle.pojo;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import java.util.Date;
@Data
public class VehicleVo {
/**
* 主键(uuid)
*/
@Id
private String id;
/**
* 车辆编号,0-没有
*/
private Integer code;
/**
* 车辆状态: 1-正常运行 2-维修 3-报废
*/
private Integer status;
/**
* 车牌号,空字符串-没有
*/
@Column(name = "number_plate")
private String numberPlate;
/**
* 品牌(编码,对应关系见相关常量),0-未填写
*/
private Integer brand;
/**
* 所属分支机构(id)
*/
@Column(name = "subordinate_branch")
private Integer subordinateBranch;
/**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
@Column(name = "use_type")
private Integer useType;
/**
* 备注信息
*/
private String remark;
/**
* 车架号
*/
private String vin;
/**
* 保险公司,见常量表
*/
private Integer insuranceCompany;
/**
* 保险单号
*/
private String insuranceNo;
/**
* 保险开始时间
*/
private Date insuranceStartDate;
/**
* 保险结束时间
*/
private Date insuranceEndDate;
/**
* 年审时间
*/
private Date annualVerificationDate;
/**
* 保养时间
*/
private Date maintenanceDate;
/**
* 保养里程数
*/
private Integer maintenanceMileage;
/**
* 车辆所属人-类型
*/
private Integer belongTo;
/**
* 所属人 名称
*/
private String belongToName;
/**
* 行驶证路径
*/
private String drivingLicensePath;
/**
* 发动机号
*/
private String engineNum;
/**
* 生产商
*/
private String manufacturer;
/**
* 收车时间
*/
private Date receiveTime;
/**
* 最后更新里程数
*/
private Integer mileageLastUpdate;
/**
* 停车分公司id
*/
private Integer parkBranchCompanyId;
/**
* 预计目的地分公司id
*/
private Integer expectDestinationBranchCompanyId;
/**
* 车型id
*/
private Integer modelId;
/**
*片区id
*/
private Integer zoneId;
/**
* 当前页
*/
private Integer page;
/**
* 每页条数
*/
private Integer limit;
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.pojo.dto; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.pojo.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
/** /**
...@@ -18,22 +19,18 @@ public class VehicleUserScoreDTO { ...@@ -18,22 +19,18 @@ public class VehicleUserScoreDTO {
@ApiModelProperty("主键id") @ApiModelProperty("主键id")
private Integer id; private Integer id;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private Integer userId;
/** /**
* 订单id * 订单id
*/ */
@ApiModelProperty(value = "订单id") @ApiModelProperty(value = "订单id")
@NotNull(message = "订单id不能为空")
private Integer orderId; private Integer orderId;
/** /**
* 车型id * 车型id
*/ */
@ApiModelProperty(value = "车型id") @ApiModelProperty(value = "车型id")
@NotNull(message = "车型id不能为空")
private Integer modelId; private Integer modelId;
/** /**
......
package com.xxfc.platform.vehicle.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description 车型评分
* @data 2019/6/18 15:15
*/
@Data
public class VehicleUserScoreDetailDTO {
/**
* 用户id
*/
@ApiModelProperty("用户id")
private Integer userId;
/**
* 评价分
*/
@ApiModelProperty(value = "评价分")
private Integer aveScore;
/**
* 评价
*/
@ApiModelProperty(value = "评价")
private String comment;
/**
* 图片
*/
@ApiModelProperty(value = "图片")
private String imgs;
/**
* 车型名称
*/
@ApiModelProperty(value ="车型名称")
private String modelName;
/**
* 车型关键标签
*/
@ApiModelProperty(value = "车型关键标签")
private String modelKeyWorld;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 评分明细
*/
@ApiModelProperty(value = "评分明细")
private String scores;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description 车型评分
* @data 2019/6/18 15:15
*/
@Data
public class VehicleUserScoreListDTO {
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 评价分
*/
@ApiModelProperty(value = "评价分")
private Integer aveScore;
/**
* 是否匿名;0-否;1-是
*/
@ApiModelProperty(value = "是否匿名;0-否;1-是")
private Integer isAnony;
/**
* 评价
*/
@ApiModelProperty(value = "评价")
private String comment;
/**
* 图片
*/
@ApiModelProperty(value = "图片")
private String imgs;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.pojo.vo;
import com.xxfc.platform.vehicle.constant.VehicleScoreType;
import lombok.Data;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
/**
* @author libin
* @version 1.0
* @description TODO
* @data 2019/6/18 15:45
*/
@Data
public class ScoreTypeVo {
/**
* 评分类型
*/
@Enumerated(EnumType.STRING)
private VehicleScoreType vehicleScoreType;
/**
* 评分
*/
private int score;
}
package com.xxfc.platform.vehicle.pojo.vo; package com.xxfc.platform.vehicle.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author libin * @author libin
* @version 1.0 * @version 1.0
* @description TODO * @description 订单评价vo
* @data 2019/6/18 15:26 * @data 2019/6/18 15:26
*/ */
@Data @Data
public class VehicleUserScoreVo { public class VehicleUserScoreVo {
/**
* 主键id
*/
@ApiModelProperty("主键id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty("用户id")
private String userId;
/**
* 用户名
*/
@ApiModelProperty(value = "用户名")
private String userName;
/**
* 用户头像地址
*/
@ApiModelProperty(value = "用户头像地址")
private String headUrl;
/**
* 评分类型
*/
@ApiModelProperty(value = "评分类型")
private Integer type;
/**
* 评价分
*/
@ApiModelProperty(value = "评价分")
private Integer aveScore;
/**
* 是否匿名;0-否;1-是
*/
@ApiModelProperty(value = "是否匿名;0-否;1-是")
private Integer isAnony;
/**
* 评价
*/
@ApiModelProperty(value = "评价")
private String comment;
/**
* 图片
*/
@ApiModelProperty(value = "图片")
private String imgs;
/**
* 车型名称
*/
@ApiModelProperty(value ="车型名称")
private String modelName;
/**
* 车型关键标签
*/
@ApiModelProperty(value = "车型关键标签")
private String modelKeyWorld;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 类型-评分
*/
private List<ScoreTypeVo> scoreTypeVos;
} }
...@@ -7,8 +7,11 @@ import com.github.pagehelper.PageHelper; ...@@ -7,8 +7,11 @@ 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;
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.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.base.Function;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
...@@ -27,6 +30,7 @@ import com.xxfc.platform.vehicle.pojo.*; ...@@ -27,6 +30,7 @@ import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
...@@ -46,8 +50,11 @@ import org.springframework.stereotype.Service; ...@@ -46,8 +50,11 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.io.File; import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -76,6 +83,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -76,6 +83,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
@Autowired @Autowired
private RedisTemplate customRedisTemplate; private RedisTemplate customRedisTemplate;
@Value("${vehicle.baseUploadPath}") @Value("${vehicle.baseUploadPath}")
private String baseUploadPath ; private String baseUploadPath ;
...@@ -914,7 +922,107 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -914,7 +922,107 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
return PageDataVO.pageInfo(usableVehicleInfo); return PageDataVO.pageInfo(usableVehicleInfo);
} }
/**
* 保存
* @param vehicle
* @return
*/
@Transactional
public ObjectRestResponse save(Vehicle vehicle){
if (vehicle==null) {
ObjectRestResponse.createDefaultFail();
}
String id = vehicle.getId();
if (StringUtils.isBlank(id)) {
insertSelective(vehicle);
insertSelective(vehicle);
}else {
updateSelectiveById(vehicle);
}
return ObjectRestResponse.succ();
}
/**
* 查找
* @param vehicleVo
* @param page
* @param limit
* @return
*/
public ObjectRestResponse findListByVehicle(VehicleVo vehicleVo, Integer page, Integer limit){
Vehicle vehicle = new Vehicle();
// vehicleVo复制一份到vehicle
try {
BeanUtilsBean.getInstance().copyProperties(vehicle,vehicleVo);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
WeekendSqls<Vehicle> sqls = WeekendSqls.<Vehicle>custom();
//车辆状态
if (vehicle.getStatus()!=null||vehicle.getStatus()!=0){
sqls.andEqualTo(Vehicle::getStatus,vehicle.getStatus());
}
//车牌号
if (StringUtils.isBlank(vehicle.getNumberPlate())){
sqls.andEqualTo(Vehicle::getNumberPlate,vehicle.getNumberPlate());
Function<Vehicle, Integer> getStatus = Vehicle::getStatus;
}
//公司
if (vehicle.getSubordinateBranch()==null||vehicle.getSubordinateBranch()==0){
sqls.andEqualTo(Vehicle::getSubordinateBranch,vehicle.getSubordinateBranch());
}
//大区
if (vehicleVo.getZoneId()==null||vehicleVo.getZoneId()==0){
//获取大区内的公司id
Example example= Example.builder(BranchCompany.class).where(WeekendSqls.<BranchCompany>custom()
.andEqualTo(BranchCompany::getZoneId,vehicleVo.getZoneId())).build();
List<BranchCompany> branchCompanies = branchCompanyBiz.selectByExample(example);
ArrayList<Integer> bIds = new ArrayList<>();
for (BranchCompany branchCompany : branchCompanies) {
bIds.add(branchCompany.getId());
}
sqls.andIn(Vehicle::getSubordinateBranch,bIds);
}
sqls.andEqualTo(Vehicle::getStatus,0);
Example exa = Example.builder(Vehicle.class).where(sqls).build();
PageDataVO<Object> objectPageDataVO = PageDataVO.pageInfo(page, limit, () -> selectByExample(exa));
return ObjectRestResponse.succ(objectPageDataVO);
}
/**
* 查询条
* @param id
* @return
*/
public ObjectRestResponse getOneById(Integer id){
return ObjectRestResponse.succ(selectByExample(
Example.builder(Vehicle.class)
.where(WeekendSqls.<Vehicle>custom()
.andEqualTo(Vehicle::getId,id)
.andEqualTo(Vehicle::getStatus,0))
.build()));
}
public List<VehicleCountVo> countVehicleByParam(VehiclePlanDto vehiclePlanDto) { public List<VehicleCountVo> countVehicleByParam(VehiclePlanDto vehiclePlanDto) {
return mapper.countVehicleByParam(vehiclePlanDto); return mapper.countVehicleByParam(vehiclePlanDto);
} }
public PageDataVO<VehicleAndModelInfoVo> getAllVehicle(VehiclePlanDto vehiclePlanDto) {
Query query = new Query(vehiclePlanDto);
PageDataVO<VehicleAndModelInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getAllVehicle(query.getSuper()));
return pageDataVO;
}
} }
...@@ -58,4 +58,12 @@ public class VehicleCataBiz extends BaseBiz<VehicleCataMapper, VehicleCata> { ...@@ -58,4 +58,12 @@ public class VehicleCataBiz extends BaseBiz<VehicleCataMapper, VehicleCata> {
mapper.addCataList(vcs); mapper.addCataList(vcs);
} }
public void updateIsdalByVehicleModelId(VehicleCata vehicleCata){
mapper.updateIsdalByVehicleModelId( vehicleCata);
}
public void updateIsdalByVehicleCataId(VehicleCata vehicleCata) {
mapper.updateIsdalByVehicleCataId(vehicleCata);
}
} }
...@@ -2,7 +2,9 @@ package com.xxfc.platform.vehicle.biz; ...@@ -2,7 +2,9 @@ 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.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleDepartureLog; import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
...@@ -12,12 +14,16 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo; ...@@ -12,12 +14,16 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureStatisticDataVo; import com.xxfc.platform.vehicle.pojo.VehicleDepartureStatisticDataVo;
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 tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
public class VehicleDepartureService { public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper, VehicleDepartureLog> {
@Autowired @Autowired
VehicleDepartureLogMapper vehicleDepartureLogMapper; VehicleDepartureLogMapper vehicleDepartureLogMapper;
...@@ -61,4 +67,51 @@ public class VehicleDepartureService { ...@@ -61,4 +67,51 @@ public class VehicleDepartureService {
statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId())); statisticData.setDepartureMileage(vehicleDepartureLogMapper.selectMileageByVehicleId(vehicle.getId()));
return statisticData; return statisticData;
} }
@Transactional
public ObjectRestResponse save(VehicleDepartureLog vehicleDepartureLog) {
Integer id = vehicleDepartureLog.getId();
if (id == null || id == 0) {
vehicleDepartureLog.setCreateTime(new Date());
vehicleDepartureLog.setState(0);
insertSelective(vehicleDepartureLog);
} else {
vehicleDepartureLog.setUpdateTime(new Date());
updateSelectiveById(vehicleDepartureLog);
}
return ObjectRestResponse.succ();
}
public ObjectRestResponse findOne(Integer vid) throws Exception {
Example exm = Example.builder(VehicleDepartureLog.class)
.where(WeekendSqls.<VehicleDepartureLog>custom()
.andEqualTo(VehicleDepartureLog::getVehicleId, vid)
.andEqualTo(VehicleDepartureLog::getState, 0))
.orderByDesc("create_time")
.build();
List<VehicleDepartureLog> vehicleDepartureLogs = mapper.selectByExample(exm);
if (vehicleDepartureLogs.size() == 1) {
VehicleDepartureLog vehicleDepartureLog = vehicleDepartureLogs.get(1);
if (vehicleDepartureLog!=null) {
return ObjectRestResponse.succ(vehicleDepartureLog);
}
}
return ObjectRestResponse.createDefaultFail();
}
@Transactional
public ObjectRestResponse collect(VehicleDepartureLog vdl){
vdl.setArrivalTime(new Date());
vdl.setState(1);
updateSelectiveById(vdl);
return ObjectRestResponse.succ();
}
} }
...@@ -64,4 +64,13 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> { ...@@ -64,4 +64,13 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> {
} }
/**
*更新车型的评分
* @param modelId
* @param avgScore
* @return
*/
public int updateScoreByModelIdAndavgScore(Integer modelId, int avgScore) {
return mapper.updateScoreByModelIdAndavgScore(modelId,avgScore);
}
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -11,6 +11,7 @@ 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.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.RedisKey; import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleCata; import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata; import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper; import com.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper;
...@@ -18,9 +19,14 @@ import com.xxfc.platform.vehicle.pojo.Cascade; ...@@ -18,9 +19,14 @@ import com.xxfc.platform.vehicle.pojo.Cascade;
import com.xxfc.platform.vehicle.pojo.CataVo; import com.xxfc.platform.vehicle.pojo.CataVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.assertj.core.util.Arrays; import org.assertj.core.util.Arrays;
import org.springframework.aop.framework.AopContext;
import org.springframework.aop.framework.AopProxyUtils;
import org.springframework.aop.support.AopUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
...@@ -138,7 +144,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -138,7 +144,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param cascade * @param cascade
* @return * @return
*/ */
@Transactional
public ObjectRestResponse addCascade(Cascade<VehiclePlatCata> cascade) { public ObjectRestResponse addCascade(Cascade<VehiclePlatCata> cascade) {
//取出一级标签 //取出一级标签
...@@ -146,9 +152,10 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -146,9 +152,10 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
parent.setCrtTime(System.currentTimeMillis()); parent.setCrtTime(System.currentTimeMillis());
parent.setState(0); parent.setState(0);
//插入一级标签获得id //插入一级标签获得id
parent.setIsMore(0);
parent.setRank(0);
mapper.insertSelective(parent); mapper.insertSelective(parent);
Integer parentId = parent.getId(); Integer parentId = parent.getId();
//取出二级标签 //取出二级标签
List<VehiclePlatCata> childrens = cascade.getChildren(); List<VehiclePlatCata> childrens = cascade.getChildren();
//逐条插入二级标签 //逐条插入二级标签
...@@ -163,6 +170,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -163,6 +170,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/** /**
* 根据父类id获取子标签 * 根据父类id获取子标签
* *
...@@ -294,9 +302,9 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -294,9 +302,9 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param cas * @param cas
* @return * @return
*/ */
@Transactional
public ObjectRestResponse updateAndAdd( Cascade<VehiclePlatCata> cas) { public ObjectRestResponse updateAndAdd( Cascade<VehiclePlatCata> cas) {
try {
if (cas==null||cas.getParent()==null) { if (cas==null||cas.getParent()==null) {
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
...@@ -308,10 +316,6 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -308,10 +316,6 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return updateCascade(cas); return updateCascade(cas);
} }
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
} }
...@@ -321,7 +325,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -321,7 +325,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
* @param cas * @param cas
* @return * @return
*/ */
@Transactional
public ObjectRestResponse updateCascade(Cascade<VehiclePlatCata> cas) { public ObjectRestResponse updateCascade(Cascade<VehiclePlatCata> cas) {
try { try {
...@@ -340,7 +344,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -340,7 +344,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
//遍历 //遍历
for (VehiclePlatCata child : children) { for (VehiclePlatCata child : children) {
//判断子标签是更新还是新增 //判断子标签是更新还是新增
if (child.getId()==null){ if (child.getId()==null||child.getId()==0){
child.setState(0); child.setState(0);
child.setUpdTime(System.currentTimeMillis()); child.setUpdTime(System.currentTimeMillis());
//添加 //添加
...@@ -352,7 +356,8 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -352,7 +356,8 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
VehicleCata vehicleCata = new VehicleCata(); VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setCataId(id); vehicleCata.setCataId(id);
//修改车型和标签的中间表 //修改车型和标签的中间表
vehicleCataBiz.delete(vehicleCata); vehicleCata.setIsdel(1);
vehicleCataBiz.updateIsdalByVehicleCataId(vehicleCata);
} }
//更新 //更新
...@@ -404,4 +409,57 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl ...@@ -404,4 +409,57 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return ObjectRestResponse.succ(vehiclePlatCatas); return ObjectRestResponse.succ(vehiclePlatCatas);
} }
/**
* 删除一级标签及其子标签
* @param id
* @return
*/
@Transactional
public ObjectRestResponse deleteCascadeById(Integer id){
//修改一级标签
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setState(1);
updateSelectiveById(vehiclePlatCata);
//修改子标签
VehiclePlatCata vpc = new VehiclePlatCata();
vpc.setState(1);
mapper.updateByExampleSelective(vpc,Example.builder(VehiclePlatCata.class)
.andWhere(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId,id)).build());
return ObjectRestResponse.succ();
}
/**
* 修改客户端查询条件
* @param id
* @param startUsing
* @return
*/
@Transactional
public ObjectRestResponse setStartUsingById(Integer id, Integer startUsing){
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setStartUsing(startUsing);
updateSelectiveById(vehiclePlatCata);
return ObjectRestResponse.succ();
}
/**
* 修改单选还是多选
* @param id
* @param isMore
* @return
*/
@Transactional
public ObjectRestResponse setIsore(Integer id, Integer isMore){
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setIsMore(isMore);
updateSelectiveById(vehiclePlatCata);
return ObjectRestResponse.succ();
}
} }
package com.xxfc.platform.vehicle.biz; package com.xxfc.platform.vehicle.biz;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.VehicleUserScore; import com.xxfc.platform.vehicle.entity.VehicleUserScore;
import com.xxfc.platform.vehicle.mapper.VehicleUserScoreMapper; import com.xxfc.platform.vehicle.mapper.VehicleUserScoreMapper;
import com.xxfc.platform.vehicle.pojo.dto.ScoreTypeDTO; import com.xxfc.platform.vehicle.pojo.dto.ScoreTypeDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreDTO; import com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreDetailDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreListDTO;
import com.xxfc.platform.vehicle.pojo.vo.ScoreTypeVo;
import com.xxfc.platform.vehicle.pojo.vo.VehicleUserScoreVo; import com.xxfc.platform.vehicle.pojo.vo.VehicleUserScoreVo;
import io.swagger.annotations.ApiModelProperty; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.Instant; import java.time.Instant;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
...@@ -23,16 +41,51 @@ import java.util.List; ...@@ -23,16 +41,51 @@ import java.util.List;
* @date 2019-06-18 15:03:58 * @date 2019-06-18 15:03:58
*/ */
@Service @Service
@Slf4j
public class VehicleUserScoreBiz extends BaseBiz<VehicleUserScoreMapper, VehicleUserScore> { public class VehicleUserScoreBiz extends BaseBiz<VehicleUserScoreMapper, VehicleUserScore> {
@Resource
private UserFeign userFeign;
@Autowired
private VehicleModelBiz vehicleModelBiz;
/** /**
* 根据车型id查询 * 根据车型id查询
* @param modelId * @param modelId
* @return * @return
*/ */
public PageDataVO<VehicleUserScoreVo> findVehicleUserScorePageByModelId(Integer modelId) { public PageDataVO<VehicleUserScoreVo> findVehicleUserScorePageByModelId(Integer modelId,Integer pageNo,Integer pageSize) {
return null; PageDataVO<VehicleUserScoreVo> pageDataVO = new PageDataVO<>();
//根据模型id查找
PageDataVO<VehicleUserScoreListDTO> vehicleUserScoreDTOPageDataVO = PageDataVO.pageInfo(pageNo,pageSize,()->mapper.findyByModelIdAndApproved(modelId,1));
List<VehicleUserScoreListDTO> dataVOData = vehicleUserScoreDTOPageDataVO.getData();
if (CollectionUtils.isEmpty(dataVOData)){
return pageDataVO;
}
if (log.isDebugEnabled()){
log.debug("根据车型id查找出的评价:【{}】",dataVOData);
}
//设置用户信息
List<Integer> userIds = dataVOData.stream().map(VehicleUserScoreListDTO::getUserId).distinct().collect(Collectors.toList());
List<AppUserVo> appUserVos = userFeign.getByUserIds(userIds).getData();
if (log.isDebugEnabled()){
log.debug("根据用户ids查询出用户信息:【{}】",appUserVos);
}
Map<Integer, AppUserVo> userMap = appUserVos.stream().collect(Collectors.toMap(AppUserVo::getUserid, Function.identity()));
List<VehicleUserScoreVo> vehicleUserScoreVos = dataVOData.stream().map(vehicleUserScoreListDTO -> {
VehicleUserScoreVo vehicleUserScoreVo = new VehicleUserScoreVo();
BeanUtils.copyProperties(vehicleUserScoreListDTO, vehicleUserScoreVo);
vehicleUserScoreVo.setUserName(userMap.get(vehicleUserScoreListDTO.getUserId()).getNickname());
vehicleUserScoreVo.setHeadUrl(userMap.get(vehicleUserScoreListDTO.getUserId()).getHeadimgurl());
return vehicleUserScoreVo;
}).sorted(Comparator.comparing(VehicleUserScoreVo::getCrtTime).reversed()).collect(Collectors.toList());
//组装数据
pageDataVO.setPageNum(vehicleUserScoreDTOPageDataVO.getPageNum());
pageDataVO.setPageSize(vehicleUserScoreDTOPageDataVO.getPageSize());
pageDataVO.setTotalCount(vehicleUserScoreDTOPageDataVO.getTotalCount());
pageDataVO.setTotalPage(vehicleUserScoreDTOPageDataVO.getTotalPage());
pageDataVO.setData(vehicleUserScoreVos);
return pageDataVO;
} }
/** /**
...@@ -40,14 +93,61 @@ public class VehicleUserScoreBiz extends BaseBiz<VehicleUserScoreMapper, Vehicle ...@@ -40,14 +93,61 @@ public class VehicleUserScoreBiz extends BaseBiz<VehicleUserScoreMapper, Vehicle
* @param vehicleUserScoreDTO * @param vehicleUserScoreDTO
* @return * @return
*/ */
public int saveVehicleUserScore(VehicleUserScoreDTO vehicleUserScoreDTO) { public int saveVehicleUserScore(VehicleUserScoreDTO vehicleUserScoreDTO, AppUserDTO appUserDTO) {
if (log.isDebugEnabled()){
log.debug("用户:【{}】,评分的数据:【{}】",appUserDTO.getNickname(),vehicleUserScoreDTO);
}
vehicleUserScoreDTO.setCrtTime(Instant.now().toEpochMilli()); vehicleUserScoreDTO.setCrtTime(Instant.now().toEpochMilli());
List<ScoreTypeDTO> scoretype = vehicleUserScoreDTO.getScoretype(); List<ScoreTypeDTO> scoretype = vehicleUserScoreDTO.getScoretype();
vehicleUserScoreDTO.setComment(JSONObject.toJSONString(scoretype)); int avgScore =0;
double avgScore = scoretype.stream().mapToInt(ScoreTypeDTO::getScore).average().getAsDouble(); if (CollectionUtils.isNotEmpty(scoretype)) {
//评分明细
vehicleUserScoreDTO.setScores(JSONObject.toJSONString(scoretype));
//计算平均分值
double avgScored = scoretype.stream().mapToInt(ScoreTypeDTO::getScore).average().getAsDouble();
avgScore = Long.valueOf(Math.round(avgScored)).intValue();
//更改车型的评分
if (0 != avgScore) {
vehicleModelBiz.updateScoreByModelIdAndavgScore(vehicleUserScoreDTO.getModelId(), avgScore);
}
}
VehicleUserScore vehicleUserScore = new VehicleUserScore(); VehicleUserScore vehicleUserScore = new VehicleUserScore();
BeanUtils.copyProperties(vehicleUserScoreDTO,vehicleUserScore); BeanUtils.copyProperties(vehicleUserScoreDTO,vehicleUserScore);
//vehicleUserScore.setAveScore(); vehicleUserScore.setAveScore(avgScore);
vehicleUserScore.setUserId(appUserDTO.getUserid());
vehicleUserScore.setUpdTime(Instant.now().toEpochMilli());
return mapper.insertSelective(vehicleUserScore); return mapper.insertSelective(vehicleUserScore);
} }
/**
* 根据订单id查询订单评价
* @param orderId
* @return
*/
public VehicleUserScoreVo findVehicleUserScoreDetailByOrderId(Integer orderId) {
VehicleUserScoreVo vehicleUserScoreVo = new VehicleUserScoreVo();
//根据订单id查询
VehicleUserScoreDetailDTO vehicleUserScoreDetailDTO = mapper.findVehicleUserScoreDetailByOrderId(orderId);
if (log.isDebugEnabled()){
log.debug("根据订单id:【{}】查询到的订单评价内容:【{}】",orderId,vehicleUserScoreDetailDTO);
}
BeanUtils.copyProperties(vehicleUserScoreDetailDTO,vehicleUserScoreVo);
//评分明细数据转换
String scores = vehicleUserScoreDetailDTO.getScores();
if (StringUtils.isNotEmpty(scores)){
List<ScoreTypeVo> typeVos = JSONObject.parseObject(scores, new TypeReference<List<ScoreTypeVo>>() {});
vehicleUserScoreVo.setScoreTypeVos(typeVos);
}
//根据用户id查询用户信息
ObjectRestResponse<List<AppUserVo>> appuserResponse = userFeign.getByUserIds(Arrays.asList(vehicleUserScoreDetailDTO.getUserId()));
if (log.isDebugEnabled()){
log.debug("根据用户id:【{}】查询到的用户信息:【{}】",vehicleUserScoreDetailDTO.getUserId(),appuserResponse.getData());
}
AppUserVo appUserVo = appuserResponse.getData().get(0);
vehicleUserScoreVo.setUserName(appUserVo.getNickname());
vehicleUserScoreVo.setHeadUrl(appUserVo.getHeadimgurl());
return vehicleUserScoreVo;
}
} }
\ No newline at end of file
...@@ -23,5 +23,4 @@ public class VehicleBaseController<Biz extends BaseBiz> { ...@@ -23,5 +23,4 @@ public class VehicleBaseController<Biz extends BaseBiz> {
return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData(); return userFeign.userDetailByToken(userAuthConfig.getToken(request)).getData();
} }
} }
...@@ -32,4 +32,6 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> { ...@@ -32,4 +32,6 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> {
public VehicleBookRecord getById(Map<String, Object> params); public VehicleBookRecord getById(Map<String, Object> params);
public List<VehicleRecordInfoVo> getByParam(Map<String, Object> params); public List<VehicleRecordInfoVo> getByParam(Map<String, Object> params);
public List<VehicleBookRecord> getByVehicleId(String vehicleId);
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleCata; import com.xxfc.platform.vehicle.entity.VehicleCata;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
...@@ -24,4 +25,7 @@ public interface VehicleCataMapper extends Mapper<VehicleCata> { ...@@ -24,4 +25,7 @@ public interface VehicleCataMapper extends Mapper<VehicleCata> {
VehicleCata getOne(@Param("vehicleModelId")Integer vehicleModelId,@Param("cataId")Integer cataId ); VehicleCata getOne(@Param("vehicleModelId")Integer vehicleModelId,@Param("cataId")Integer cataId );
void updateIsdalByVehicleModelId(VehicleCata vehicleCata);
void updateIsdalByVehicleCataId(VehicleCata vehicleCata);
} }
...@@ -4,10 +4,11 @@ import com.xxfc.platform.vehicle.entity.VehicleDepartureLog; ...@@ -4,10 +4,11 @@ import com.xxfc.platform.vehicle.entity.VehicleDepartureLog;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo; import com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper; import tk.mybatis.mapper.common.BaseMapper;
import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLog> { public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLog>, Mapper<VehicleDepartureLog> {
VehicleDepartureLog selectLastByVehicleId(String vehicleId); VehicleDepartureLog selectLastByVehicleId(String vehicleId);
......
package com.xxfc.platform.vehicle.mapper; package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateVehicleVo; import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.QueryVehicleVo;
import com.xxfc.platform.vehicle.pojo.UsableVehicleModelVO;
import com.xxfc.platform.vehicle.pojo.VehicleCountVo;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
...@@ -38,4 +35,6 @@ public interface VehicleMapper extends Mapper<Vehicle> { ...@@ -38,4 +35,6 @@ public interface VehicleMapper extends Mapper<Vehicle> {
List<Vehicle> searchUsableVehicle(Map<String, Object> params); List<Vehicle> searchUsableVehicle(Map<String, Object> params);
List<VehicleCountVo> countVehicleByParam(VehiclePlanDto vehiclePlanDto); List<VehicleCountVo> countVehicleByParam(VehiclePlanDto vehiclePlanDto);
List<VehicleAndModelInfoVo> getAllVehicle(Map<String, Object> params);
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition; import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition;
import com.xxfc.platform.vehicle.pojo.VehicleModelVo; import com.xxfc.platform.vehicle.pojo.VehicleModelVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
...@@ -18,4 +19,11 @@ public interface VehicleModelMapper extends Mapper<VehicleModel> { ...@@ -18,4 +19,11 @@ public interface VehicleModelMapper extends Mapper<VehicleModel> {
List<VehicleModelVo> findVehicleModelPage(VehicleModelQueryCondition vmqc); List<VehicleModelVo> findVehicleModelPage(VehicleModelQueryCondition vmqc);
/**
* 根据车型id和车型某个订单的评价的平均分值计算
* @param modelId
* @param avgScore
* @return
*/
int updateScoreByModelIdAndavgScore(@Param("modelId") Integer modelId, @Param("avgScore") int avgScore);
} }
package com.xxfc.platform.vehicle.mapper; package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleUserScore; import com.xxfc.platform.vehicle.entity.VehicleUserScore;
import com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreDetailDTO;
import com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreListDTO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/** /**
* 用户评分表 * 用户评分表
* *
...@@ -12,4 +18,19 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -12,4 +18,19 @@ import tk.mybatis.mapper.common.Mapper;
*/ */
public interface VehicleUserScoreMapper extends Mapper<VehicleUserScore> { public interface VehicleUserScoreMapper extends Mapper<VehicleUserScore> {
/**
* 根据审核状态和车型id查询评论
* @param modelId
* @param status
* @return
*/
@Select("select `user_id` as `userId`,`comment` as `comment`,`ave_score` as `aveScore`,`is_anony` as `isAnony`,`imgs` as `imgs`,`crt_time` as `crtTime` from `vehicle_user_score` where `model_id`=#{modelId} and `status`=#{status}")
List<VehicleUserScoreListDTO> findyByModelIdAndApproved(@Param("modelId") Integer modelId, @Param("status") Integer status);
/**
* 根据订单查询评价
* @param orderId
* @return
*/
VehicleUserScoreDetailDTO findVehicleUserScoreDetailByOrderId(Integer orderId);
} }
...@@ -10,8 +10,11 @@ import com.xxfc.platform.vehicle.common.RestResponse; ...@@ -10,8 +10,11 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.common.VehicleBaseController; import com.xxfc.platform.vehicle.common.VehicleBaseController;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata; import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Update;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import sun.java2d.pipe.AATextRenderer; import sun.java2d.pipe.AATextRenderer;
...@@ -62,7 +65,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -62,7 +65,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@GetMapping(value = "/add/fingCatasByParentId/{parentId}") @GetMapping(value = "/add/fingCatasByParentId/{parentId}")
public ObjectRestResponse fingCatasByParentId(@PathVariable Integer parentId ){ public ObjectRestResponse fingCatasByParentId(@PathVariable("parentId") Integer parentId ){
return baseBiz.fingCatasByParentId(parentId); return baseBiz.fingCatasByParentId(parentId);
} }
...@@ -73,7 +76,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -73,7 +76,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@GetMapping(value = "/add/findCascade/{id}") @GetMapping(value = "/add/findCascade/{id}")
public ObjectRestResponse findCascade(@PathVariable Integer id){ public ObjectRestResponse findCascade(@PathVariable("id") Integer id){
return baseBiz.findCascade(id); return baseBiz.findCascade(id);
...@@ -87,14 +90,16 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -87,14 +90,16 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @param sort 分类 0-增加车型页面,1-标签管理页面 * @param sort 分类 0-增加车型页面,1-标签管理页面
* @return * @return
*/ */
@GetMapping(value = "/add/fingCatasByParentId/{page}/{limit}/{sort}") @GetMapping(value = "/add/getCascades/{page}/{limit}/{sort}")
public ObjectRestResponse getCascades( public ObjectRestResponse getCascades(
// @PathVariable("page") Integer page
// ,@PathVariable("limit") Integer limit
// ,@PathVariable("sort") Integer sort){
@PathVariable Integer page @PathVariable Integer page
,@PathVariable Integer limit ,@PathVariable Integer limit
,@PathVariable Integer sort){ ,@PathVariable Integer sort){
return baseBiz.getCascades(page,limit,sort); return baseBiz.getCascades(page,limit,sort);
} }
...@@ -105,14 +110,11 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -105,14 +110,11 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@PostMapping(value = "/add/addCascade/") @PostMapping(value = "/add/addCascade/")
@Transactional
public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){ public ObjectRestResponse addCascade(@RequestBody Cascade<VehiclePlatCata> cascade){
try {
return baseBiz.addCascade(cascade); return baseBiz.addCascade(cascade);
} catch (Exception e) {
e.printStackTrace();
return ObjectRestResponse.createDefaultFail();
}
} }
...@@ -136,7 +138,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -136,7 +138,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
* @return * @return
*/ */
@PutMapping("/add/updateParentRank/{id}/{rank}") @PutMapping("/add/updateParentRank/{id}/{rank}")
public ObjectRestResponse updateParentRank(@PathVariable Integer id,@PathVariable Integer rank){ public ObjectRestResponse updateParentRank(@PathVariable("id") Integer id,@PathVariable("rank") Integer rank){
return baseBiz.updateParentRank(id,rank); return baseBiz.updateParentRank(id,rank);
} }
...@@ -152,6 +154,40 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata ...@@ -152,6 +154,40 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
return baseBiz.getCatasByIds(ids); return baseBiz.getCatasByIds(ids);
} }
/**
* 删除一级标签及其子标签
* @param id 标签id
* @return
*/
@DeleteMapping("/add/deleteCascadeById/{id}")
public ObjectRestResponse deleteCascadeById(@PathVariable("id") Integer id){
return baseBiz.deleteCascadeById(id);
}
/**
* 修改客户端查询条件
* @param id
* @param startUsing
* @return
*/
@PutMapping("/add/setStartUsingById/{id}/{startUsing}")
public ObjectRestResponse setStartUsingById(@PathVariable("id") Integer id,@PathVariable("startUsing") Integer startUsing){
return baseBiz.setStartUsingById(id,startUsing);
}
/**
* 修改单选还是多选
* @param id
* @param isMore
* @return
*/
@PutMapping("/add/setIsMore/{id}/{isMore}")
public ObjectRestResponse setIsMore (@PathVariable("id") Integer id,@PathVariable("isMore") Integer isMore){
return baseBiz.setIsore(id,isMore);
}
/* @RequestMapping(value = "/{id}", method = RequestMethod.GET) /* @RequestMapping(value = "/{id}", method = RequestMethod.GET)
public RestResponse<Vehicle> get(@PathVariable String id) { public RestResponse<Vehicle> get(@PathVariable String id) {
return RestResponse.data(baseBiz.get(id)); return RestResponse.data(baseBiz.get(id));
......
...@@ -314,14 +314,14 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -314,14 +314,14 @@ public class VehicleController extends BaseController<VehicleBiz> {
public ObjectRestResponse<PageDataVO<UsableVehicleModelVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception { public ObjectRestResponse<PageDataVO<UsableVehicleModelVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception {
//根据时间 获得 可用车辆 //根据时间 获得 可用车辆
//结合车型 //结合车型
if(StringUtils.isNotBlank(dto.getCatasStr())) { if (StringUtils.isNotBlank(dto.getCatasStr())) {
List<Integer> catasIds = Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s)-> Integer.parseInt(s)).collect(Collectors.toList()); List<Integer> catasIds = Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s) -> Integer.parseInt(s)).collect(Collectors.toList());
List<VehiclePlatCata> catas = vehiclePlatCataBiz.selectByExample(new Example.Builder(VehiclePlatCata.class) List<VehiclePlatCata> catas = vehiclePlatCataBiz.selectByExample(new Example.Builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId, catasIds)).build()); .where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId, catasIds)).build());
Map<Integer, List<VehiclePlatCata>> vpcMap = new HashMap<Integer, List<VehiclePlatCata>>(); Map<Integer, List<VehiclePlatCata>> vpcMap = new HashMap<Integer, List<VehiclePlatCata>>();
for(VehiclePlatCata vpc : catas) { for (VehiclePlatCata vpc : catas) {
List<VehiclePlatCata> vpcs = vpcMap.get(vpc.getParentId()); List<VehiclePlatCata> vpcs = vpcMap.get(vpc.getParentId());
if(null == vpcs) { if (null == vpcs) {
vpcs = new ArrayList<VehiclePlatCata>(); vpcs = new ArrayList<VehiclePlatCata>();
} }
vpcs.add(vpc); vpcs.add(vpc);
...@@ -367,7 +367,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -367,7 +367,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
//查询可车辆信息 //查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto); PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if(pageDataVO.getData().size() <= 0) { if (pageDataVO.getData().size() <= 0) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
bookVehicleVo.setVehicle(pageDataVO.getData().get(0).getId()); bookVehicleVo.setVehicle(pageDataVO.getData().get(0).getId());
...@@ -387,13 +387,50 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -387,13 +387,50 @@ public class VehicleController extends BaseController<VehicleBiz> {
//获取警告信息 //获取警告信息
List<VehicleWarningMsg> vehicleWarningMsgs = vehicleWarningMsgBiz.getAllByParam(vehiclePlanDto); List<VehicleWarningMsg> vehicleWarningMsgs = vehicleWarningMsgBiz.getAllByParam(vehiclePlanDto);
//获取列表 //获取列表
PageDataVO<VehicleRecordInfoVo> pageDataVO = vehicleBookRecordBiz.getListByParam(vehiclePlanDto); PageDataVO<VehicleAndModelInfoVo> pageDataVO = baseBiz.getAllVehicle(vehiclePlanDto);
Map<String, Object> map = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap();
map.put("vehicleCountVos",vehicleCountVos); map.put("vehicleCountVos",vehicleCountVos);
map.put("vehicleWarningMsgs",vehicleWarningMsgs); map.put("vehicleWarningMsgs",vehicleWarningMsgs);
map.put("vehicleRecordInfoVo",pageDataVO); map.put("vehicleAndModelInfoVo",pageDataVO);
return ObjectRestResponse.succ(map); return ObjectRestResponse.succ(map);
} }
/**
* 保存
*
* @param vehicle
* @return
*/
@PostMapping("/add/seva")
public ObjectRestResponse seva(Vehicle vehicle) {
return baseBiz.save(vehicle);
}
/**
* 查找
* @param vehicleVo
* @param page
* @param limit
* @return
*/
@PostMapping("/add/findListByVehicle/{page}/{limit}")
public ObjectRestResponse findListByVehicle(
@RequestBody VehicleVo vehicleVo
, @PathVariable("page") Integer page
, @PathVariable("limit") Integer limit) {
return baseBiz.findListByVehicle(vehicleVo,page,limit);
}
/**
* 查询一条
* @param id
* @return
*/
@GetMapping("/add/getOneById/{id}")
public ObjectRestResponse getOneById(@PathVariable("id")Integer id){
return baseBiz.getOneById(id);
}
} }
...@@ -4,14 +4,14 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign; ...@@ -4,14 +4,14 @@ 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.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleBiz; import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleDepartureService; import com.xxfc.platform.vehicle.biz.VehicleDepartureService;
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.VehicleDepartureLog;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
...@@ -70,5 +70,38 @@ public class VehicleDepartureController { ...@@ -70,5 +70,38 @@ public class VehicleDepartureController {
return RestResponse.suc(vehicleDepartureService.statistic(numberPlate)); return RestResponse.suc(vehicleDepartureService.statistic(numberPlate));
} }
/**
* 保存(出车)
* @param vehicleDepartureLog
* @return
*/
@PostMapping("/app/save")
public ObjectRestResponse save(@RequestBody VehicleDepartureLog vehicleDepartureLog){
return vehicleDepartureService.save(vehicleDepartureLog);
}
/**
* 查询一条
* @param vid 车辆id
* @return
* @throws Exception
*/
@GetMapping("/app/findOne/{id}")
public ObjectRestResponse findOne(@PathVariable Integer vid) throws Exception {
return vehicleDepartureService.findOne(vid);
}
/**
*
* 收车
* @param vdl
* @return
* @throws Exception
*/
@PutMapping("/app/collect")
public ObjectRestResponse collect(@RequestBody VehicleDepartureLog vdl) throws Exception {
return vehicleDepartureService.collect(vdl);
}
} }
...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -7,6 +7,7 @@ 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;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleCataBiz; import com.xxfc.platform.vehicle.biz.VehicleCataBiz;
import com.xxfc.platform.vehicle.biz.VehicleModelBiz; import com.xxfc.platform.vehicle.biz.VehicleModelBiz;
import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz; import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
...@@ -24,13 +25,17 @@ import io.swagger.annotations.ApiParam; ...@@ -24,13 +25,17 @@ import io.swagger.annotations.ApiParam;
import net.bytebuddy.implementation.bytecode.Throw; import net.bytebuddy.implementation.bytecode.Throw;
import org.apache.commons.lang.StringUtils; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
@RestController @RestController
@RequestMapping("vehicleModel") @RequestMapping("vehicleModel")
...@@ -49,6 +54,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -49,6 +54,7 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@Autowired @Autowired
private UserFeign userFeign; private UserFeign userFeign;
//修改评分 //修改评分
@RequestMapping(value = "/app/addScore", method = RequestMethod.GET) @RequestMapping(value = "/app/addScore", method = RequestMethod.GET)
public RestResponse addScore( public RestResponse addScore(
...@@ -221,16 +227,37 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi ...@@ -221,16 +227,37 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@DeleteMapping(value = "/app/{id}") @DeleteMapping(value = "/app/{id}")
@ResponseBody @ResponseBody
@Transactional @Transactional
public ObjectRestResponse<VehicleModel> remove(@PathVariable int id){ public ObjectRestResponse<VehicleModel> remove(@PathVariable int id) {
try {
vehicleModelBiz.deleteById(id); //1.先判断是否有属于该车型可用的车辆,有不能删除,无可以进行删除
//根据车型查询对应的车辆
// Example exa = Example.builder(Vehicle.class).where(
// WeekendSqls.<Vehicle>custom()
// .andEqualTo(Vehicle::getModelId, id)
// .andEqualTo(Vehicle::getStatus, 1)
// .orEqualTo(Vehicle::getStatus,"2")
// ).build();
//
// List<Vehicle> vehicles = vehicleBiz.selectByExample(exa);
//
// //判断是查询到对应的车辆
// if (vehicles != null) {
// ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "该车型,无法删除");
// }
//2.进行逻辑删除
VehicleModel vm = new VehicleModel();
vm.setId(id);
vm.setIsdel(1);
vehicleModelBiz.updateById(vm);
//3.删除车型对应的标签
VehicleCata vehicleCata = new VehicleCata(); VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setVehicleModelId(id); vehicleCata.setVehicleModelId(id);
vehicleCataBiz.delete(vehicleCata); vehicleCata.setIsdel(1);
vehicleCataBiz.updateIsdalByVehicleModelId(vehicleCata);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(ResultCode.FAILED_CODE);
}
} }
} }
\ No newline at end of file
package com.xxfc.platform.vehicle.rest; package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.annotation.BeanValid;
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.github.wxiaoqi.security.common.vo.PageDataVO;
...@@ -12,7 +14,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -12,7 +14,7 @@ import org.springframework.web.bind.annotation.*;
/** /**
* @author libin * @author libin
* @version 1.0 * @version 1.0
* @description 评 * @description 评
* @data 2019/6/18 15:32 * @data 2019/6/18 15:32
*/ */
@RestController @RestController
...@@ -20,27 +22,43 @@ import org.springframework.web.bind.annotation.*; ...@@ -20,27 +22,43 @@ import org.springframework.web.bind.annotation.*;
public class VehicleUserScoreController extends BaseController<VehicleUserScoreBiz, VehicleUserScore> { public class VehicleUserScoreController extends BaseController<VehicleUserScoreBiz, VehicleUserScore> {
/** /**
* 保存评 * 保存评
* @param vehicleUserScoreDTO * @param vehicleUserScoreDTO
* @param appUserDTO
* @return * @return
*/ */
@PostMapping("/score") @PostMapping("/score")
public ObjectRestResponse<Void> saveVehicleUserScore(VehicleUserScoreDTO vehicleUserScoreDTO){ public ObjectRestResponse<Void> saveVehicleUserScore(@RequestBody @BeanValid VehicleUserScoreDTO vehicleUserScoreDTO, AppUserDTO appUserDTO){
int effectRows = getBaseBiz().saveVehicleUserScore(vehicleUserScoreDTO); int effectRows = getBaseBiz().saveVehicleUserScore(vehicleUserScoreDTO,appUserDTO);
if (effectRows>0){ if (effectRows>0){
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
/** /**
* 根据车型查询评分列表 * 根据车型查询评论列表 根据评分时间排序
* *
* @param modelId * @param modelId
* @param pageNo
* @param pageSize
* @return * @return
*/ */
@GetMapping("/scores") @GetMapping("/app/unauth/scores")
public ObjectRestResponse<PageDataVO<VehicleUserScoreVo>> findVehicleUserScorePageByModelId(@RequestParam("modelId") Integer modelId) { public ObjectRestResponse<PageDataVO<VehicleUserScoreVo>> findVehicleUserScorePageByModelId(@RequestParam("modelId") Integer modelId,
PageDataVO<VehicleUserScoreVo> pageDataVO = getBaseBiz().findVehicleUserScorePageByModelId(modelId); @RequestParam(value = "pageNo",required = false,defaultValue = "1")Integer pageNo,
@RequestParam(value = "pageSize",required = false,defaultValue = "10") Integer pageSize) {
PageDataVO<VehicleUserScoreVo> pageDataVO = getBaseBiz().findVehicleUserScorePageByModelId(modelId,pageNo,pageSize);
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
} }
/**
* 根据订单id查询评价详情
* @param orderId
* @return
*/
@GetMapping("/score/order/{orderId}")
public ObjectRestResponse findVehicleUserScoreDetailByOrderId(@PathVariable("orderId") Integer orderId){
VehicleUserScoreVo vehicleUserScoreVo = getBaseBiz().findVehicleUserScoreDetailByOrderId(orderId);
return ObjectRestResponse.succ(vehicleUserScoreVo);
}
} }
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper" > <mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper" >
<resultMap id="getVehicleMap" type="com.xxfc.platform.vehicle.pojo.VehicleRecordInfoVo"> <resultMap id="getVehicleMap" type="com.xxfc.platform.vehicle.pojo.VehicleRecordInfoVo">
<association property="vehicleId" column="vehicle" select="com.xxfc.platform.vehicle.mapper.VehicleMapper.selectByPrimaryKey" /> <association property="vehicle" column="vehicle_id" select="com.xxfc.platform.vehicle.mapper.VehicleMapper.selectById" />
</resultMap> </resultMap>
<update id="changeRecordStatus" parameterType="java.util.Map"> <update id="changeRecordStatus" parameterType="java.util.Map">
...@@ -312,13 +312,50 @@ ...@@ -312,13 +312,50 @@
where id = #{id} where id = #{id}
</select> </select>
<select id="getByVehicleId" parameterType="java.lang.String" resultType="com.xxfc.platform.vehicle.entity.VehicleBookRecord" >
select
vbr.`id`,
vbr.`vehicle_id`,
vbr.`status`,
vbr.`book_type`,
vbr.`book_user`,
vbr.`book_user_name`,
vbr.`contact_info`,
vbr.`book_start_date`,
vbr.`book_end_date`,
vbr.`lift_location`,
vbr.`lift_addr`,
vbr.`remark`,
vbr.`create_time`,
vbr.`update_time`,
vbr.`destination`,
vbr.`reviewer_apply`,
vbr.`reviewer_name_apply`,
vbr.`reviewer_return`,
vbr.`reviewer_name_return`,
vbr.`reviewer_cancel`,
vbr.`reviewer_name_cancel`,
vbr.`actual_start_date`,
vbr.`actual_end_date`,
vbr.`reviewer_lift`,
vbr.`reviewer_name_lift`,
vbr.lift_company,
vbr.lift_remark,
vbr.ret_company,
vbr.mileage_lift,
vbr.mileage_ret,
vbr.have_violation,
vbr.ret_remark
from vehicle_book_record vbr
where vehicle_id = #{vehicleId}
</select>
<select id="getByParam" parameterType="java.util.Map" resultMap="getVehicleMap"> <select id="getByParam" parameterType="java.util.Map" resultMap="getVehicleMap">
select v1.* from vehicle_book_record v1 select v1.* from vehicle_book_record v1
left join vehicle v2 on v2.id = v1.vehicle left join vehicle v2 on v2.id = v1.vehicle_id
<where> <where>
<if test="startTime != null"> <if test="startTime != null">
and v1.create_time between startTime and endTime and v1.create_time between #{startTime} and #{endTime}
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v2.number_plate = #{numberPlate} and v2.number_plate = #{numberPlate}
...@@ -333,6 +370,7 @@ ...@@ -333,6 +370,7 @@
and v2.park_branch_company_id = #{parkBranchCompanyId} and v2.park_branch_company_id = #{parkBranchCompanyId}
</if> </if>
</where> </where>
order By v1.create_time DESC
</select> </select>
<insert id="createTbIfNotExists" parameterType="java.lang.String"> <insert id="createTbIfNotExists" parameterType="java.lang.String">
......
...@@ -36,5 +36,10 @@ ...@@ -36,5 +36,10 @@
</trim> </trim>
) and vehicle_model_id=#{vehicleModelId} ) and vehicle_model_id=#{vehicleModelId}
</update> </update>
<update id="updateIsdalByVehicleModelId" parameterType="com.xxfc.platform.vehicle.entity.VehicleCata">
update vehicle_cata set isdel=#{isdel} where vehicle_model_id=#{vehicleModelId}
</update>
<update id="updateIsdalByVehicleCataId" parameterType="com.xxfc.platform.vehicle.entity.VehicleCata">
update vehicle_cata set isdel=#{isdel} where cata_id=#{cataId}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -14,6 +14,12 @@ ...@@ -14,6 +14,12 @@
<!-- <association property="vehicle" column="vehicle_id" select="com.xxfc.platform.vehicle.mapper.VehicleMapper.selectByPrimaryKey" />--> <!-- <association property="vehicle" column="vehicle_id" select="com.xxfc.platform.vehicle.mapper.VehicleMapper.selectByPrimaryKey" />-->
</resultMap> </resultMap>
<resultMap id="searchModel" type="com.xxfc.platform.vehicle.pojo.VehicleAndModelInfoVo">
<association property="vehicleModel" column="model_id"
select="com.xxfc.platform.vehicle.mapper.VehicleModelMapper.selectByPrimaryKey"/>
<association property="vehicleBookRecord" column="id" select="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper.getByVehicleId" />
</resultMap>
<update id="updateStatusById" parameterType="java.util.Map"> <update id="updateStatusById" parameterType="java.util.Map">
update vehicle set status = #{status} where id in update vehicle set status = #{status} where id in
<foreach collection="idList" index="i" item="item" separator="," open="(" close=")"> <foreach collection="idList" index="i" item="item" separator="," open="(" close=")">
...@@ -239,6 +245,12 @@ ...@@ -239,6 +245,12 @@
where number_plate = #{numberPlate} where number_plate = #{numberPlate}
</select> </select>
<select id="selectById" resultMap="searchModel">
select * from vehicle
where id = #{id}
order By create_time DESC
</select>
<update id="updateStatusByIdAndStatus"> <update id="updateStatusByIdAndStatus">
update vehicle update vehicle
set status = #{status} set status = #{status}
...@@ -297,7 +309,27 @@ ...@@ -297,7 +309,27 @@
distance asc distance asc
</if> </if>
</select> </select>
<select id="getAllVehicle" parameterType="java.util.Map" resultMap="searchModel">
select *
from vehicle v1
<where>
<if test="startTime != null">
and v1.create_time between #{startTime} and #{endTime}
</if>
<if test="numberPlate != null">
and v1.number_plate = #{numberPlate}
</if>
<if test="status != null">
and v1.status = #{status}
</if>
<if test="subordinateBranch != null">
and v1.subordinate_branch = #{subordinateBranch}
</if>
<if test="parkBranchCompanyId != null">
and v1.park_branch_company_id = #{parkBranchCompanyId}
</if>
</where>
</select>
<select id="countVehicleByParam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto" <select id="countVehicleByParam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto"
resultType="com.xxfc.platform.vehicle.pojo.VehicleCountVo"> resultType="com.xxfc.platform.vehicle.pojo.VehicleCountVo">
SELECT count(*) total , SELECT count(*) total ,
...@@ -325,10 +357,10 @@ ...@@ -325,10 +357,10 @@
ELSE ELSE
'不可用' '不可用'
END detail END detail
from vehicle v1 GROUP BY travel_status from vehicle v1
<where> <where>
<if test="startTime != null"> <if test="startTime != null">
and v1.update_time between startTime and endTime and v1.create_time between #{startTime} and #{endTime}
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v1.number_plate = #{numberPlate} and v1.number_plate = #{numberPlate}
...@@ -343,11 +375,12 @@ ...@@ -343,11 +375,12 @@
and v1.park_branch_company_id = #{parkBranchCompanyId} and v1.park_branch_company_id = #{parkBranchCompanyId}
</if> </if>
</where> </where>
GROUP BY travel_status
union all union all
SELECT count(*) total, '0' travel_status, '总数' detail from vehicle v2 SELECT count(*) total, '0' travel_status, '总数' detail from vehicle v2
<where> <where>
<if test="startTime != null"> <if test="startTime != null">
and v2.update_time between startTime and endTime and v2.create_time between #{startTime} and #{endTime}
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v2.number_plate = #{numberPlate} and v2.number_plate = #{numberPlate}
...@@ -380,10 +413,10 @@ ...@@ -380,10 +413,10 @@
ELSE ELSE
'报废' '报废'
END travel_status END travel_status
FROM vehicle v3 GROUP BY status FROM vehicle v3
<where> <where>
<if test="startTime != null"> <if test="startTime != null">
and v3.update_time between startTime and endTime and v3.create_time between #{startTime} and #{endTime}
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v3.number_plate = #{numberPlate} and v3.number_plate = #{numberPlate}
...@@ -398,6 +431,7 @@ ...@@ -398,6 +431,7 @@
and v3.park_branch_company_id = #{parkBranchCompanyId} and v3.park_branch_company_id = #{parkBranchCompanyId}
</if> </if>
</where> </where>
GROUP BY status
</select> </select>
......
...@@ -26,4 +26,8 @@ ...@@ -26,4 +26,8 @@
</if> </if>
ORDER BY vmqc.id ASC ORDER BY vmqc.id ASC
</select> </select>
<update id="updateScoreByModelIdAndavgScore">
update `vehicle_model` set `score`=(`score`+#{avgScore})/2 where `id`=#{modelId}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<insert id="addPlatCataList" parameterType="java.util.List"> <insert id="addPlatCataList" parameterType="java.util.List">
insert into vehicle_plat_cata ( insert into vehicle_plat_cata (
parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,isMore parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,isMore,start_using
) VALUES ) VALUES
<foreach collection ="vpclist" item="vpc" index="index" separator =","> <foreach collection ="vpclist" item="vpc" index="index" separator =",">
(#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict} (#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict}
,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime} ,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime}
,#{vpc.updTime},#{vpc.isMore}) ,#{vpc.updTime},#{vpc.isMore},#{vpc.startUsing})
</foreach> </foreach>
</insert> </insert>
......
...@@ -21,4 +21,9 @@ ...@@ -21,4 +21,9 @@
<result property="isDel" column="is_del"/> <result property="isDel" column="is_del"/>
</resultMap> </resultMap>
<select id="findVehicleUserScoreDetailByOrderId"
resultType="com.xxfc.platform.vehicle.pojo.dto.VehicleUserScoreDetailDTO">
SELECT vus.user_id as `userId`,vus.ave_score as `aveScore`,vus.comment as `comment`, vus.imgs as `imgs`,vus.crt_time as `crtTime`,vus.scores as `scores`,vm.name as `modelName`,vm.keyword as `modelKeyWorld`
FROM `vehicle_user_score` as `vus` left JOIN `vehicle_model` as `vm` on vus.model_id=vm.id WHERE vus.order_id=#{orderId} ;
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
and w.vehicle_id = #{vehicleId} and w.vehicle_id = #{vehicleId}
</if> </if>
<if test="startTime != null"> <if test="startTime != null">
and w.create_time between startTime and endTime and w.create_time between #{startTime} and #{endTime}
</if> </if>
<if test="numberPlate != null"> <if test="numberPlate != null">
and v.number_plate = #{numberPlate} and v.number_plate = #{numberPlate}
......
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