提交 3d69548d authored 作者: liuhaiquan's avatar liuhaiquan

commit

上级 80efd30b
package com.clx.performance.vo.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @ClassName CustomerComplaintOrderChildVO
* @Description
* @Author kavin
* @Date 2023/12/7 17:55
* @Version 1.0
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CustomerComplaintOrderChildVO {
@ApiModelProperty(value = "id", example = "1")
private Integer id;
@ApiModelProperty(value = "运单编号", example = "100000000")
private String childNo;
@ApiModelProperty(value = "货单编号", example = "100000000")
private String orderGoodsNo;
@ApiModelProperty(value = "订单编号", example = "10000000000")
private String orderNo;
@ApiModelProperty(value = "发货地址", example = "朝阳")
private String sendAddress;
@ApiModelProperty(value = "收货地址", example = "西城")
private String receiveAddress;
@ApiModelProperty(value = "车牌号", example = "京A12345")
private String truckNo;
@ApiModelProperty(value = "司机姓名", example = "张三")
private String driverName;
}
......@@ -5,6 +5,7 @@ import com.clx.performance.param.app.*;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.vo.app.*;
import com.msl.common.base.PageData;
import com.msl.common.base.PageParam;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
......@@ -174,4 +175,11 @@ public class AppDriverOrderChildController {
return Result.ok(orderChildService.getGoingLatestOrderChild());
}
@ApiOperation(value = "客诉运单列表", notes = "<br>By:刘海泉")
@GetMapping("/pageCustomerComplaintOrderChild")
public Result<PageData<CustomerComplaintOrderChildVO>> pageCustomerComplaintOrderChild(@RequestBody @Validated PageParam param) {
IPage<CustomerComplaintOrderChildVO> page = orderChildService.pageCustomerComplaintOrderChild(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
......@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @ClassName CustomerComplaintTypeController
* @Description
......@@ -52,4 +54,12 @@ public class CustomerComplaintTypeController {
}
@ApiOperation(value = "投诉分类下拉选",notes = "<br>By:刘海泉")
@PostMapping("/getCustomerComplaintTypeSelect")
public Result<List<CustomerComplaintTypeVO>> getCustomerComplaintTypeSelect(@RequestBody @Validated PageCustomerComplaintTypeParam param){
List<CustomerComplaintTypeVO> list = customerComplaintTypeService.getCustomerComplaintTypeSelect(param);
return Result.ok(list);
}
}
......@@ -11,6 +11,7 @@ import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import com.msl.common.base.Optional;
import com.msl.common.base.PageParam;
import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
......@@ -158,4 +159,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> selectListWithEmptyCarList();
Page<OrderChild> getMonthAgoByTruckNos(List<String> truckNos, LocalDateTime monthAgo, PageParam param);
}
package com.clx.performance.dao.customer;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.mapper.customer.CustomerComplaintTypeMapper;
import com.clx.performance.model.customer.CustomerComplaintType;
import com.clx.performance.param.pc.customer.PageCustomerComplaintTypeParam;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface CustomerComplaintTypeDao extends BaseDao<CustomerComplaintTypeMapper, CustomerComplaintType, Integer> {
long countByNameExcludeSelf(String name, Integer id);
Page<CustomerComplaintType> pageCustomerComplaintType(PageCustomerComplaintTypeParam param);
List<CustomerComplaintType> getCustomerComplaintTypeSelect(PageCustomerComplaintTypeParam param);
}
......@@ -16,6 +16,7 @@ import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import com.msl.common.base.Optional;
import com.msl.common.base.PageParam;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
......@@ -497,4 +498,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
);
}
@Override
public Page<OrderChild> getMonthAgoByTruckNos(List<String> truckNos, LocalDateTime monthAgo, PageParam param) {
LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper<>();
query.in(OrderChild ::getTruckNo,truckNos);
query.ge(OrderChild :: getCreateTime,monthAgo);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
}
package com.clx.performance.dao.impl.customer;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.customer.CustomerComplaintTypeDao;
import com.clx.performance.mapper.customer.CustomerComplaintTypeMapper;
import com.clx.performance.model.customer.CustomerComplaintType;
import com.clx.performance.param.pc.customer.PageCustomerComplaintTypeParam;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Objects;
/**
......@@ -27,4 +31,24 @@ public class CustomerComplaintTypeDaoImpl extends BaseDaoImpl<CustomerComplaintT
}
return baseMapper.selectCount(query);
}
@Override
public Page<CustomerComplaintType> pageCustomerComplaintType(PageCustomerComplaintTypeParam param) {
LambdaQueryWrapper<CustomerComplaintType> query = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(param.getName())){
query.eq(CustomerComplaintType :: getName,param.getName());
}
query.orderByDesc(CustomerComplaintType :: getModifiedTime);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
}
@Override
public List<CustomerComplaintType> getCustomerComplaintTypeSelect(PageCustomerComplaintTypeParam param) {
LambdaQueryWrapper<CustomerComplaintType> query = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(param.getName())){
query.eq(CustomerComplaintType :: getName,param.getName());
}
query.orderByDesc(CustomerComplaintType :: getModifiedTime);
return baseMapper.selectList(query);
}
}
package com.clx.performance.service;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
......@@ -12,11 +10,10 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import com.msl.common.base.PageParam;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
/**
......@@ -88,4 +85,5 @@ public interface OrderChildService {
void updateOrderGoodsAmountLoad(OrderGoods orderGoods,String childNo, BigDecimal dif, Integer orderGoodsStatus);
IPage<CustomerComplaintOrderChildVO> pageCustomerComplaintOrderChild(PageParam param);
}
package com.clx.performance.service.customer;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.pc.customer.PageCustomerComplaintTypeParam;
import com.clx.performance.param.pc.customer.SaveComplaintTypeParam;
import com.clx.performance.vo.pc.customer.CustomerComplaintTypeVO;
import java.util.List;
public interface CustomerComplaintTypeService {
void saveCustomerComplaintType(SaveComplaintTypeParam param);
IPage<CustomerComplaintTypeVO> pageCustomerComplaintType(PageCustomerComplaintTypeParam param);
Page<CustomerComplaintTypeVO> pageCustomerComplaintType(PageCustomerComplaintTypeParam param);
List<CustomerComplaintTypeVO> getCustomerComplaintTypeSelect(PageCustomerComplaintTypeParam param);
}
package com.clx.performance.service.customer.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.customer.CustomerComplaintTypeDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.customer.CustomerComplaintType;
import com.clx.performance.param.pc.customer.PageCustomerComplaintTypeParam;
import com.clx.performance.param.pc.customer.SaveComplaintTypeParam;
import com.clx.performance.service.customer.CustomerComplaintTypeService;
import com.clx.performance.struct.customer.CustomerComplaintTypeStruct;
import com.clx.performance.vo.pc.customer.CustomerComplaintTypeVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
......@@ -28,6 +30,7 @@ import java.util.Objects;
public class CustomerComplaintTypeServiceImpl implements CustomerComplaintTypeService {
private final CustomerComplaintTypeDao customerComplaintTypeDao;
private final CustomerComplaintTypeStruct customerComplaintTypeStruct;
@Override
public void saveCustomerComplaintType(SaveComplaintTypeParam param) {
......@@ -48,7 +51,14 @@ public class CustomerComplaintTypeServiceImpl implements CustomerComplaintTypeSe
}
@Override
public IPage<CustomerComplaintTypeVO> pageCustomerComplaintType(PageCustomerComplaintTypeParam param) {
return null;
public Page<CustomerComplaintTypeVO> pageCustomerComplaintType(PageCustomerComplaintTypeParam param) {
Page<CustomerComplaintType> page = customerComplaintTypeDao.pageCustomerComplaintType(param);
return customerComplaintTypeStruct.convertPage(page);
}
@Override
public List<CustomerComplaintTypeVO> getCustomerComplaintTypeSelect(PageCustomerComplaintTypeParam param) {
List<CustomerComplaintType> list = customerComplaintTypeDao.getCustomerComplaintTypeSelect(param);
return customerComplaintTypeStruct.convertList(list);
}
}
package com.clx.performance.service.impl;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.ResultEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO;
......@@ -18,10 +16,7 @@ import com.clx.performance.dto.gd.GdRouteDTO;
import com.clx.performance.dto.payment.WalletResidueCardDTO;
import com.clx.performance.dto.zjxl.TruckTraceDTO;
import com.clx.performance.enums.*;
import com.clx.performance.extranal.user.AddressService;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.extranal.user.*;
import com.clx.performance.feign.FeignPaymentService;
import com.clx.performance.model.*;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
......@@ -43,10 +38,11 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.app.driver.truck.DriverTruckAppVo;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import com.msl.common.base.Optional;
import com.msl.common.base.PageParam;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
......@@ -68,7 +64,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;
......@@ -163,6 +158,9 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired
private ZjxlGpsService zjxlGpsService;
@Autowired
private UserService userService;
@Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
......@@ -2083,6 +2081,18 @@ public class OrderChildServiceImpl implements OrderChildService {
return gdRouteDTOS;
}
@Override
public IPage<CustomerComplaintOrderChildVO> pageCustomerComplaintOrderChild(PageParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
List<DriverTruckAppVo> driverTruckList = userService.driverTruckList(loginUserInfo.getUserNo()).orNull();
if(CollectionUtils.isEmpty(driverTruckList)){
return new Page<>();
}
List<String> truckNos = driverTruckList.stream().map(DriverTruckAppVo :: getTruckNo).collect(Collectors.toList());
LocalDateTime monthAgo = LocalDateTime.now().minusMonths(1);
Page<OrderChild> page = orderChildDao.getMonthAgoByTruckNos(truckNos,monthAgo,param);
return orderChildStruct.covertPageCustomerComplaintOrderChildVO(page);
}
private static String formatTimeStr(Integer n) {
if (n > Long.MAX_VALUE) {
......
package com.clx.performance.struct;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.open.sdk.callback.message.OrderChildMessage;
import com.clx.performance.model.OrderChild;
import com.clx.performance.vo.app.CustomerComplaintOrderChildVO;
import com.clx.performance.vo.app.GoingOrderChildVO;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.CarrierOrderChildDetailVO;
......@@ -26,6 +29,5 @@ public interface OrderChildStruct {
OrderChildMessage convertMessage(OrderChild item);
IPage<CustomerComplaintOrderChildVO> covertPageCustomerComplaintOrderChildVO(Page<OrderChild> page);
}
package com.clx.performance.struct.customer;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.customer.CustomerComplaintType;
import com.clx.performance.vo.pc.customer.CustomerComplaintTypeVO;
......@@ -8,9 +7,11 @@ import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface CustomerComplaintTypeStruct {
Page<CustomerComplaintTypeVO> convertPage(Page<CustomerComplaintType> page);
Page<CustomerComplaintTypeVO> convert(IPage<CustomerComplaintType> page);
List<CustomerComplaintTypeVO> convertList(List<CustomerComplaintType> list);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论