Commit 5c239dbf authored by hanfeng's avatar hanfeng

Merge branch 'dev' of http://10.5.52.3/youjj/cloud-platform into base-modify

# Conflicts:
#	xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/feign/OrderFeign.java
parents 01a72da0 052dba16
......@@ -110,11 +110,7 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
return mapper.select(user);
}
public User getUserByUid(Integer toUid){
User user=mapper.getUserByUid(toUid);
if(user!=null){
user=mapper.selectByPrimaryKey(user.getId());
}
return user;
public User getUserByUid(Integer userId){
return mapper.selectByPrimaryKey(userId);
}
}
......@@ -43,10 +43,9 @@ public class AppUserRelationController extends BaseController<AppUserRelationBiz
@ApiModelProperty("app分享绑定")
public ObjectRestResponse bind(
@RequestParam(value = "code",defaultValue = "")String code,
@RequestParam(value = "userid",defaultValue = "0")Integer userid,
HttpServletRequest request){
try {
//Integer userid = Integer.parseInt(userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId());
Integer userid = Integer.parseInt(userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId());
return baseBiz.appBindRelation(userid,code);
} catch (Exception e) {
e.printStackTrace();
......
......@@ -149,6 +149,12 @@ public class UserCouponVo {
*/
@ApiModelProperty(value = "跳转链接")
private String url;
/**
* 是否选中
*/
@ApiModelProperty(value = "是否选中")
private Integer isChecked;
}
package com.xxfc.platform.activity.biz;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.dto.UserInfoDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
......@@ -139,6 +140,8 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
}
Long time=System.currentTimeMillis();
List<UserCouponVo> list=mapper.getUserCouponsByType(userId,type,time,channel);
List<UserCouponVo> list1=new ArrayList<>();
List<UserCouponVo> list2=new ArrayList<>();
if(list.size()>0){
for (UserCouponVo couponVo:list){
Integer status=2;
......@@ -147,16 +150,77 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
if (amout.compareTo(couponVo.getWithAmount())>=0){
status=1;
}
couponVo.setStatus(status);
list1.add(couponVo);
}else if (couponVo.getType()==3){
status=1;
couponVo.setStatus(status);
list2.add(couponVo);
}
}
}
// list.sort(Comparator.comparing(UserCouponVo::getStatus));
}
UserCouponVo userCouponVo=null;
if (list2.size()>0){
userCouponVo=list2.get(0);
if (userCouponVo!=null){
userCouponVo.setIsChecked(1);
list2.set(0,userCouponVo);
}
list2.sort(Comparator.comparing(UserCouponVo::getStatus));
}
if (list1.size()>0){
if (userCouponVo==null){
userCouponVo=list1.get(0);
if (userCouponVo!=null){
userCouponVo.setIsChecked(1);
list1.set(0,userCouponVo);
}
}
list1.sort(Comparator.comparing(UserCouponVo::getStatus));
}
JSONArray array = new JSONArray();
JSONObject object=new JSONObject();
object.put("type",1);
object.put("list",list1);
array.add(object);
JSONObject object1=new JSONObject();
object1.put("type",3);
object1.put("list",list2);
array.add(object1);
JSONObject result=new JSONObject();
result.put("coupon",userCouponVo);
result.put("array",array);
return ObjectRestResponse.succ(result);
}
//获取我的优惠卷
public ObjectRestResponse getUserCouponList(Integer userId,int type,Integer channel,BigDecimal amout) {
if (userId == null || userId == 0) {
log.error("----参数不能为空");
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数不能为空");
}
Long time = System.currentTimeMillis();
List<UserCouponVo> list = mapper.getUserCouponsByType(userId, type, time, channel);
if (list.size() > 0) {
for (UserCouponVo couponVo : list) {
Integer status = 2;
if (amout.compareTo(new BigDecimal("0.00")) > 0) {
if (couponVo.getType() == 1) {
if (amout.compareTo(couponVo.getWithAmount()) >= 0) {
status = 1;
}
} else if (couponVo.getType() == 3) {
status = 1;
}
}
couponVo.setStatus(status);
}
list.sort(Comparator.comparing(UserCouponVo::getStatus));
}
return ObjectRestResponse.succ(list);
return ObjectRestResponse.succ(list);
}
......
......@@ -45,6 +45,25 @@ public class UserCouponController extends ActivityBaseController<UserCouponBiz>
if(userId==null){
return ObjectRestResponse.createDefaultFail();
}
return baseBiz.getUserCouponList(userId,type,channel,amount);
}
/**
*
* @param type 0-未使用;1-已使用;3-已过期
* @param channel 1-租车;2-旅游;null-全部
* @return
*/
@ApiOperation("订单我的优惠卷")
@RequestMapping(value = "/coupon/typelist", method = RequestMethod.GET)
public ObjectRestResponse typelist(@RequestParam(value = "type",defaultValue = "0") Integer type,
@RequestParam(value = "channel",required = false) Integer channel,
@RequestParam(value = "amount",defaultValue = "0.00") BigDecimal amount) {
AppUserDTO userInfo = getUserInfo();
Integer userId = userInfo.getUserid();
if(userId==null){
return ObjectRestResponse.createDefaultFail();
}
return baseBiz.getCouponList(userId,type,channel,amount);
}
......
......@@ -52,7 +52,7 @@ public class AppHomeController extends BaseController<CofigBiz,Cofig> {
}else if (type==3){
list=campsiteFeign.goodList(page,limit);
}else if (type==4){
list=vehicleFeign.goodList(page,limit);
return vehicleFeign.goodList(page,limit);
}
return new ObjectRestResponse<>().rel(true).data(list);
}
......
......@@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.im.dto.CommentVo;
import com.xxfc.platform.im.dto.PraiseVo;
import com.xxfc.platform.im.model.Comment;
......@@ -122,6 +123,36 @@ public class MsgBiz {
return ObjectRestResponse.succ();
}
public ObjectRestResponse getMsgListByUserId(Integer page, Integer limit) {
//获取所有朋友圈
page = page == null ? 1 : page;
limit = limit == null ? 10 : limit;
AppUserDTO appUserDTO = userBiz.getUserInfo();
Integer userId = null;
if(appUserDTO != null) {
userId = appUserDTO.getImUserid();
} else {
return ObjectRestResponse.createFailedResult(ResultCode.RSTOKEN_EXPIRED_CODE, "token失效");
}
Pageable pageable = PageRequest.of(--page, limit);
List<Integer> ids = new ArrayList<>();
ids.add(2);
ids.add(4);
Query query = new Query(Criteria.where("body.type").in(ids));
query.addCriteria(Criteria.where("userId").is(userId));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable);
query.with(new Sort(Sort.Direction.DESC, "time"));
List<Msg> msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId);
PageInfo<Msg> goodPageInfo = new PageInfo<>(msgList);
goodPageInfo.setPageSize(totalSize%limit == 0 ?totalSize/limit : totalSize/limit + 1);
return ObjectRestResponse.succ(goodPageInfo);
}
/**
* 添加评论和点赞
*
......
......@@ -31,4 +31,8 @@ public class MsgController {
return msgBiz.get(id);
}
@GetMapping(value = "/getByUserId")
public ObjectRestResponse getByUserId(Integer page, Integer limit) {
return msgBiz.getMsgListByUserId(page, limit);
}
}
......@@ -63,6 +63,11 @@ public class DepositRefundRecord {
*/
@Transient
OrderViolation orderViolation;
/**
* 剩余押金预计到账时间
*/
@Transient
Long rentDepositAutoRefundTime;
}
\ No newline at end of file
......@@ -12,11 +12,12 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Created by ace on 2017/9/15.
*/
@FeignClient(name = "xx-order")
@FeignClient(name = "order")
public interface OrderFeign {
@GetMapping("/baseOrder/entityList")
public ObjectRestResponse<List<BaseOrder>> baseOrderEntityList(@RequestParam("entity") Map<String, Object> entity);
......
......@@ -3,6 +3,7 @@ package com.xxfc.platform.order.pojo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class DedDetailDTO {
......@@ -24,4 +25,13 @@ public class DedDetailDTO {
//1、延期, 2、车辆损坏 3、其他
Integer type;
//小雨都不知道什么东西
Integer statusIndex;
//定损凭证
List<String> picList;
//type对应的中文
String statusName;
}
......@@ -28,10 +28,15 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
* 驾驶人身份证号
*/
private String licenseIdCard;
/**
* 客服电话
*/
private String customerPhone;
private String vehicleNumberPlat;
private String username;
List<DepositRefundRecord> depositRefundRecord;
}
......@@ -2,6 +2,7 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
......@@ -11,6 +12,7 @@ import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -33,6 +35,12 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
BaseOrderBiz baseOrderBiz;
@Autowired
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
UserFeign userFeign;
@Autowired
VehicleFeign vehicleFeign;
@Autowired
OrderVehicleCrosstownBiz orderVehicleCrosstownBiz;
......@@ -94,8 +102,8 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
public List<DepositRefundRecord> selectByCrossId(Integer cross) {
List<DepositRefundRecord> list = mapper.selectByCrossId(cross);
for(DepositRefundRecord depositRefundRecord : list) {
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectById(depositRefundRecord.getCrosstownId());
if(depositRefundRecord.getIscomplete() == true && depositRefundRecord.getStatus() == DepositRefundStatus.VIOLATIONARRIVAL.getCode()) {//查询违章记录
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectById(depositRefundRecord.getCrosstownId());
if(orderVehicleCrosstown != null) {
BaseOrder baseOrder = baseOrderBiz.selectById(orderVehicleCrosstown.getOrderId());
if(baseOrder != null) {
......
......@@ -109,11 +109,15 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
BigDecimal refundAmont = crosstown.getRestDeposit().subtract(illegalReserve);
BigDecimal originalRefundAmount = crosstown.getRestDeposit().add(crosstown.getDeductionCost()).subtract(illegalReserve);
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章预备金:"+ illegalReserve.toString();
if(null != crosstown.getDedDetail()) {
List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class);
for(DedDetailDTO ddd : dddList) {
refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
try{
if(null != crosstown.getDedDetail()) {
List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class);
for(DedDetailDTO ddd : dddList) {
refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
}
}
}catch (Exception e) {
log.error("crosstown.getDedDetail() crosstown id :"+crosstown.getId() +" 转换失败");
}
refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT);
......
......@@ -27,6 +27,7 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.VehicleArrivalVo;
import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
import lombok.extern.slf4j.Slf4j;
......@@ -77,6 +78,15 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
List<OrderVehicleCrosstownDto> list = mapper.selectByOrderId(orderVehicleCrosstownDto);
for (OrderVehicleCrosstownDto value : list) {
if(value != null && value.getOrperaterId() != null && value.getType() != 1) {
UserDTO userDTO = userFeign.userinfoByUid(value.getOrperaterId()).getData();
if(userDTO != null) {
CompanyDetail branchCompany = vehicleFeign.getCompanyDetail(userDTO.getCompanyId()).getData();
if(branchCompany != null) {
value.setCustomerPhone(branchCompany.getVehiceServicePhone());
}
}
}
updateCrossRecord(value);
List<DepositRefundRecord> depositRefundRecords = orderDepositRefundRecordBiz.selectByCrossId(value.getId());
value.setDepositRefundRecord(depositRefundRecords == null || depositRefundRecords.size() <= 0 ? null : depositRefundRecords);
......
......@@ -86,7 +86,7 @@ public interface VehicleFeign {
* @return 返回
*/
@GetMapping("/vehicleModel/goodList")
List<GoodDataVO> goodList(@RequestParam(value = "page") Integer page, @RequestParam("limit") Integer limit);
ObjectRestResponse<List<GoodDataVO>> goodList(@RequestParam(value = "page") Integer page, @RequestParam("limit") Integer limit);
/**
* 根据一个id获取城市
......
......@@ -33,7 +33,7 @@ public class VehicleBookRecordVo extends VehicleBookRecord {
private Integer liftStatus;
private Integer retStatus;
private Integer state;
List<VehicleUpkeepItem> vehicleUpkeepItems;
}
......@@ -5,7 +5,6 @@ import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleActiveType;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.constant.VehicleDepartureState;
import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.entity.*;
......@@ -37,10 +36,10 @@ public class VehicleActiveService {
VehicleUpkeepLogMapper vehicleUpkeepLogMapper;
@Autowired
VehicleBookRecordBiz vehicleBookRecordBiz;
VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
@Autowired
VehicleUpkeepItemMapper vehicleUpkeepItemMapper;
VehicleBookRecordBiz vehicleBookRecordBiz;
@Value("${vehicle.mileage}")
private Integer Mileage;
......@@ -118,6 +117,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
}
}
@Transactional
......@@ -195,7 +198,6 @@ public class VehicleActiveService {
public void updateBookRecordStatus(Integer bookRecordId, Integer type) {
VehicleBookRecord vehicleBookRecord = vehicleBookRecordBiz.selectById(bookRecordId);
if(vehicleBookRecord != null) {
vehicleBookRecord.setStatus(VehicleBookRecordStatus.LIFTED.getCode());
if(type == 1) {
vehicleBookRecord.setActualStartDate(new Date());
} else {
......@@ -209,6 +211,7 @@ public class VehicleActiveService {
}
/**
* 车辆保养
* @param vehicleUpkeepVo
......@@ -223,7 +226,7 @@ public class VehicleActiveService {
}
if (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) {
// 车辆非正常状态
throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getDesc() + vehicle.getStatus(),
throw new BaseException(ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getDesc(),
ResCode.VEHICLE_UPKEEP_VEHICLE_DISABLE.getCode());
}
Integer lastMileage=vehicleUpkeepVo.getMileage();
......
......@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.exception.BaseException;
......@@ -296,8 +295,8 @@ public class VehicleModelController extends BaseController<VehicleModelBiz, Vehi
@ApiOperation("优质车型")
@GetMapping(value = "/goodList")
@IgnoreUserToken
public List<GoodDataVO> goodList(@RequestParam(value = "page") Integer page, @RequestParam(value = "limit") Integer limit) {
return baseBiz.goodList(page, limit);
public ObjectRestResponse<List<GoodDataVO>> goodList(@RequestParam(value = "page") Integer page, @RequestParam(value = "limit") Integer limit) {
return ObjectRestResponse.succ(baseBiz.goodList(page, limit));
}
@ApiOperation("上下架")
@PutMapping(value = "/setStatus/{id}/{status}")
......
......@@ -442,7 +442,7 @@
<select id="getBookRecordInfo" resultMap="searchBookRecord" parameterType="java.util.Map">
select (CASE v1.lift_company WHEN #{userCompany} THEN 1 ELSE 0 end) liftStatus,(CASE v1.ret_company WHEN
select (CASE v1.lift_company WHEN #{userCompany} THEN 1 ELSE 0 end) liftStatus,(CASE v1.ret_company WHEN
#{userCompany} THEN 1 ELSE 0 end) retStatus,bc4.name subordinateBranchName, bc1.`name` lift_company_name,
bc2.`name` ret_company_name, v3.number_plate,v1.*
from vehicle_book_record v1
......@@ -451,6 +451,7 @@
LEFT JOIN vehicle v3 on v3.id = v1.vehicle_id
LEFT JOIN branch_company bc3 on v3.park_branch_company_id = bc3.id
LEFT JOIN branch_company bc4 on v3.subordinate_branch = bc4.id
LEFT JOIN vehicle_departure_log v4 on v4.book_record_id = v1.id
<where>
<if test="selectedMonth != null">
and (v1.book_start_date like CONCAT(#{selectedMonth}, "%") or v1.book_end_date like
......@@ -472,9 +473,15 @@
#{id}
</foreach>)
</if>
<if test="status != null">
<if test="status != null and status != 0 and status != -1 and status != -2">
and v1.status = #{status}
</if>
<if test="status != null and status == 0 ">
and v4.state = 0
</if>
<if test="status != null and status == -1 ">
and v4.state = 1
</if>
and v1.book_user != -2
</where>
group by v1.id
......
......@@ -584,10 +584,6 @@
left join vehicle_cata vc on vm.id = vc.vehicle_model_id
</if>
<where>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
(abr.to_lift_company = null or (abr.to_lift_company = ))
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if test=" yearMonthAndParam !=null and yearNo4Where == null">
......@@ -596,6 +592,9 @@
<include refid="yearMonthAndParamSql"></include>
</foreach>
</if>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if test="startCompanyId != null and endCompanyId != null ">
and (
(abr.to_lift_company = null or abr.to_lift_company = #{startCompanyId})
......@@ -638,7 +637,7 @@
left join vehicle_book_record vbre
on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = vbre.book_end_date and vbre.status != 4 and vbre.status != 6
left join vehicle_book_record vbrs
on sevbr.vehicle_id = vbrs.vehicle_id and sevbr.min_book_start_date = vbrs.book_start_date and vbrs.status != 4 and vbrs.status != 6;
on sevbr.vehicle_id = vbrs.vehicle_id and sevbr.min_book_start_date = vbrs.book_start_date and vbrs.status != 4 and vbrs.status != 6
</sql>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment