Commit 64676cda authored by 周健威's avatar 周健威

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

parents 16185800 5d796ebb
......@@ -3,20 +3,15 @@ package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper;
import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.im.utils.StringUtil;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.time.Instant;
import java.util.Collection;
import java.util.HashMap;
......@@ -36,8 +31,6 @@ import java.util.stream.Collectors;
public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail> {
@Autowired
AppUserLoginBiz userLoginBiz;
@Override
......@@ -104,20 +97,16 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
entity.setUpdatetime(Instant.now().toEpochMilli() / 1000L);
super.updateSelectiveById(entity);
}
Integer userid=entity.getUserid();
AppUserLogin appUserLogin=new AppUserLogin();
appUserLogin.setWxOpenid(userVo.getWxOpenid());
appUserLogin.setUnionid(userVo.getUnionid());
appUserLogin.setOpenid(userVo.getOpenid());
appUserLogin.setId(userid);
appUserLogin.setUsername(userVo.getUsername());
userLoginBiz.bindOpenid(appUserLogin);
} catch (Exception e) {
e.printStackTrace();
}
}
//更新用户信息
public Map<Integer, AppUserDetail> findUserIdAndUserDetailMapByMemberIds(List<Integer> memberIds) {
......
......@@ -174,6 +174,16 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空");
}
userDetailBiz.updUuserInfoById(userVo);
Integer userid=userVo.getUserid();
if (userid!=null){
AppUserLogin appUserLogin=new AppUserLogin();
appUserLogin.setWxOpenid(userVo.getWxOpenid());
appUserLogin.setUnionid(userVo.getUnionid());
appUserLogin.setOpenid(userVo.getOpenid());
appUserLogin.setId(userid);
appUserLogin.setUsername(userVo.getUsername());
appUserLoginBiz.bindOpenid(appUserLogin);
}
return ObjectRestResponse.succ();
}
......
......@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -71,15 +72,17 @@ public class UserMemberAdminController {
@ApiOperation("会员excel模板下载")
@GetMapping("/app/unauth/user/excel_model/dowload")
@GetMapping(value = "/app/unauth/user/excel_model/dowload",produces = "application/vnd.ms-excel")
public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response){
// 重置response
response.reset();
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
// response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;filename=usermember.xlsx");
InputStream inputStream = AdminBootstrap.class.getClassLoader().getResourceAsStream("file/usermember.xlsx");
try {
response.setContentLength(inputStream.available());
byte[] bytes = IOUtils.toByteArray(inputStream);
return ResponseEntity.ok(bytes);
} catch (IOException e) {
......
......@@ -750,7 +750,7 @@ public class AppPermissionService {
}
//实名认证
@Transactional
public ObjectRestResponse upAuthentication(Integer userid, String name, String idNumber, Integer status) {
log.error("userid====" + userid + "-----name====" + name + "----idNumber===" + idNumber + "---status===" + status);
if (userid == null || userid == 0 || (status == 1 && StringUtils.isBlank(idNumber) && StringUtils.isBlank(name))) {
......
......@@ -6,6 +6,7 @@ import java.util.Map;
public enum CrosstownTypeEnum {
DEPARTURE(1, "交车"),
ARRIVE(2, "还车"),
FIXED_LOSS(3, "定损"),
;
/**
* 编码
......
......@@ -11,6 +11,7 @@ public enum OrderStatusEnum {
ORDER_TOSTART(4, "待进行(待出行/租车已支付)"),
ORDER_WAIT(5, "出行中(进行中)"),
ORDER_FINISH(6, "已完成"),
ORDER_FIXED_LOSS(-1, "定损"),
;
/**
* 编码
......
......@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderUserLicense;
......@@ -91,6 +92,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createFailedResult(500,"订单不存在!");
}
OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId());
//调用车辆管理的出车还车
//出车
if(orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) { //交车
VehicleDepartureVo vehicleDepartureVo = new VehicleDepartureVo();
......@@ -121,7 +123,7 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} else if(oldValue .size() <= 0) {
getOrderLicense(orderVehicleCrosstownDto);
orderVehicalCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstownDto.getType());
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if(restResponse.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
......@@ -131,14 +133,23 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createDefaultFail();
}
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail) {
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, Integer type) {
//交车完成 设置订单状态为出行中
if (baseOrder.getStatus() == 4) {
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
//判断是否是今日交车
baseOrder.setStatus(5);
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
} else if (baseOrder.getStatus() == 5) {
baseOrder.setStatus(6);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if(type == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} else if(type == CrosstownTypeEnum.FIXED_LOSS.getCode()){ //定损还车
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
}
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveById(baseOrder);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
}
......
......@@ -415,6 +415,7 @@ public class CertificationService {
idInformation.setUpdTime(new Date());
idInformationMapper.updateByPrimaryKeySelective(idInformation);
}
log.info("----addIdInformation---userid==="+idInformation.getUserLonginId()+"----name====" + idInformation.getName()+"---IdNumber==="+idInformation.getIdNumber());
//认证成功后修改用户,用户认证状态
ObjectRestResponse authentication = userFeign.authentication(idInformation.getUserLonginId(), idInformation.getName(), idInformation.getIdNumber(), 1);
return ObjectRestResponse.succ(idInformation.getId());
......
package com.xxfc.platform.vehicle.entity;
import com.xxfc.platform.vehicle.constant.AccompanyingItemType;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import javax.persistence.Column;
import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/2 16:52
*/
@Data
public class AccompanyingItem {
public static final Integer NO_AMOUNT_LIMIT = -1;
@Id
private Integer id;
/**
* 物品类型,详见{@link AccompanyingItemType}
*/
@Column(name = "type" )
private Integer type;
/**
* 物品名称
*/
......@@ -23,18 +35,37 @@ public class AccompanyingItem {
private String name;
/**
* 物品类型,详见AccompanyingItemType
*标配数量
*/
@Column(name = "type" )
private Integer type;
@Column(name = "number")
private Integer number;
@Column(name = "rank")
private Integer rank;
/**
*单位
*/
@Column(name = "unit")
private String unit;
/**
*价格
*/
@Column(name = "price")
private BigDecimal price;
/**
* 备注
*/
@Column(name = "remark")
private String remark;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
@Column(name = "is_del")
private Integer isDel;
}
package com.xxfc.platform.vehicle.pojo.vo;
import com.xxfc.platform.vehicle.constant.AccompanyingItemType;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/2 16:42
*/
@Data
public class AccompanyingItemVo {
private Integer id;
/**
* 物品类型,详见{@link AccompanyingItemType}
*/
private Integer type;
/**
* 物品名称
*/
private String name;
/**
*标配数量
*/
private Integer number;
/**
*单位
*/
private String unit;
/**
*价格
*/
private BigDecimal price;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Integer rank;
}
......@@ -12,12 +12,18 @@ import com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@Slf4j
......@@ -85,4 +91,26 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
Integer effected = mapper.deleteByPrimaryKey(id);
return RestResponse.suc();
}
public List<AccompanyingItemVo> listAllItem(){
List<AccompanyingItemVo> accompanyingItemVos = new ArrayList<>();
Example example = new Example(AccompanyingItem.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel",0);
List<AccompanyingItem> accompanyingItems = mapper.selectByExample(example);
if (CollectionUtils.isEmpty(accompanyingItems)){
return accompanyingItemVos;
}
List<AccompanyingItemVo> accompanyingItemVoList = accompanyingItems.stream().map(item -> {
AccompanyingItemVo accompanyingItemVo = new AccompanyingItemVo();
org.springframework.beans.BeanUtils.copyProperties(item, accompanyingItemVo);
return accompanyingItemVo;
}).sorted(Comparator.comparing(AccompanyingItemVo::getType).thenComparing(AccompanyingItemVo::getRank)).collect(Collectors.toList());
return accompanyingItemVoList;
}
}
......@@ -19,10 +19,18 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.*;
import com.xxfc.platform.vehicle.constant.ConstantType;
import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookInfoMapper;
import com.xxfc.platform.vehicle.mapper.VehicleMapper;
import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import lombok.extern.slf4j.Slf4j;
......@@ -56,8 +64,6 @@ import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
@Service
@Slf4j
public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserRestInterface {
......@@ -1278,12 +1284,23 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return ObjectRestResponse.createFailedResult(235, "token失效");
}
List<Integer> companyList = Lists.newArrayList();
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
companyList = dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
}
List<BranchCompany> branchCompany = branchCompanyBiz.getListByUser(userDTO);
companyList = branchCompany.stream().map(BranchCompany::getId).collect(Collectors.toList());
if(vehiclePlanDto.getParkBranchCompanyId() != null) {
if(companyList.size() > 0) {
if(companyList.contains(vehiclePlanDto.getParkBranchCompanyId())) {
companyList.clear();
companyList.add(vehiclePlanDto.getParkBranchCompanyId());
} else {
return ObjectRestResponse.succ();
}
} else {
companyList.add(vehiclePlanDto.getParkBranchCompanyId());
}
}
log.info("用户权限公司ID: companyList = {}", companyList);
vehiclePlanDto.setCompanyIds(companyList);
Query query = new Query(vehiclePlanDto);
PageDataVO<VehicleAndModelInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getVehicle(query.getSuper()));
......
......@@ -112,9 +112,18 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
List<Integer> companyList = Lists.newArrayList();
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
companyList = dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
if(vehicleBookRecordQueryVo.getCompanyId() != null) {
if(companyList.contains(vehicleBookRecordQueryVo.getCompanyId())) { //如果权限中有这个公司就允许查询, 否则就直接返回空
companyList.clear();
companyList.add(vehicleBookRecordQueryVo.getCompanyId());
} else {
return RestResponse.suc();
}
}
} else {
if(vehicleBookRecordQueryVo.getCompanyId() != null) {
companyList.add(vehicleBookRecordQueryVo.getCompanyId());
}
if(vehicleBookRecordQueryVo.getUserCompany() != null) {
companyList.add(vehicleBookRecordQueryVo.getUserCompany());
}
vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo);
......@@ -136,10 +145,20 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
List<Integer> companyList = Lists.newArrayList();
if(DATA_ALL_FALSE.equals(userDTO.getDataAll())) { //不能获取全部数据
companyList = dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
if(vehicleBookRecordQueryVo.getCompanyId() != null) {
if(companyList.contains(vehicleBookRecordQueryVo.getCompanyId())) { //如果权限中有这个公司就允许查询, 否则就直接返回空
companyList.clear();
companyList.add(vehicleBookRecordQueryVo.getCompanyId());
} else {
return RestResponse.suc();
}
}
} else {
if(vehicleBookRecordQueryVo.getCompanyId() != null) {
companyList.add(vehicleBookRecordQueryVo.getCompanyId());
}
}
vehicleBookRecordQueryVo.setCompanyIds(companyList);
Query query = new Query(vehicleBookRecordQueryVo);
PageDataVO<VehicleBookRecordVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getBookRecordInfo(query.getSuper()));
......
......@@ -12,6 +12,7 @@ import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
......@@ -71,4 +72,10 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB
public RestResponse<Integer> del(@PathVariable Integer id) throws Exception{
return baseBiz.del(id);
}
@GetMapping("/app/unauth/items")
public RestResponse<List<AccompanyingItemVo>> listAccompanyingItemVo(){
List<AccompanyingItemVo> accompanyingItemVos = baseBiz.listAllItem();
return RestResponse.codeAndData(RestResponse.SUC_CODE,accompanyingItemVos);
}
}
......@@ -402,7 +402,7 @@
</foreach>
</if>
and v1.status between 1 and 2
and v1.status between 1 and 2 and v1.book_user != -2
</where>
order by create_time DESC
......@@ -440,6 +440,7 @@
<if test="status != null">
and v1.status = #{status}
</if>
and v1.book_user != -2
</where>
group by v1.id
order by create_time DESC
......
......@@ -475,7 +475,9 @@
#{id}
</foreach>
</if>
and is_del != 1
</where>
ORDER BY parkCompanyName
</select>
<select id="countVehicleByParam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto"
......
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