diff --git a/src/main/java/org/springblade/common/cache/DeptCache.java b/src/main/java/org/springblade/common/cache/DeptCache.java new file mode 100644 index 0000000..53f5aa8 --- /dev/null +++ b/src/main/java/org/springblade/common/cache/DeptCache.java @@ -0,0 +1,58 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.common.cache; + +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.modules.system.pojo.entity.Dept; +import org.springblade.modules.system.service.IDeptService; + +/** + * 系统缓存 + * + * @author Chill + */ +public class DeptCache { + public static final String DEPT_CACHE = "blade:"; + public static final String DEPT_CACHE_ID = "dept:id:"; + + private static final IDeptService DeptService; + + static { + DeptService = SpringUtil.getBean(IDeptService.class); + } + + /** + * 获取用户 + * + * @param DeptId 用户id + * @return + */ + public static Dept getDept(Long DeptId) { + return CacheUtil.get(DEPT_CACHE, DEPT_CACHE_ID, DeptId, () -> DeptService.getById(DeptId)); + } + +} diff --git a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java index 1ba5db7..ed9c624 100644 --- a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java @@ -123,6 +123,7 @@ public class MaintenanceController extends BladeController { public R taskSupervisorConfirm(@RequestBody MaintenanceTask task) { MaintenanceTask taskOld = taskService.getById(task.getId()); taskOld.setServicemanId(task.getServicemanId()); + taskOld.setServicemanName(task.getServicemanName()); taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SUPERVISOR_CONFIRM.getValue()); taskService.updateById(taskOld); @@ -278,7 +279,7 @@ public class MaintenanceController extends BladeController { taskOld.setApproveResult(CommonConstant.FALSE_INT); taskOld.setApproveTime(DateUtil.now()); taskOld.setApproveRemark(task.getApproveRemark()); - taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue()); + taskOld.setRepairStatus(MaintenanceStatusEnum.SUPERVISOR_CONFIRM_REFUSE.getValue()); taskService.updateById(taskOld); return R.success(); @@ -315,7 +316,7 @@ public class MaintenanceController extends BladeController { taskOld.setApproveResult(CommonConstant.FALSE_INT); taskOld.setApproveTime(DateUtil.now()); taskOld.setApproveRemark(task.getApproveRemark()); - taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue()); + taskOld.setRepairStatus(MaintenanceStatusEnum.CUSTOMER_CONFIRM_REFUSE.getValue()); taskService.updateById(taskOld); return R.success(); diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java index a0d3060..a3afc40 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.json.JSONObject; +import org.springblade.common.cache.DeptCache; import org.springblade.common.constant.CommonConstant; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.log.annotation.ApiLog; @@ -15,6 +16,7 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringPool; import org.springblade.modules.business.enums.WorkOrderStatusEnum; import org.springblade.modules.business.pojo.dto.workorder.WorkOrderDTO; @@ -105,6 +107,13 @@ public class WorkOrderController extends BladeController { // 执行分页查询 IPage pages = workOrderService.page(Condition.getPage(query), wrapper); + + pages.getRecords().forEach(order -> { + if (Func.isNotEmpty(order.getReportUnit())) { + order.setReportUnitName(DeptCache.getDept(Long.parseLong(order.getReportUnit())).getDeptName()); + } + }); + // 返回查询结果 return R.data(pages); } @@ -188,7 +197,7 @@ public class WorkOrderController extends BladeController { public R serviceReject(@RequestBody WorkOrder workOrder) { WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); workOrderOld.setRepaiRejectReason(workOrder.getRepaiRejectReason()); - workOrderOld.setStatus(WorkOrderStatusEnum.CUSTOMER_SUBMIT.getValue()); + workOrderOld.setStatus(WorkOrderStatusEnum.SERVICE_REFUSE.getValue()); workOrderService.updateById(workOrderOld); WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getRepaiRejectReason()); @@ -248,7 +257,7 @@ public class WorkOrderController extends BladeController { workOrderOld.setApproveTime(workOrder.getApproveTime()); workOrderOld.setApproveRemark(workOrder.getApproveRemark()); workOrderOld.setRepaiTeamRejectReason(workOrder.getRepaiTeamRejectReason()); - workOrderOld.setStatus(WorkOrderStatusEnum.SERVICEMAN_CONFIRM.getValue()); + workOrderOld.setStatus(WorkOrderStatusEnum.SUPERVISOR_CONFIRM_REFUSE.getValue()); workOrderService.updateById(workOrderOld); WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark()); @@ -294,7 +303,7 @@ public class WorkOrderController extends BladeController { workOrderOld.setApproveResult(workOrder.getApproveResult()); workOrderOld.setApproveTime(workOrder.getApproveTime()); workOrderOld.setApproveRemark(workOrder.getApproveRemark()); - workOrderOld.setStatus(WorkOrderStatusEnum.SERVICEMAN_CONFIRM.getValue()); + workOrderOld.setStatus(WorkOrderStatusEnum.CUSTOMER_CONFIRM_REFUSE.getValue()); workOrderService.updateById(workOrderOld); WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark()); diff --git a/src/main/java/org/springblade/modules/business/enums/MaintenanceStatusEnum.java b/src/main/java/org/springblade/modules/business/enums/MaintenanceStatusEnum.java index d1850d7..fa3de66 100644 --- a/src/main/java/org/springblade/modules/business/enums/MaintenanceStatusEnum.java +++ b/src/main/java/org/springblade/modules/business/enums/MaintenanceStatusEnum.java @@ -46,10 +46,18 @@ public enum MaintenanceStatusEnum { * 维修人员提交,待主管审批 */ REPAIR_SERVICEMAN_SUBMIT(2), + /** + * 主管审核拒绝,待提交维修方案 + */ + SUPERVISOR_CONFIRM_REFUSE(101), /** * 主管审批通过,待客户审批 */ REPAIR_SUPERVISOR_CONFIRM(3), + /** + * 客户审核拒绝,待主管审核 + */ + CUSTOMER_CONFIRM_REFUSE(102), /** * 客户审批通过, 维修中 */ diff --git a/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java b/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java index adf7c85..07d1502 100644 --- a/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java +++ b/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java @@ -17,41 +17,65 @@ public enum WorkOrderStatusEnum { */ DRAFT(-1), /** - * 客户提交,维修人员拒绝, 待客服处理 + * 客户提交 待客服处理 */ CUSTOMER_SUBMIT(0), + + /** + * 维修人员拒绝, 待客服处理 + */ + SERVICE_REFUSE(100), + /** * 客服分配维修人员,待维修人员确认 */ SERVICE_SUBMIT(1), + /** - * 维修人员确认, 主管审核拒绝,客户审核拒绝,待提交维修方案 + * 维修人员确认,,待提交维修方案 */ SERVICEMAN_CONFIRM(2), + /** * 维修人员提交,待主管审批 */ SUPERVISOR_CONFIRM(3), + + /** + * 主管审核拒绝,待提交维修方案 + */ + SUPERVISOR_CONFIRM_REFUSE(101), + /** * 主管审批通过,待客户审批 */ CUSTOMER_CONFIRM(4), + + /** + * 客户审核拒绝,待主管审核 + */ + CUSTOMER_CONFIRM_REFUSE(102), + /** * 客户审批通过, 维修中 */ REPAIRING(5), + /** * 维修完成,待评价 */ REPAIR_FINISH(6), + /** * 评价完成,待客服确认付款 */ EVALUATE_FINISH(7), + /** * 工单关闭 */ CLOSE(8), + /** * 已开发票 */ diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTask.java b/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTask.java index 5c61f03..fec2351 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTask.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTask.java @@ -65,6 +65,11 @@ public class MaintenanceTask extends BaseEntity { */ private Long servicemanId; + /** + * 巡检人 + */ + private String servicemanName; + /** * 巡检说明 */ diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrder.java b/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrder.java index e2c38c1..38bf724 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrder.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrder.java @@ -1,5 +1,6 @@ package org.springblade.modules.business.pojo.entity.workorder; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -93,6 +94,12 @@ public class WorkOrder extends BaseEntity { */ private String reportUnit; + /** + * 提报单位名称 + */ + @TableField(exist = false) + private String reportUnitName; + /** * 维修班组 */ diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrderRepairMaterial.java b/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrderRepairMaterial.java index 7674e06..4642772 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrderRepairMaterial.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrderRepairMaterial.java @@ -22,6 +22,11 @@ public class WorkOrderRepairMaterial extends BaseEntity { */ private Long orderId; + /** + * 库存id + */ + private String inventoryId; + /** * 物料名称 */ diff --git a/src/main/java/org/springblade/modules/system/controller/UserRegisterController.java b/src/main/java/org/springblade/modules/system/controller/UserRegisterController.java index 9abc30e..3534f29 100644 --- a/src/main/java/org/springblade/modules/system/controller/UserRegisterController.java +++ b/src/main/java/org/springblade/modules/system/controller/UserRegisterController.java @@ -2,6 +2,7 @@ package org.springblade.modules.system.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -24,6 +25,7 @@ import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.constant.RoleConstant; +import org.springblade.core.tool.utils.DigestUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringUtil; @@ -133,7 +135,7 @@ public class UserRegisterController { public R auditRefuse(@RequestBody User user) { user = userService.getById(user.getId()); user.setStatus(STATUS_REGISTER_NO); - return R.status(userService.updateUser(user)); + return R.status(userService.removeById(user)); } /** @@ -211,4 +213,46 @@ public class UserRegisterController { return R.data(user, "注册成功"); } + + /** + * 重置密码 + * + * @return + */ + @PostMapping("/reset-pwd") + @Operation(summary = "重置密码", description = "重置密码") + public R resetPwd(@Parameter(description = "用户信息", required = true) @RequestBody UserRegisterDto userDto) { + String phone = userDto.getPhone(); + String verifyCode = userDto.getVerifyCode(); + + if (StringUtil.isBlank(phone)) { + return R.fail("手机号为空"); + } + + if (StringUtil.isBlank(verifyCode)) { + return R.fail("验证码为空"); + } + + // 从缓存中获取验证码 + String redisKey = UserCache.USER_REGISTER_CODE + phone; + String cacheVerifyCode = (String) redisTemplate.opsForValue().get(redisKey); + + // 判断验证码是否正确 + if (!verifyCode.equals(cacheVerifyCode)) { + return R.fail("验证码错误"); + } + + redisTemplate.delete(redisKey); + + User user = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getPhone, userDto.getPhone())); + if (Func.isEmpty(user)){ + return R.fail("用户不存在"); + } + + CacheUtil.clear(USER_CACHE); + userService.update(Wrappers.update().lambda().set(User::getPassword, DigestUtil.encrypt(userDto.getPassword())).eq(User::getPhone, userDto.getPhone())); + + return R.success("重置密码成功"); + } + }