Commit 3abf9761 authored by libin's avatar libin

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

parents 46420fcc 80fa8c63
......@@ -86,7 +86,7 @@ public class CommonLogServiceImpl implements CommonLogService {
}
@Override
public void run() {
mongoTemplate.insert(xxLogEntity, xxLogEntity.getMongoKey());
// mongoTemplate.insert(xxLogEntity, xxLogEntity.getMongoKey());
}
}
......
......@@ -74,9 +74,4 @@ public class BaseUserMemberVO implements Serializable {
@Column(name = "name")
private String name;
}
......@@ -51,22 +51,17 @@ public class AppUserManageVo {
@Column(name = "source")
private Integer source;
/**
* 邀请人id
*/
@Column(name = "inviter_account")
private String inviterAccount;
/**
* 省代码
*/
@Column(name = "province_code")
private String provinceCode;
private Integer provinceCode;
/**
* 市代码
*/
@Column(name = "city_code")
private String cityCode;
private Integer cityCode;
/**
* 用户性别
......@@ -108,7 +103,7 @@ public class AppUserManageVo {
* 有效期;0代表永久
*/
@Column(name = "valid_time")
private Integer validTime;
private Long validTime;
/**
* 创建时间
......@@ -160,4 +155,9 @@ public class AppUserManageVo {
* 头像
*/
private String headimgurl;
/**
* 邀请人用户名
*/
private String inviter;
}
......@@ -207,7 +207,7 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
* @param baseUserMemberVO
*/
@Transactional(rollbackFor = Exception.class)
public void setUserMember(BaseUserMemberVO baseUserMemberVO) throws InvocationTargetException, IllegalAccessException {
public void UpdateUserMember(BaseUserMemberVO baseUserMemberVO) throws InvocationTargetException, IllegalAccessException {
Example exa = Example.builder(BaseUserMember.class).where(
WeekendSqls.<BaseUserMember>custom()
......@@ -219,11 +219,14 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
BaseUserMember baseUserMember = new BaseUserMember();
BeanUtilsBean.getInstance().copyProperties(baseUserMember,baseUserMemberVO);
if (baseUserMembers==null||baseUserMembers.size()==0) {
if (baseUserMemberVO.getMemberLevel()==null||baseUserMember.getValidTime()==null) return;
baseUserMember.setCrtTime(System.currentTimeMillis());
baseUserMember.setIsDel(0);
baseUserMember.setPayCount(0);
baseUserMember.setCardLeave(0);
baseUserMember.setCardLeave(1);
baseUserMember.setRecentRecharge(System.currentTimeMillis());
Integer buyCount = baseUserMember.getBuyCount()==null? 0:baseUserMember.getBuyCount();
baseUserMember.setBuyCount(buyCount+1);
insertSelective(baseUserMember);
return;
}else if (baseUserMembers.size()==1){
......
......@@ -63,4 +63,5 @@ public class AppUsersManageController extends BaseController<AppUserManageBiz,Ap
}
}
......@@ -36,10 +36,10 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz,
* @param baseUserMemberVO
* @return
*/
@PostMapping("/setUserMember")
public ObjectRestResponse setUserMember(@RequestBody BaseUserMemberVO baseUserMemberVO)
@PutMapping("/setUserMember")
public ObjectRestResponse UpdateUserMember(@RequestBody BaseUserMemberVO baseUserMemberVO)
throws InvocationTargetException, IllegalAccessException {
baseBiz.setUserMember(baseUserMemberVO);
baseBiz.UpdateUserMember(baseUserMemberVO);
return ObjectRestResponse.succ();
}
}
......@@ -56,7 +56,6 @@
d.isdel,
d.nickname,
d.source,
d.Inviter_account as inviterAccount,
d.province_code as provinceCode,
d.city_code as cityCode,
d.sex,
......@@ -69,12 +68,18 @@
m.rent_free_days as rentFreeDays,
m.crt_time as timeOfMembership,
m.recent_recharge as recentRecharge,
m.name as memberName
m.name as memberName,
ul.username as inviter
from
app_user_login l
left join
app_user_detail d
on d.userid = l.id
on
d.userid = l.id
left join
app_user_login ul
on
ul.id=d.inviter_account
left join
(
select
......@@ -89,10 +94,13 @@
) m
on
l.id = m.user_id
where 1=1
<if test="mobile !=null">
and l.username=#{mobile}
and l.username like CONCAT('%',#{mobile},'%')
</if>
<if test="channel !=null">
and d.channel=#{channel}
......@@ -107,7 +115,7 @@
and l.createtime &lt;= #{registrationTimeEnd}
</if>
<if test="source !=null">
and d.source &lt;= #{source}
and d.source = #{source}
</if>
order by l.id ASC
......
......@@ -294,4 +294,11 @@ public class OrderRentVehicleDetail implements Serializable {
@ApiModelProperty(value = "是否购买免赔")
private Integer damageSafe;
/**
* 是否处理违章 0--未处理;1--已处理
*/
@ApiModelProperty(value = "是否购买免赔")
@Column(name = "handel_violation")
private Integer handelViolation;
}
package com.xxfc.platform.order.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.util.Date;
@Data
public class OrderViolation {
@Id
@GeneratedValue(generator ="JDBC")
private Integer id;
/**
* 违章总金额
*/
@Column(name="price")
private Double price;
/**
* 租车订单id
*/
@Column(name = "detail_id")
private Integer detailId;
/**
* 违章截图
*/
@Column(name = "picture")
private String picture;
/**
* 创建人id
*/
@Column(name = "crt_user_id")
private Integer crtUserId;
/**
* 创建人姓名
*/
@Column(name = "crt_name")
private String crtName;
/**
* 创建人host
*/
@Column(name = "crt_host")
private String crtHost;
/**
* 创建时间
*/
@JsonFormat(pattern="yyyy-MM-dd:HH:mm:ss",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd:HH:mm:ss")
@Column(name = "crt_time")
private Date crtTime;
/**
* 修改时间
*/
@JsonFormat(pattern="yyyy-MM-dd:HH:mm:ss",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd:HH:mm:ss")
@Column(name = "upd_time")
private Date updTime;
/**
* 修改人id
*/
@Column(name = "upd_user_id")
private Integer updUserId;
/**
* 修改人姓名
*/
@Column(name = "upd_name")
private String updName;
/**
* 修改人host
*/
@Column(name = "upd_host")
private String updHost;
/**
* 是否已删除:0-否,1-是
*/
@Column(name="is_del")
private Integer isDel;
}
......@@ -12,6 +12,9 @@ public class QueryOrderDTO extends PageParam {
@ApiModelProperty(hidden = false)
private Integer crtUser;
@ApiModelProperty(hidden = false)
private Integer userId;
@ApiModelProperty(hidden = false)
private Integer crtCompanyId;
......
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderViolation;
import com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper;
import com.xxfc.platform.order.mapper.OrderViolationMapper;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.RedisKey;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
/**订单违章记录biz
* @author Administrator
*/
@Service
@Slf4j
public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolation> {
@Autowired
private OrderRentVehicleDetailMapper detailMapper;
@Value("order.violation.upload")
private String ovUpload;
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
@Autowired
private RedisTemplate redisTemplate;
/**
* 保存违章记录
* @param orderViolation
*/
@Transactional(rollbackFor = Exception.class)
public void insertOrderViolation(OrderViolation orderViolation) {
OrderRentVehicleDetail orderRentVehicleDetail = new OrderRentVehicleDetail();
orderRentVehicleDetail.setId(orderViolation.getDetailId());
orderRentVehicleDetail.setHandelViolation(0);
mapper.insertSelective(orderViolation);
detailMapper.updateByPrimaryKeySelective(orderRentVehicleDetail);
}
/**
* 修改违章记录
* @param orderViolation
*/
@Transactional(rollbackFor = Exception.class)
public void updateOrderViolation(OrderViolation orderViolation) {
OrderRentVehicleDetail orderRentVehicleDetail = detailMapper.selectByPrimaryKey(orderViolation.getDetailId());
if (orderRentVehicleDetail.getHandelViolation()==0) {
mapper.updateByPrimaryKeySelective(orderViolation);
}else {
throw new BaseException("The violation has been dealt with and cannot be modified");
}
}
public ObjectRestResponse uploadViolation(MultipartFile file) throws IOException {
DateTime now = DateTime.now();
String dirPathToday = File.separator + now.toString(DEFAULT_DATE_TIME_FORMATTER);
String redisNoKey = RedisKey.UPLOAD_FILE_NO_PREFIX + now.toString(DEFAULT_DATE_TIME_FORMATTER);
Long no = redisTemplate.opsForValue().increment(redisNoKey);
if(no.equals(1L)){
redisTemplate.expire(redisNoKey,1, TimeUnit.DAYS);
}
String fileName = file.getOriginalFilename();
String realFileRelPath = dirPathToday + File.separator+no+fileName.substring(fileName.lastIndexOf("."));
String filePath = ovUpload + realFileRelPath;
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(filePath));
return ObjectRestResponse.succ(filePath);
}
/**
* 下载行驶证图片
* @param realFileRelPath
* @return
* @throws Exception
*/
public ResponseEntity<byte[]> downloadViolation(String realFileRelPath) throws Exception{
String filePath = ovUpload + realFileRelPath;
File file = new File(filePath);//新建一个文件
HttpHeaders headers = new HttpHeaders();//http头信息
String downloadFileName = new String(file.getName());//设置编码
headers.setContentDispositionFormData("attachment", downloadFileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
}
}
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderViolation;
import tk.mybatis.mapper.common.Mapper;
public interface OrderViolationMapper extends Mapper<OrderViolation> {
}
......@@ -186,6 +186,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if(startResponse.getData() != null) {
orderPageVO.setStartCompanyName(startResponse.getData().getName());
}
ObjectRestResponse<CompanyDetail> restResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getEndCompanyId());
if(restResponse.getData() != null) {
orderPageVO.setEndCompanyName(restResponse.getData().getName());
......
package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.biz.OrderViolationBiz;
import com.xxfc.platform.order.entity.OrderViolation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
/**
* 订单违章表
*
* @author Administrator
*/
@RestController
@RequestMapping("orderViolation")
public class OrderViolationController extends BaseController<OrderViolationBiz, OrderViolation> {
@Autowired
private UserFeign userFeign;
private Long MAX_DRIVING_LICENSE_SIZE = 1024 * 1024 * 50L;
private final String FILE_TYPE="JPG";
/**
* 获取操作用户信息
*/
private UserDTO getUserDTO() {
ObjectRestResponse<UserDTO> orrUserDTO = userFeign.userinfoByToken(request.getHeader("Authorization"));
if (orrUserDTO == null || orrUserDTO.getData() == null || orrUserDTO.getData().getId() == null) {
throw new BaseException("This user does not exist");
}
UserDTO userDTOD = orrUserDTO.getData();
return userDTOD;
}
/**
* 保存违章记录
*
* @param orderViolation
* @param request
* @return
*/
@PostMapping("/saveOrderViolation")
public ObjectRestResponse saveOrderViolation(@RequestBody OrderViolation orderViolation, HttpServletRequest request) {
UserDTO userDTOD = getUserDTO();
orderViolation.setCrtHost(request.getRemoteHost());
orderViolation.setCrtName(userDTOD.getName());
orderViolation.setCrtUserId(userDTOD.getId());
orderViolation.setCrtTime(new Date());
getBaseBiz().insertOrderViolation(orderViolation);
return ObjectRestResponse.succ();
}
/**
* 通过订单id查询违章记录
*
* @param detailId
* @return
*/
@GetMapping("/getOne/{detailId}")
public ObjectRestResponse<OrderViolation> getOne(@PathVariable Integer detailId) {
Example exa = Example.builder(OrderViolation.class)
.where(WeekendSqls.<OrderViolation>custom().andEqualTo(OrderViolation::getDetailId, detailId)
.andEqualTo(OrderViolation::getIsDel, 0)).build();
List<OrderViolation> orderViolations = getBaseBiz().selectByExample(exa);
if (orderViolations.size() > 1) {
throw new BaseException("The database has multiple records");
}
OrderViolation orderViolation= new OrderViolation();
orderViolation=(orderViolations.size()==0)? null:orderViolations.get(0);
return ObjectRestResponse.succ(orderViolation);
}
/**
* 保存修改违章记录
*
* @param orderViolation
* @param request
* @return
*/
@PutMapping("/updateOrderViolation")
public ObjectRestResponse updateOrderViolation(@RequestBody OrderViolation orderViolation, HttpServletRequest request) {
UserDTO userDTOD = getUserDTO();
orderViolation.setUpdHost(request.getRemoteHost());
orderViolation.setUpdName(userDTOD.getName());
orderViolation.setUpdUserId(userDTOD.getId());
orderViolation.setUpdTime(new Date());
getBaseBiz().updateOrderViolation(orderViolation);
return ObjectRestResponse.succ();
}
@PostMapping(value = "/upload/violation")
public ObjectRestResponse uploadViolation(@RequestParam("file") MultipartFile file)
throws Exception {
Assert.notNull(file);
//文件类型
String contentType = file.getContentType();
if (!FILE_TYPE.equalsIgnoreCase(contentType)||"png".equalsIgnoreCase(contentType)) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"Picture format error");
}
if (file.getSize() > MAX_DRIVING_LICENSE_SIZE) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"Picture is too large");
}
return baseBiz.uploadViolation(file);
}
@GetMapping(value = "/download/Violation/{realFileRelPath}") //匹配的是href中的download请求
public ResponseEntity<byte[]> downloadViolation(@RequestParam("realFileRelPath") String realFileRelPath) throws Exception {
return baseBiz.downloadViolation(realFileRelPath);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xxfc.platform.order.mapper.OrderViolationMapper" >
</mapper>
\ No newline at end of file
......@@ -73,4 +73,12 @@ public interface VehicleFeign {
*/
@GetMapping(value = "/vehicleModel/goodList")
List<GoodDataVO> goodList(@RequestParam(value = "page") Integer page, @RequestParam("limit") Integer limit);
/**
* 根据一个id获取城市
* @param id
* @return
*/
@GetMapping("/sysRegion/getSysRegionById/{id}")
RestResponse getSysRegionById(@PathVariable Integer id);
}
......@@ -75,4 +75,23 @@ public class SysRegionController extends BaseController<SysRegionBiz> {
}
/**
* 根据一个id获取城市
* @param id
* @return
*/
@GetMapping("/getSysRegionById/{id}")
public RestResponse getSysRegionById(@PathVariable Integer id){
Example exam = Example.builder(SysRegion.class)
.where(WeekendSqls.<SysRegion>custom()
.andEqualTo(SysRegion::getId,id)).build();
List<SysRegion> sysRegions = baseBiz.selectByExample(exam);
if (sysRegions==null||sysRegions.size()!=1) {
RestResponse.suc();
}
return RestResponse.suc( sysRegions.get(0));
}
}
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