package com.xzx.gc.user.controller;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.codec.Base64;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.convert.Convert;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.dto.SimplePage;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.common.utils.MqUtil;
|
import com.xzx.gc.entity.OtherUserInfo;
|
import com.xzx.gc.entity.UserVehicleRel;
|
import com.xzx.gc.entity.VehicleInfo;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.UserModel;
|
import com.xzx.gc.model.admin.VehicleModel;
|
import com.xzx.gc.user.dto.VehicleUpdateDto;
|
import com.xzx.gc.user.mapper.OtherUserMapper;
|
import com.xzx.gc.user.mapper.SysStorageMapper;
|
import com.xzx.gc.user.mapper.UserVehicleRelMapper;
|
import com.xzx.gc.user.mapper.VehicleInfoMapper;
|
import com.xzx.gc.user.service.*;
|
import com.xzx.gc.util.ConvertUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import tk.mybatis.mapper.entity.Example;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Api(tags = "车辆管理")
|
@RestController
|
@Validated
|
public class VehicleController extends BaseController {
|
|
|
@Autowired
|
private VehicleInfoMapper vehicleInfoMapper;
|
|
|
@Autowired
|
private UserVehicleRelMapper userVehicleRelMapper;
|
|
@Autowired
|
private UserVehicleRelService userVehicleRelService;
|
|
@Autowired
|
private VehicleInfoService vehicleInfoService;
|
|
@Autowired
|
private OtherUserMapper otherUserMapper;
|
|
@Autowired
|
private UserService userService;
|
|
@Autowired
|
private OtherUserService otherUserService;
|
@Autowired
|
private CityPartnerService cityPartnerService;
|
|
|
@ApiOperation( value = "分页查询车辆信息")
|
@PostMapping("/vehicle/select")
|
public Result<PageInfo<VehicleInfo>> find(HttpServletRequest request, @RequestBody SimplePage simplePage) {
|
String partnerId = otherUserMapper.selectByPrimaryKey(getUserId(request)).getPartnerId();
|
PageHelper.startPage(simplePage.getPageNo(),simplePage.getPageSize());
|
List<VehicleInfo> select = vehicleInfoMapper.findByPartnerId(partnerId);
|
if(CollUtil.isNotEmpty(select)){
|
for (VehicleInfo info : select) {
|
//仓库信息
|
// Integer storageId = info.getStorageId();
|
// SysStorage sysStorage = sysStorageMapper.selectByPrimaryKey(storageId);
|
// if(sysStorage!=null){
|
// info.setStorageName(sysStorage.getStorageName());
|
// }
|
|
//回收员信息
|
UserVehicleRel userVehicleRel=new UserVehicleRel();
|
userVehicleRel.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
|
userVehicleRel.setVehicleId(info.getId());
|
List<UserVehicleRel> select1 = userVehicleRelMapper.select(userVehicleRel);
|
if(CollUtil.isNotEmpty(select1)){
|
String userId = select1.get(0).getUserId();
|
OtherUserInfo otherUserInfo = otherUserMapper.selectByPrimaryKey(userId);
|
if(otherUserInfo!=null){
|
info.setUserName(otherUserInfo.getName());
|
info.setUserId(otherUserInfo.getUserId());
|
}
|
|
}
|
|
}
|
}
|
PageInfo<VehicleInfo> pageInfo=new PageInfo<>(select);
|
return Result.success(pageInfo);
|
}
|
|
|
@ApiOperation( value = "修改车辆绑定信息")
|
@PostMapping("/vehicle/update")
|
public Result update(HttpServletRequest request, @RequestBody VehicleUpdateDto vehicleUpdateDto) {
|
VehicleInfo vehicleInfo=new VehicleInfo();
|
BeanUtil.copyProperties(vehicleUpdateDto,vehicleInfo);
|
vehicleInfoMapper.updateByPrimaryKeySelective(vehicleInfo);
|
|
//修改人与车辆的绑定
|
UserVehicleRel userVehicleRel=new UserVehicleRel();
|
userVehicleRel.setUserId(vehicleUpdateDto.getUserId());
|
|
Example example=new Example(UserVehicleRel.class);
|
Example.Criteria criteria = example.createCriteria();
|
criteria.andEqualTo("vehicleId",vehicleUpdateDto.getId());
|
userVehicleRelMapper.updateByExampleSelective(userVehicleRel,example);
|
|
String mobilePhone = userService.findOtherByUserId(getUserId(request),0);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(getFrontClient(request)).opreateName(mobilePhone)
|
.methodName(Constants.USER_MODUL_NAME).operateAction("修改车辆绑定信息-"+vehicleUpdateDto.getId()).build();
|
mqUtil.sendApp(build);
|
|
return Result.success(null);
|
}
|
|
@PostMapping( "/admin/front/vehicle/vehicleList.do")
|
@ResponseBody
|
@ApiOperation(value="运营管理-车辆管理", notes="test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> vehicleList(@RequestBody VehicleModel model)
|
{
|
Map<String, Object> map = vehicleInfoService.queryByVehicleInfoList(model.getVehicleNo(),model.getPage(),model.getLimit(),model.getPartnerId());
|
return JsonResult.success(map);
|
}
|
|
|
@PostMapping( "/admin/front/vehicle/checkUserNameByPhone.json")
|
@ResponseBody
|
@ApiOperation(value="运营管理-车辆管理添加(校验回收员)", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "mobilePhone", value = "车辆编号", required = true, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> checkUserNameByPhone(@RequestBody UserModel model)
|
{
|
Map<String,Object> map = new HashMap<>();
|
String userType = "2";
|
OtherUserInfo userModel = otherUserService.findByMobileAndUserType(model.getMobilePhone(), userType);
|
if(null!=userModel){
|
map.put("code",0);
|
map.put("msg","查询成功");
|
map.put("userId",userModel.getUserId());
|
map.put("mobilePhone",userModel.getMobilePhone());
|
map.put("name",userModel.getName());
|
map.put("nickName", Base64.decodeStr(userModel.getNickName()));
|
}else{
|
map.put("code",-1);
|
map.put("msg","没有该手机号的回收员");
|
}
|
|
return JsonResult.success(map);
|
}
|
|
|
@PostMapping( "/admin/front/vehicle/queryAllOtherUserApiByName.json")
|
@ApiOperation(value="运营管理-车辆管理添加(回收员列表)", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "String")
|
})
|
public JsonResult<List<Map<String, Object>>> queryAllOtherUserByName(@RequestBody UserModel model) {
|
List<String> partnerIds = cityPartnerService.queryPartnerByCurrent();
|
List<Map<String, Object>> otherUser = userVehicleRelMapper.queryCuserListByName(model.getUserId(),partnerIds);
|
return JsonResult.success(otherUser);
|
|
}
|
|
|
@PostMapping( "/admin/front/vehicle/vehicleInfoadd.json")
|
@ApiOperation(value="运营管理-车辆管理添加", notes="test: 仅0有正确返回")
|
public JsonResult vehicleInfoadd(@RequestBody VehicleModel model, HttpServletRequest request)
|
{
|
Long aLong = vehicleInfoService.addVehicleInfo(model);
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.USER_MODUL_NAME).operateAction("添加车辆-"+aLong).build();
|
mqUtil.sendApp(build);
|
|
return new JsonResult().success();
|
}
|
|
@PostMapping( "/admin/front/vehicle/editVehicleIn.json")
|
@ApiOperation(value="运营管理-车辆管理编辑", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query", name = "id", value = "车辆管理Id", required = true, dataType = "Long"),
|
@ApiImplicitParam(paramType="query", name = "relId", value = "车辆管理和用户关联ID", required = true, dataType = "Long"),
|
@ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "weight", value = "重量", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "vehicleNo", value = "车辆编号", required = true, dataType = "String"),
|
@ApiImplicitParam(paramType="query", name = "storageId", value = "仓库Id", required = true, dataType = "String")
|
|
})
|
public JsonResult<String> editVehicleIn(@RequestBody VehicleModel model, HttpServletRequest request) {
|
String userId = model.getUserId();
|
String relId = model.getRelId();
|
VehicleInfo oldInfo = vehicleInfoService.queryById(model.getId());
|
oldInfo.setWeight(model.getWeight());
|
oldInfo.setVehicleNo(model.getVehicleNo());
|
if(model.getStorageId()!=null){
|
oldInfo.setStorageId(Integer.parseInt(model.getStorageId()));
|
|
}else{
|
return JsonResult.failMessage("保存失败,仓库Id为空!");
|
}
|
boolean success = vehicleInfoService.update(oldInfo);
|
if (success) {
|
UserVehicleRel rel = userVehicleRelService.queryById(Long.parseLong(relId));
|
rel.setDelFlag((short)0);
|
rel.setUserId(userId);
|
userVehicleRelService.update(rel);
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.USER_MODUL_NAME).operateAction("车辆管理编辑-"+model.getId()).build();
|
mqUtil.sendApp(build);
|
|
return new JsonResult().success();
|
} else {
|
return JsonResult.failMessage("保存失败");
|
}
|
}
|
|
@PostMapping("/admin/front/vehicle/delete.json")
|
@ApiOperation(value="运营管理-车辆管理删除", notes="test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "ids", value = "车辆Id,多个id用逗号分割", required = true, dataType = "String")
|
})
|
public JsonResult delete(@RequestBody VehicleModel model,HttpServletRequest request) {
|
String ids = model.getIds();
|
if (ids.endsWith(",")) {
|
ids = StringUtils.substringBeforeLast(ids, ",");
|
}
|
List<Long> idList = ConvertUtil.str2longs(ids);
|
vehicleInfoService.batchDelXzxUserVehicleInfo(idList);
|
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.ORDER_MODUL_NAME).operateAction("车辆管理删除-"+model.getIds()).build();
|
mqUtil.sendApp(build);
|
return new JsonResult().success();
|
}
|
}
|