站内信
parent
d5e2678e95
commit
e681b925b5
|
|
@ -30,6 +30,8 @@ public class PaymentParam {
|
|||
*/
|
||||
private BigDecimal settleTotalMoney;
|
||||
|
||||
private String wxCode;
|
||||
|
||||
/**
|
||||
* 支付清单
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
package com.njzscloud.supervisory.sys.stationletter.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult;
|
||||
import com.njzscloud.supervisory.sys.stationletter.pojo.StationLetterEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -39,6 +42,6 @@ public interface StationLetterMapper {
|
|||
/**
|
||||
* 查询待审核的订单数量
|
||||
*/
|
||||
int selectPendingOrderCount();
|
||||
int selectPendingOrderCount(@Param("ew") QueryWrapper<OrderPagingResult> ew);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,15 @@
|
|||
package com.njzscloud.supervisory.sys.stationletter.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.njzscloud.common.security.support.UserDetail;
|
||||
import com.njzscloud.common.security.util.SecurityUtil;
|
||||
import com.njzscloud.supervisory.biz.constant.AuditStatus;
|
||||
import com.njzscloud.supervisory.biz.pojo.entity.BizAuditConfigEntity;
|
||||
import com.njzscloud.supervisory.biz.service.BizAuditConfigService;
|
||||
import com.njzscloud.supervisory.order.contant.OrderStatus;
|
||||
import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult;
|
||||
import com.njzscloud.supervisory.sys.stationletter.constant.WarnCategory;
|
||||
import com.njzscloud.supervisory.sys.stationletter.mapper.StationLetterMapper;
|
||||
import com.njzscloud.supervisory.sys.stationletter.pojo.AuditResult;
|
||||
|
|
@ -12,6 +22,10 @@ import org.apache.commons.compress.utils.Lists;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.njzscloud.supervisory.constant.Constant.ROLE_JG;
|
||||
|
||||
/**
|
||||
* 站内信服务实现类
|
||||
|
|
@ -22,6 +36,7 @@ import java.util.List;
|
|||
public class StationLetterServiceImpl implements StationLetterService {
|
||||
|
||||
private final StationLetterMapper stationLetterMapper;
|
||||
private final BizAuditConfigService bizAuditConfigService;
|
||||
|
||||
@Override
|
||||
public StationLetterResult getPendingWarnList() {
|
||||
|
|
@ -34,7 +49,7 @@ public class StationLetterServiceImpl implements StationLetterService {
|
|||
}
|
||||
result.setWarnList(entities);
|
||||
List<AuditResult> auditResults = Lists.newArrayList();
|
||||
|
||||
|
||||
// 1.查询未删除并且待审核的公司数量,表为biz_company
|
||||
int companyCount = stationLetterMapper.selectPendingCompanyCount();
|
||||
AuditResult companyAudit = new AuditResult();
|
||||
|
|
@ -68,15 +83,147 @@ public class StationLetterServiceImpl implements StationLetterService {
|
|||
auditResults.add(driverAudit);
|
||||
|
||||
// 5.查询未删除并且待审核的订单数量,表为order_info
|
||||
int orderCount = stationLetterMapper.selectPendingOrderCount();
|
||||
AuditResult orderAudit = buildOrderAuditResult();
|
||||
auditResults.add(orderAudit);
|
||||
|
||||
result.setAuditResultList(auditResults);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建订单审核结果
|
||||
*/
|
||||
private AuditResult buildOrderAuditResult() {
|
||||
AuditResult orderAudit = new AuditResult();
|
||||
orderAudit.setModuleType("order");
|
||||
orderAudit.setAuditName("待审核订单");
|
||||
orderAudit.setCount(orderCount);
|
||||
auditResults.add(orderAudit);
|
||||
|
||||
result.setAuditResultList(auditResults);
|
||||
return result;
|
||||
|
||||
try {
|
||||
UserDetail userDetail = SecurityUtil.loginUser();
|
||||
if (userDetail == null || CollUtil.isEmpty(userDetail.getRoles())) {
|
||||
orderAudit.setCount(0);
|
||||
return orderAudit;
|
||||
}
|
||||
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (!roles.contains(ROLE_JG)) {
|
||||
orderAudit.setCount(0);
|
||||
return orderAudit;
|
||||
}
|
||||
|
||||
// 获取审核配置区域信息
|
||||
AuditAreaInfo auditAreaInfo = getAuditAreaInfoByRoles(roles);
|
||||
if (CollUtil.isEmpty(auditAreaInfo.getAreaList()) &&
|
||||
CollUtil.isEmpty(auditAreaInfo.getCityList()) &&
|
||||
CollUtil.isEmpty(auditAreaInfo.getCityAreaList())) {
|
||||
orderAudit.setCount(0);
|
||||
return orderAudit;
|
||||
}
|
||||
|
||||
// 构建查询条件
|
||||
QueryWrapper<OrderPagingResult> queryWrapper = buildOrderQueryWrapper(auditAreaInfo);
|
||||
int orderCount = stationLetterMapper.selectPendingOrderCount(queryWrapper);
|
||||
orderAudit.setCount(orderCount);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("查询待审核订单数量失败", e);
|
||||
orderAudit.setCount(0);
|
||||
}
|
||||
|
||||
return orderAudit;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色获取审核配置区域信息
|
||||
*/
|
||||
private AuditAreaInfo getAuditAreaInfoByRoles(Set<String> roles) {
|
||||
// 获取区级审核区域
|
||||
List<String> areaList = bizAuditConfigService.list(Wrappers.<BizAuditConfigEntity>lambdaQuery()
|
||||
.in(BizAuditConfigEntity::getAreaRole, roles)).stream()
|
||||
.map(BizAuditConfigEntity::getArea)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 获取市级审核区域
|
||||
List<String> cityList = bizAuditConfigService.list(Wrappers.<BizAuditConfigEntity>lambdaQuery()
|
||||
.in(BizAuditConfigEntity::getCityRole, roles)).stream()
|
||||
.map(BizAuditConfigEntity::getArea)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 获取无角色限制的区域
|
||||
List<String> cityAreaList = bizAuditConfigService.list(Wrappers.<BizAuditConfigEntity>lambdaQuery()
|
||||
.isNull(BizAuditConfigEntity::getAreaRole)
|
||||
.isNull(BizAuditConfigEntity::getCityRole)).stream()
|
||||
.map(BizAuditConfigEntity::getArea)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return new AuditAreaInfo(areaList, cityList, cityAreaList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建订单查询条件
|
||||
*/
|
||||
private QueryWrapper<OrderPagingResult> buildOrderQueryWrapper(AuditAreaInfo auditAreaInfo) {
|
||||
QueryWrapper<OrderPagingResult> queryWrapper = Wrappers.query();
|
||||
|
||||
// 基础条件:订单状态为已接单
|
||||
queryWrapper.eq("a.order_status", OrderStatus.YiJieDan);
|
||||
|
||||
// 根据审核状态和区域构建复杂查询条件
|
||||
queryWrapper.and(wrapper -> {
|
||||
// 区级审核条件:区域在区级审核列表中且状态为区待审核
|
||||
if (CollUtil.isNotEmpty(auditAreaInfo.getAreaList())) {
|
||||
wrapper.in("b.area", auditAreaInfo.getAreaList())
|
||||
.eq("a.audit_status", AuditStatus.QuDaiShenHe);
|
||||
}
|
||||
|
||||
// 市级审核条件:区域在市级审核列表中且状态为市待审核
|
||||
if (CollUtil.isNotEmpty(auditAreaInfo.getCityList())) {
|
||||
wrapper.or(subWrapper ->
|
||||
subWrapper.in("b.area", auditAreaInfo.getCityList())
|
||||
.eq("a.audit_status", AuditStatus.ShiDaiShenHe)
|
||||
);
|
||||
}
|
||||
|
||||
// 待审核条件:区域在无角色限制列表中且状态为待审核
|
||||
if (CollUtil.isNotEmpty(auditAreaInfo.getCityAreaList())) {
|
||||
wrapper.or(subWrapper ->
|
||||
subWrapper.in("b.area", auditAreaInfo.getCityAreaList())
|
||||
.eq("a.audit_status", AuditStatus.DaiShenHe)
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核区域信息内部类
|
||||
*/
|
||||
private static class AuditAreaInfo {
|
||||
private final List<String> areaList;
|
||||
private final List<String> cityList;
|
||||
private final List<String> cityAreaList;
|
||||
|
||||
public AuditAreaInfo(List<String> areaList, List<String> cityList, List<String> cityAreaList) {
|
||||
this.areaList = areaList;
|
||||
this.cityList = cityList;
|
||||
this.cityAreaList = cityAreaList;
|
||||
}
|
||||
|
||||
public List<String> getAreaList() {
|
||||
return areaList;
|
||||
}
|
||||
|
||||
public List<String> getCityList() {
|
||||
return cityList;
|
||||
}
|
||||
|
||||
public List<String> getCityAreaList() {
|
||||
return cityAreaList;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -86,7 +233,7 @@ public class StationLetterServiceImpl implements StationLetterService {
|
|||
if (warnCategory == null) {
|
||||
return "未知类型";
|
||||
}
|
||||
|
||||
|
||||
for (WarnCategory category : WarnCategory.values()) {
|
||||
if (category.getVal().equals(warnCategory)) {
|
||||
return category.getTxt();
|
||||
|
|
|
|||
|
|
@ -53,11 +53,36 @@
|
|||
WHERE deleted = 0 AND audit_status = 'DaiShenHe'
|
||||
</select>
|
||||
|
||||
<!-- 查询待审核的订单数量 -->
|
||||
<!-- 查询待审核的订单数量
|
||||
<select id="selectPendingOrderCount" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM order_info
|
||||
WHERE deleted = 0 AND audit_status = 'DaiShenHe'
|
||||
</select>-->
|
||||
|
||||
<!-- 查询待审核的订单数量 -->
|
||||
<select id="selectPendingOrderCount" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM
|
||||
order_info a
|
||||
LEFT JOIN order_cargo_place b ON b.id = a.cargo_place_id
|
||||
LEFT JOIN order_goods c ON c.id = a.goods_id
|
||||
LEFT JOIN order_car_in_out d ON d.id = a.car_in_out_id
|
||||
LEFT JOIN biz_truck e ON e.id = a.truck_id
|
||||
LEFT JOIN biz_driver f ON f.id = a.driver_id
|
||||
LEFT JOIN biz_company g ON g.id = a.trans_company_id
|
||||
LEFT JOIN sys_user h ON h.id = a.user_id
|
||||
LEFT JOIN goods_category i ON i.id = c.goods_category_id
|
||||
LEFT JOIN biz_company j ON j.user_id = a.user_id
|
||||
LEFT JOIN sys_user k ON k.id = a.checker_id
|
||||
LEFT JOIN biz_project l ON l.id = a.project_id
|
||||
LEFT JOIN biz_company m ON m.id = a.station_id
|
||||
AND m.station = 1
|
||||
LEFT JOIN sys_user n ON n.id = a.qu_audit_user_id
|
||||
LEFT JOIN sys_user o ON o.id = a.shi_audit_user_id
|
||||
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||
${ew.customSqlSegment}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue