From 692250c4ba89e0c7ad8b9c8a68103239d89c7e0f Mon Sep 17 00:00:00 2001 From: xyc <3422692813@qq.com> Date: Fri, 25 Jul 2025 13:43:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B00725?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CompanyServiceImpl.java | 5 +- .../service/impl/ApiAppLoginServiceImpl.java | 19 ++++++- .../controller/InspectionFileController.java | 8 +++ ...pectionBatchSettlementOrderController.java | 41 ++++++++++++++ .../InspectionBatchSettlementOrder.java | 20 +++++++ .../InspectionBatchSettlementOrderQuery.java | 28 ++++++++++ ...InspectionBatchSettlementOrderQueryVo.java | 28 ++++++++++ .../InspectionBatchSettlementOrderMapper.java | 14 +++++ ...InspectionBatchSettlementOrderService.java | 14 +++++ .../service/IInspectionFileService.java | 3 -- .../impl/AppInspectionPartnerServiceImpl.java | 29 +++++++++- ...ectionBatchSettlementOrderServiceImpl.java | 53 +++++++++++++++++++ .../impl/InspectionFileServiceImpl.java | 8 +-- .../impl/InspectionStaffServiceImpl.java | 2 +- .../module/payment/entity/OrderInfo.java | 15 ++++++ .../payment/mapper/OrderInfoMapper.java | 3 ++ .../payment/service/OrderInfoService.java | 3 ++ .../service/impl/OrderInfoServiceImpl.java | 9 ++++ .../InspectionReminderConfigServiceImpl.java | 29 ++++++++-- .../InspectionBatchSettlementOrderMapper.xml | 16 ++++++ .../mapper/payment/OrderInfoMapper.xml | 10 ++++ .../system/api/permission/dto/RoleReqDTO.java | 4 ++ .../module/system/api/user/AdminUserApi.java | 8 +++ .../system/api/user/AdminUserApiImpl.java | 15 ++++++ .../controller/admin/auth/AuthController.java | 2 + .../src/main/resources/application.yaml | 1 + 26 files changed, 372 insertions(+), 15 deletions(-) create mode 100644 dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/InspectionBatchSettlementOrderController.java create mode 100644 dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQuery.java create mode 100644 dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQueryVo.java diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/service/impl/CompanyServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/service/impl/CompanyServiceImpl.java index 1303bab6..91d2aa48 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/service/impl/CompanyServiceImpl.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/company/service/impl/CompanyServiceImpl.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; +import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.module.app.company.vo.CompanyToServerVO; import cn.iocoder.yudao.module.company.entity.Company; @@ -89,6 +90,8 @@ public class CompanyServiceImpl extends ServiceImpl impl @DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 public void saveDataObj(CompanyRespVO companyRespVO) { try { + //获取当前租户id + Long tenantId = TenantContextHolder.getTenantId(); /*1.保存企业信息*/ this.save(companyRespVO); /*2.新增企业部门信息*/ @@ -104,7 +107,7 @@ public class CompanyServiceImpl extends ServiceImpl impl /*3.新增企业管理员用户信息并配置角色*/ // 查询账号是否存在 Long userId = null; - AdminUserRespDTO adminUserRespDTO = adminUserApi.getUserByUsername(companyRespVO.getLoginAccount()); + AdminUserRespDTO adminUserRespDTO = adminUserApi.getUserByUsername(companyRespVO.getLoginAccount(),tenantId); if (adminUserRespDTO == null) { UserDTO userDTO = new UserDTO(); userDTO.setUsername(companyRespVO.getLoginAccount()); diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/impl/ApiAppLoginServiceImpl.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/impl/ApiAppLoginServiceImpl.java index d55f1615..2ff556ff 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/impl/ApiAppLoginServiceImpl.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/service/impl/ApiAppLoginServiceImpl.java @@ -24,9 +24,9 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -98,6 +98,8 @@ public class ApiAppLoginServiceImpl implements ApiAppLoginService { throw new Exception(CommonErrorCodeConstants.LOGIN_ACCOUNT_NOT_AUTH.getMsg()); } List roleList = roleApi.getRoleList(); + //当前登录人的所有角色 + List loginRoles = new ArrayList<>(); //所拥有的角色code集和 List roleCodeList = new ArrayList<>(); //所拥有的角色名称集和 @@ -106,8 +108,10 @@ public class ApiAppLoginServiceImpl implements ApiAppLoginService { if (roleIdsByUserId.contains(item.getId())) { roleCodeList.add(item.getCode()); roleNames.add(item.getName()); + loginRoles.add(item); } } + user.setRoleNames(String.join(",", roleNames)); //默认无权限登录 boolean flag = false; if (SystemEnum.REPAIR.getCode().equals(loginBody.getSysCode())) { @@ -115,6 +119,17 @@ public class ApiAppLoginServiceImpl implements ApiAppLoginService { flag = this.checkRepairCanLogin(user, roleCodeList); } else if (SystemEnum.INSPECTION.getCode().equals(loginBody.getSysCode())) { //检测业务系统 + /*过滤出服务套餐为jiance的角色*/ + String newRoleNames = Optional.ofNullable(loginRoles) + .orElse(Collections.emptyList()) + .stream() + .filter(item -> "jiance".equals(item.getServicePackageId())) + .map(RoleReqDTO::getName) + .filter(Objects::nonNull) + .filter(name -> !name.trim().isEmpty()) + .collect(Collectors.joining(",")); + + user.setRoleNames(newRoleNames); flag = true; } else if (SystemEnum.SCHOOL.getCode().equals(loginBody.getSysCode())) { //驾校业务系统 diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionFileController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionFileController.java index c432600b..5952f046 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionFileController.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionFileController.java @@ -219,4 +219,12 @@ public class InspectionFileController extends BaseController { public CommonResult queryTreeFolderForJx(){ return success(inspectionFileService.queryTreeFolderForJx()); } + + /** + * 提醒 + */ + @RequestMapping("/warnReminder") + public void warnReminder(){ + inspectionFileService.warnReminder(); + } } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/InspectionBatchSettlementOrderController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/InspectionBatchSettlementOrderController.java new file mode 100644 index 00000000..d3d2c262 --- /dev/null +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/admin/InspectionBatchSettlementOrderController.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.inspection.controller.admin; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrder; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQuery; +import cn.iocoder.yudao.module.inspection.service.IInspectionBatchSettlementOrderService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/batchSettlement") +@RequiredArgsConstructor +public class InspectionBatchSettlementOrderController { + + private final IInspectionBatchSettlementOrderService batchSettlementOrderService; + + /** + * 分页查询 + * + * @param pageNo 页码 + * @param pageSize 每页数量 + * @param query 查询条件 + * @return 分页结果 + */ + @GetMapping("/page") + public CommonResult page(@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize, + InspectionBatchSettlementOrderQuery query) { + Page page = new Page<>(pageNo, pageSize); + + return CommonResult.success(batchSettlementOrderService.pageVo(page, query)); + } + +} diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrder.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrder.java index 25b4644b..2046eb9c 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrder.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrder.java @@ -43,4 +43,24 @@ public class InspectionBatchSettlementOrder extends TenantBaseDO implements Seri * 订单id集合 */ private String orderIds; + + /** + * 支付方式 + */ + private String payType; + + /** + * 出纳备注 + */ + private String cashierConfirmRemark; + + /** + * 账务备注 + */ + private String accountingConfirmRemark; + + /** + * 出纳确认 0-未到账 1-已到账 null-待确认 + */ + private String accountingConfirm; } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQuery.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQuery.java new file mode 100644 index 00000000..6936ae27 --- /dev/null +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQuery.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.inspection.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + *

+ * 批量结算订单记录 + *

+ * + * @author author + * @since 2025-07-09 + */ +@Data +public class InspectionBatchSettlementOrderQuery extends InspectionBatchSettlementOrder implements Serializable { + /** + * 时间范围 + */ + private List datetimeRange; +} diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQueryVo.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQueryVo.java new file mode 100644 index 00000000..91e226d3 --- /dev/null +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionBatchSettlementOrderQueryVo.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.inspection.entity; + +import cn.iocoder.yudao.module.payment.entity.OrderInfo; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + *

+ * 批量结算订单记录 + *

+ * + * @author author + * @since 2025-07-09 + */ +@Data +public class InspectionBatchSettlementOrderQueryVo extends InspectionBatchSettlementOrder implements Serializable { + /** + * 订单集合 + */ + private List orderInfoList; + + /** + * + */ + private String cashierName; +} diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionBatchSettlementOrderMapper.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionBatchSettlementOrderMapper.java index a2ce6aca..697136fb 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionBatchSettlementOrderMapper.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionBatchSettlementOrderMapper.java @@ -1,8 +1,15 @@ package cn.iocoder.yudao.module.inspection.mapper; import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrder; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQuery; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQueryVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -15,4 +22,11 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface InspectionBatchSettlementOrderMapper extends BaseMapper { + /** + * 分页查询 + * @param page 分页参数 + * @param query 查询参数 + * @return 查询结果 + */ + IPage pageVo(Page page, @Param("query") InspectionBatchSettlementOrderQuery query); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionBatchSettlementOrderService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionBatchSettlementOrderService.java index 868fefc0..35c57f49 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionBatchSettlementOrderService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionBatchSettlementOrderService.java @@ -1,8 +1,14 @@ package cn.iocoder.yudao.module.inspection.service; import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrder; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQuery; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 批量结算订单记录 服务类 @@ -13,4 +19,12 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IInspectionBatchSettlementOrderService extends IService { + /** + * 分页查询 + * + * @param page 分页参数 + * @param query 查询参数 + * @return List + */ + IPage pageVo(Page page, InspectionBatchSettlementOrderQuery query); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionFileService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionFileService.java index a5d41746..2da4123e 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionFileService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/IInspectionFileService.java @@ -124,8 +124,5 @@ public interface IInspectionFileService extends IService { List queryTreeFolder(); List queryTreeFolderForJx(); - /** - * 文件提醒 - */ void warnReminder(); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java index c02bf39b..178846ea 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/AppInspectionPartnerServiceImpl.java @@ -2738,11 +2738,38 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl batchs = batchSettlementOrderService.list(Wrappers.lambdaQuery() + .in(InspectionBatchSettlementOrder::getId, query.getIds())); + + List newOrderIds = new ArrayList<>(); + batchs.stream().forEach(batch -> { + batch.setAccountingConfirmRemark(query.getRemark()); + batch.setAccountingConfirm("1"); + // 将OrderIds以逗号隔开放入newOrderIds + if (StringUtils.isNotEmpty(batch.getOrderIds())) { + Arrays.stream(batch.getOrderIds().split(",")) + .map(String::trim) + .filter(StringUtils::isNotEmpty) + .forEach(orderId -> { + newOrderIds.add(Long.valueOf(orderId)); + }); + } + }); + + //更新批次 + batchSettlementOrderService.saveOrUpdateBatch(batchs); + // 会计审核 orderService.update(Wrappers.lambdaUpdate() - .in(OrderInfo::getId, orderIds) + .in(OrderInfo::getId, newOrderIds) .set(OrderInfo::getAccountingConfirm, "1") .set(ObjectUtil.isNotEmpty(query.getRemark()), OrderInfo::getAccountingConfirmRemark, query.getRemark()) .set(OrderInfo::getAccountingConfirmTime, new Date()) diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionBatchSettlementOrderServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionBatchSettlementOrderServiceImpl.java index b23b833e..05cf105b 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionBatchSettlementOrderServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionBatchSettlementOrderServiceImpl.java @@ -1,11 +1,24 @@ package cn.iocoder.yudao.module.inspection.service.impl; +import cn.hutool.core.util.ArrayUtil; import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrder; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQuery; +import cn.iocoder.yudao.module.inspection.entity.InspectionBatchSettlementOrderQueryVo; import cn.iocoder.yudao.module.inspection.mapper.InspectionBatchSettlementOrderMapper; import cn.iocoder.yudao.module.inspection.service.IInspectionBatchSettlementOrderService; +import cn.iocoder.yudao.module.inspection.service.IInspectionInfoService; +import cn.iocoder.yudao.module.payment.entity.OrderInfo; +import cn.iocoder.yudao.module.payment.service.OrderInfoService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + /** *

* 批量结算订单记录 服务实现类 @@ -15,6 +28,46 @@ import org.springframework.stereotype.Service; * @since 2025-07-09 */ @Service +@RequiredArgsConstructor public class InspectionBatchSettlementOrderServiceImpl extends ServiceImpl implements IInspectionBatchSettlementOrderService { + private final OrderInfoService orderInfoService; + + /** + * 分页查询 + * + * @param page 分页参数 + * @param query 查询参数 + * @return List + */ + @Override + public IPage pageVo(Page page, InspectionBatchSettlementOrderQuery query) { + IPage pageResp = baseMapper.pageVo(page, query); + + // 收集所有orderIds + Set allOrderIds = new HashSet<>(); + for (InspectionBatchSettlementOrderQueryVo record : pageResp.getRecords()) { + Set orderIds = ArrayUtil.mapToSet(record.getOrderIds().split(","), Long::parseLong); + allOrderIds.addAll(orderIds); + } + + // 一次性批量查询所有订单信息 + if (!allOrderIds.isEmpty()) { + Map orderInfoMap = orderInfoService.queryByIds(allOrderIds) + .stream() + .collect(Collectors.toMap(OrderInfo::getId, Function.identity())); + + // 填充订单信息 + for (InspectionBatchSettlementOrderQueryVo record : pageResp.getRecords()) { + Set orderIds = ArrayUtil.mapToSet(record.getOrderIds().split(","), Long::parseLong); + List orderInfos = orderIds.stream() + .map(orderInfoMap::get) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + record.setOrderInfoList(orderInfos); + } + } + + return pageResp; + } } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java index da1555e9..888db446 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionFileServiceImpl.java @@ -598,13 +598,13 @@ public class InspectionFileServiceImpl extends ServiceImpl().eq(InspectionFile::getDefaultKey, InspectionFileEnum.INSPECTION_CUSTOMER.getType())); if (inspectionFile != null) { // 查询出code中所有带这个文件夹id的文件 - List inspectionFiles = baseMapper.selectList(new LambdaQueryWrapper().like(InspectionFile::getFileCode, inspectionFile.getId()).eq(InspectionFile::getFileType, InspectionConstants.INSPECTION_FILE)); + List inspectionFiles = baseMapper.selectList(Wrappers.lambdaQuery().like(InspectionFile::getFileCode, inspectionFile.getId()).eq(InspectionFile::getType, InspectionConstants.INSPECTION_FILE)); // 判断获取提醒时间判断是否有过期的 inspectionFiles.forEach(file -> { - if (file.getWarnTime() != null && file.getWarnTime().before(new Date())) { + if (file.getWarnTime() != null && DateUtil.isSameDay(file.getWarnTime(), new Date())) { String message = String.format(InspectionConstants.INSPECTION_NOTICE_TEMPLATE_USER_FILE_EXPIRE, file.getFileName()); - // 提醒 - noticeService.sentMessage(Long.valueOf(file.getCreator()), message); + // 站内信 + noticeService.sentMessageToMember(Long.valueOf(file.getCreator()), message, null); } }); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionStaffServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionStaffServiceImpl.java index e13bb291..078d0c31 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionStaffServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionStaffServiceImpl.java @@ -203,7 +203,7 @@ public class InspectionStaffServiceImpl extends ServiceImpllambdaQuery().eq(AdminUserDO::getUsername, inspectionStaffVo.getUsername()).eq(AdminUserDO::getTenantId, loginUser.getTenantId()).last("LIMIT 1")); + AdminUserDO one = userService.getOne(Wrappers.lambdaQuery().eq(AdminUserDO::getUsername, inspectionStaffVo.getUsername()).eq(AdminUserDO::getUserType, USER_TYPE_STAFF).last("LIMIT 1")); Long userId = null; if (one == null) { UserSaveReqVO userDTO = BeanUtil.copyProperties(inspectionStaffVo, UserSaveReqVO.class); diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/entity/OrderInfo.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/entity/OrderInfo.java index dc171c62..4c226e79 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/entity/OrderInfo.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/entity/OrderInfo.java @@ -224,6 +224,21 @@ public class OrderInfo extends TenantBaseDO { @TableField(exist = false) private String type; + @TableField(exist = false) + private String carNum; + + //客户来源 + @TableField(exist = false) + private String customerSource; + + @TableField(exist = false) + private String businessChannel; + + @TableField(exist = false) + private String buyName; + @TableField(exist = false) + private String buyPhone; + } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/mapper/OrderInfoMapper.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/mapper/OrderInfoMapper.java index d1148b40..e23a5a20 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/mapper/OrderInfoMapper.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/mapper/OrderInfoMapper.java @@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Set; /** * (OrderInfo)表数据库访问层 @@ -64,5 +65,7 @@ public interface OrderInfoMapper extends BaseMapper { IPage getCommentOrderList(Page page, @Param("tenantId") Long tenantId); IPage orderListPc(Page page,@Param("vo") OrderInfo orderInfo); + + List queryByIds(@Param("orderIds") Set orderIds); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/OrderInfoService.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/OrderInfoService.java index b1617782..5e393485 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/OrderInfoService.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/OrderInfoService.java @@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; +import java.util.Set; /** * (OrderInfo)表服务接口 @@ -94,5 +95,7 @@ public interface OrderInfoService extends IService { * @param page 分页 */ void exportExcel(HttpServletResponse response, OrderInfo shopInspectionOrder, Page page) throws IOException; + + List queryByIds(Set orderIds); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/impl/OrderInfoServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/impl/OrderInfoServiceImpl.java index c498733b..5dd2bb17 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/impl/OrderInfoServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/payment/service/impl/OrderInfoServiceImpl.java @@ -1007,5 +1007,14 @@ public class OrderInfoServiceImpl extends ServiceImpl queryByIds(Set orderIds) { + return baseMapper.queryByIds(orderIds); + } + } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/reminder/service/impl/InspectionReminderConfigServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/reminder/service/impl/InspectionReminderConfigServiceImpl.java index def9d574..45d5679b 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/reminder/service/impl/InspectionReminderConfigServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/reminder/service/impl/InspectionReminderConfigServiceImpl.java @@ -16,8 +16,11 @@ import cn.iocoder.yudao.module.reminder.service.IInspectionReminderConfigService import cn.iocoder.yudao.module.reminder.service.IInspectionReminderRecordService; import cn.iocoder.yudao.module.shop.entity.ShopUserCar; import cn.iocoder.yudao.module.shop.service.IShopUserCarService; +import cn.iocoder.yudao.module.system.api.permission.PermissionApi; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; +import cn.iocoder.yudao.module.system.service.permission.RoleService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; import cn.iocoder.yudao.util.SendSmsUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -47,6 +50,7 @@ public class InspectionReminderConfigServiceImpl extends ServiceImpl users = roleService.getUserListByCodes(Collections.singletonList("jcxxgly")); // 发送站内信 for (InspectionInfo inspectionInfo : inspectionInfos) { @@ -129,6 +133,15 @@ public class InspectionReminderConfigServiceImpl extends ServiceImpl users = roleService.getUserListByCodes(Collections.singletonList("jcxxgly")); + for (InspectionInfo inspectionInfo : inspectionInfos) { @@ -195,6 +210,14 @@ public class InspectionReminderConfigServiceImpl extends ServiceImpl phoneNums) { if (CollUtil.isEmpty(phoneNums)) return; -// String[] phoneArray = phoneNums.toArray(new String[0]); - String[] phoneArray = {"19392873837"}; + String[] phoneArray = phoneNums.toArray(new String[0]); +// String[] phoneArray = {"19392873837"}; switch (config.getReminderPeople()) { case 0: // 车主 diff --git a/dl-module-inspection/src/main/resources/mapper/inspection/InspectionBatchSettlementOrderMapper.xml b/dl-module-inspection/src/main/resources/mapper/inspection/InspectionBatchSettlementOrderMapper.xml index 59115a8c..40a57295 100644 --- a/dl-module-inspection/src/main/resources/mapper/inspection/InspectionBatchSettlementOrderMapper.xml +++ b/dl-module-inspection/src/main/resources/mapper/inspection/InspectionBatchSettlementOrderMapper.xml @@ -2,4 +2,20 @@ + diff --git a/dl-module-inspection/src/main/resources/mapper/payment/OrderInfoMapper.xml b/dl-module-inspection/src/main/resources/mapper/payment/OrderInfoMapper.xml index 03034d93..37595557 100644 --- a/dl-module-inspection/src/main/resources/mapper/payment/OrderInfoMapper.xml +++ b/dl-module-inspection/src/main/resources/mapper/payment/OrderInfoMapper.xml @@ -326,4 +326,14 @@ order by oi.order_time desc + diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleReqDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleReqDTO.java index da5202e8..e53977f4 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleReqDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleReqDTO.java @@ -31,5 +31,9 @@ public class RoleReqDTO { * 备注 */ private String remark; + /** + * 服务套餐编号 + */ + private String servicePackageId; } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java index 78799c16..b96c0dab 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java @@ -57,6 +57,14 @@ public interface AdminUserApi { * @return 用户对象信息 */ AdminUserRespDTO getUserByUsername(String username); + + /** + * 通过用户 登录账户 查询用户---手动拼租户 + * + * @param username 用户登录账户 + * @return 用户对象信息 + */ + AdminUserRespDTO getUserByUsername(String username, Long tenantId); /** * 通过用户 登录账户 查询用户---不带租户 * diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java index 11dd1601..4b779c23 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java @@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.service.dept.DeptService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -96,6 +97,20 @@ public class AdminUserApiImpl implements AdminUserApi { AdminUserDO user = userService.getUserByUsername(username); return BeanUtils.toBean(user, AdminUserRespDTO.class); } + + /** + * 通过用户 登录账户 查询用户---手动拼租户 + * + * @param username 用户登录账户 + * @return 用户对象信息 + */ + @Override + public AdminUserRespDTO getUserByUsername(String username, Long tenantId) { + AdminUserDO user = userService.getOne(Wrappers.lambdaQuery() + .eq(AdminUserDO::getUsername, username) + .eq(AdminUserDO::getTenantId, tenantId)); + return BeanUtils.toBean(user, AdminUserRespDTO.class); + } /** * 通过用户 登录账户 查询用户---不带租户 * diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java index 873d7fbe..b406f977 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java @@ -10,6 +10,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.security.config.SecurityProperties; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; import cn.iocoder.yudao.module.system.api.permission.PermissionApi; import cn.iocoder.yudao.module.system.api.permission.RoleApi; import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO; @@ -288,6 +289,7 @@ public class AuthController { @GetMapping("/getListByPhone") @PermitAll @Operation(summary = "根据用户手机号查询所在的所有租户--员工登录", description = "根据用户手机号查询所在的所有租户--员工登录") + @TenantIgnore public CommonResult getListByPhone(@RequestParam("phone") String phone) { List list = userService.selectListByPhoneStaff(phone); List tenants = new ArrayList<>(); diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index 55ec0b3a..2c546bdc 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -307,6 +307,7 @@ yudao: - /admin-api/jx/** - /admin-api/jx/auth/getAppInfo - /admin-api/cos/** + - /admin-api/system/auth/getListByPhone ignore-tables: - system_tenant - system_tenant_package