feat:人工处理流程
This commit is contained in:
1 parent
b27be081af
commit
7a10979276
9 files changed
+116
-30
No files matched your search
+20
-18
@@ -373,24 +373,26 @@ CREATE TABLE hard_broadcast
|
||||
DROP TABLE IF EXISTS hard_auth;
|
||||
CREATE TABLE hard_auth
|
||||
(
|
||||
id bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||
auth_type varchar(32) DEFAULT NULL COMMENT '授权类型如微信小程序、支付宝、浙政钉',
|
||||
user_id bigint NOT NULL COMMENT '预定用户',
|
||||
hard_id bigint NOT NULL COMMENT '硬件id',
|
||||
cabinet_no int DEFAULT NULL COMMENT '货柜编号',
|
||||
auth_status char(1) DEFAULT '0' COMMENT '是否授权',
|
||||
auth_time datetime DEFAULT NULL COMMENT '授权时间',
|
||||
is_done char(1) DEFAULT '0' COMMENT '是否完成',
|
||||
is_done_time datetime DEFAULT NULL COMMENT '完成时间',
|
||||
is_manual_change varchar(32) DEFAULT NULL COMMENT '是否人工处理',
|
||||
manual_change_time datetime DEFAULT NULL COMMENT '人工处理时间',
|
||||
manual_change_remark varchar(512) DEFAULT NULL COMMENT '人工处理备注',
|
||||
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
|
||||
create_time datetime DEFAULT NULL COMMENT '创建时间',
|
||||
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
|
||||
update_time datetime DEFAULT NULL COMMENT '修改时间',
|
||||
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
|
||||
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
|
||||
id bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||
auth_type varchar(32) DEFAULT NULL COMMENT '授权类型如微信小程序、支付宝、浙政钉',
|
||||
user_id bigint NOT NULL COMMENT '预定用户',
|
||||
hard_id bigint NOT NULL COMMENT '硬件id',
|
||||
cabinet_no int DEFAULT NULL COMMENT '货柜编号',
|
||||
auth_status char(1) DEFAULT '0' COMMENT '是否授权',
|
||||
auth_time datetime DEFAULT NULL COMMENT '授权时间',
|
||||
is_done char(1) DEFAULT '0' COMMENT '是否完成',
|
||||
is_done_time datetime DEFAULT NULL COMMENT '完成时间',
|
||||
is_manual_change varchar(32) DEFAULT NULL COMMENT '是否人工处理',
|
||||
manual_change_user_id bigint DEFAULT NULL COMMENT '人工处理用户id',
|
||||
manual_change_time datetime DEFAULT NULL COMMENT '人工处理时间',
|
||||
manual_change_remark varchar(128) DEFAULT NULL COMMENT '人工处理备注',
|
||||
manual_change_pic varchar(512) DEFAULT NULL COMMENT '人工处理图片',
|
||||
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
|
||||
create_time datetime DEFAULT NULL COMMENT '创建时间',
|
||||
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
|
||||
update_time datetime DEFAULT NULL COMMENT '修改时间',
|
||||
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
|
||||
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE = InnoDB COMMENT ='硬件授权';
|
||||
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.bsd.pjcloud.hard.api.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardAuthErrorChangeDto {
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@NotNull(message = "流程id不能为空")
|
||||
private Long flowId;
|
||||
|
||||
/**
|
||||
* 处理图片
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 处理原因
|
||||
*/
|
||||
@NotEmpty(message = "请输入处理原因")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
+13
-1
@@ -83,6 +83,12 @@ public class HardAuthEntity extends Model<HardAuthEntity> {
|
||||
@Schema(description = "是否人工处理")
|
||||
private String isManualChange;
|
||||
|
||||
/**
|
||||
* 人工处理用户id
|
||||
*/
|
||||
@Schema(description = "人工处理用户id")
|
||||
private Long manualChangeUserId;
|
||||
|
||||
/**
|
||||
* 人工处理时间
|
||||
*/
|
||||
@@ -92,9 +98,15 @@ public class HardAuthEntity extends Model<HardAuthEntity> {
|
||||
/**
|
||||
* 人工处理备注
|
||||
*/
|
||||
@Schema(description = "人工处理时间")
|
||||
@Schema(description = "人工处理备注")
|
||||
private String manualChangeRemark;
|
||||
|
||||
/**
|
||||
* 人工处理图片
|
||||
*/
|
||||
@Schema(description = "人工处理图片")
|
||||
private String manualChangePic;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
||||
+3
@@ -1,6 +1,7 @@
|
||||
package com.bsd.pjcloud.hard.api.vo;
|
||||
|
||||
import com.bsd.pjcloud.admin.api.vo.base.BaseUserDeptInterface;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardDoorFlowEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface;
|
||||
import lombok.Data;
|
||||
@@ -32,5 +33,7 @@ public class HardDoorFlowVo extends HardDoorFlowEntity implements BaseHardInterf
|
||||
|
||||
private String userDeptName;
|
||||
|
||||
private HardAuthEntity hardAuth;
|
||||
|
||||
|
||||
}
|
||||
+12
-3
@@ -6,12 +6,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.service.PjcloudUser;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardGetAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.*;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardGetAuthAppVo;
|
||||
@@ -25,6 +24,7 @@ import org.springframework.http.HttpHeaders;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
@@ -61,6 +61,15 @@ public class HardAuthController {
|
||||
|
||||
/* ************************************* end app end ************************************* */
|
||||
|
||||
@Operation(summary = "流程错误手动处理", description = "流程错误手动处理")
|
||||
@PostMapping("/error-change")
|
||||
@Idempotent(expireTime = 5, info = "正在开门中,请勿重复操作")
|
||||
public R errorChange(@Validated @RequestBody HardAuthErrorChangeDto dto) {
|
||||
PjcloudUser user = SecurityUtils.getUser();
|
||||
hardAuthService.errorChange(dto, user.getId());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
@GetMapping("/page-join")
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAuth_view')")
|
||||
|
||||
+6
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthErrorChangeDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardGetAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
|
||||
@@ -29,4 +30,9 @@ public interface HardAuthService extends IService<HardAuthEntity> {
|
||||
* 判断当前用户信誉
|
||||
*/
|
||||
boolean judgeUserCredit(Long userId);
|
||||
|
||||
/**
|
||||
* 流程错误手动处理
|
||||
*/
|
||||
void errorChange(HardAuthErrorChangeDto dto, Long userId);
|
||||
}
|
||||
+28
-6
@@ -14,26 +14,25 @@ import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardAuthTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowBizEnum;
|
||||
import com.bsd.pjcloud.hard.api.constant.HardDoorOpenTypeEnum;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardAuthDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardDoorFlowOpenDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.HardGetAuthAppDto;
|
||||
import com.bsd.pjcloud.hard.api.dto.*;
|
||||
import com.bsd.pjcloud.hard.api.dto.manager.HardManagerDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.HardDoorFlowEntity;
|
||||
import com.bsd.pjcloud.hard.api.entity.manager.HardManagerEntity;
|
||||
import com.bsd.pjcloud.hard.api.utils.HardUtil;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.HardGetAuthAppVo;
|
||||
import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo;
|
||||
import com.bsd.pjcloud.hard.mapper.HardAuthMapper;
|
||||
import com.bsd.pjcloud.hard.mapper.manager.HardDoorManagerMapper;
|
||||
import com.bsd.pjcloud.hard.mapper.manager.HardManagerMapper;
|
||||
import com.bsd.pjcloud.hard.service.HardAuthService;
|
||||
import com.bsd.pjcloud.hard.service.HardDoorFlowService;
|
||||
import com.bsd.pjcloud.hard.service.HardDoorManagerService;
|
||||
import com.bsd.pjcloud.hard.service.HardOrderService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -51,9 +50,9 @@ public class HardAuthServiceImpl extends ServiceImpl<HardAuthMapper, HardAuthEnt
|
||||
|
||||
private final HardDoorManagerService hardDoorManagerService;
|
||||
private final HardDoorFlowService hardDoorFlowService;
|
||||
private final HardOrderService hardOrderService;
|
||||
|
||||
private final HardManagerMapper hardManagerMapper;
|
||||
private final HardDoorManagerMapper hardDoorManagerMapper;
|
||||
|
||||
private final RemoteUserService remoteUserService;
|
||||
|
||||
@@ -130,6 +129,29 @@ public class HardAuthServiceImpl extends ServiceImpl<HardAuthMapper, HardAuthEnt
|
||||
return count <= 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* 流程错误手动处理
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void errorChange(HardAuthErrorChangeDto dto, Long userId) {
|
||||
HardDoorFlowEntity hardDoorFlow = hardDoorFlowService.getById(dto.getFlowId());
|
||||
if (ObjectUtil.isEmpty(hardDoorFlow)) {
|
||||
throw new RuntimeException("智能柜子购买流程不存在");
|
||||
}
|
||||
HardAuthEntity hardAuth = baseMapper.selectById(hardDoorFlow.getAuthId());
|
||||
HardAuthEntity updateObj = new HardAuthEntity();
|
||||
updateObj.setId(hardAuth.getId());
|
||||
updateObj.setManualChangeUserId(userId);
|
||||
updateObj.setIsManualChange(YesNoEnum.YES.getCode());
|
||||
updateObj.setManualChangeTime(LocalDateTime.now());
|
||||
updateObj.setManualChangeRemark(dto.getRemark());
|
||||
updateObj.setManualChangePic(dto.getImage());
|
||||
baseMapper.updateById(updateObj);
|
||||
// 更新订单状态
|
||||
hardOrderService.cancelHardDoorOrder(hardDoorFlow.getOrderId());
|
||||
}
|
||||
|
||||
private void disposeList(List<HardAuthVo> list, HardAuthDto dto) {
|
||||
if (ObjectUtil.isEmpty(list)) return;
|
||||
// 设备
|
||||
|
||||
+5
@@ -518,6 +518,11 @@ public class HardDoorFlowServiceImpl extends ServiceImpl<HardDoorFlowMapper, Har
|
||||
if (ObjectUtil.isNotEmpty(hardManager)) {
|
||||
HardUtil.convertHard(detail, hardManager);
|
||||
}
|
||||
// 设备id
|
||||
HardAuthEntity hardAuth = hardAuthService.getById(detail.getAuthId());
|
||||
if (ObjectUtil.isNotEmpty(hardAuth)) {
|
||||
detail.setHardAuth(hardAuth);
|
||||
}
|
||||
}
|
||||
|
||||
private HardDoorFlowServiceImpl getSelf() {
|
||||
|
||||
+2
-2
@@ -242,8 +242,8 @@ public class HardSpuServiceImpl extends ServiceImpl<HardSpuMapper, HardSpuEntity
|
||||
if (ObjectUtil.equals(spuDetail.getPrice(), 0)) {
|
||||
throw new RuntimeException("商品价格不能为0");
|
||||
}
|
||||
if (spuDetail.getRepertoryCount() <= 0) {
|
||||
throw new RuntimeException("商品库存不能小于0");
|
||||
if (ObjectUtil.isEmpty(spuDetail.getSpuCategoryId())) {
|
||||
throw new RuntimeException("请编辑商品分类");
|
||||
}
|
||||
return spuDetail;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user