diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardDoorFlowBizEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/flow/HardDoorFlowBizEnum.java similarity index 87% rename from pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardDoorFlowBizEnum.java rename to pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/flow/HardDoorFlowBizEnum.java index 3667a7f32..686ea367f 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardDoorFlowBizEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/flow/HardDoorFlowBizEnum.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.hard.api.constant; +package com.bsd.pjcloud.hard.api.constant.flow; import cn.hutool.core.util.ObjectUtil; import lombok.AllArgsConstructor; @@ -14,7 +14,7 @@ import java.util.Arrays; public enum HardDoorFlowBizEnum { PAY_OPEN("10", "购买开门"), REPERTORY_OPEN("20", "上架开门"), - ACCESS_OPEN("20", "检修开门"), + ACCESS_OPEN("30", "检修开门"), ; private final String type; private final String description; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardDoorFlowOpenDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardDoorFlowOpenDto.java index d8ded1ab7..5f54cfff6 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardDoorFlowOpenDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardDoorFlowOpenDto.java @@ -1,6 +1,6 @@ package com.bsd.pjcloud.hard.api.dto; -import com.bsd.pjcloud.hard.api.constant.HardDoorFlowBizEnum; +import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowBizEnum; import com.bsd.pjcloud.hard.api.constant.HardDoorOpenTypeEnum; import jakarta.validation.constraints.NotNull; import lombok.Data; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java index 56e0c2280..4af5e79ca 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java @@ -10,7 +10,7 @@ import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; -import com.bsd.pjcloud.hard.api.constant.HardDoorFlowBizEnum; +import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowBizEnum; import com.bsd.pjcloud.hard.api.constant.HardDoorOpenTypeEnum; import com.bsd.pjcloud.hard.api.dto.HardDoorFlowDto; import com.bsd.pjcloud.hard.api.dto.HardDoorFlowOpenDto; @@ -89,7 +89,7 @@ public class HardDoorFlowController { /* ************************************* start app start ************************************* */ @Operation(summary = "上架开门", description = "上架开门") - @PostMapping("/open-repertory") + @PostMapping("/app/open-repertory") public R openRepertory(@Validated @RequestBody HardDoorFlowOpenDto dto) { PjcloudUser user = SecurityUtils.getUser(); dto.setFlowType(HardDoorFlowBizEnum.REPERTORY_OPEN); @@ -137,6 +137,14 @@ public class HardDoorFlowController { return R.ok(hardDoorFlowService.join(id)); } + @Operation(summary = "通过订单id查询流程", description = "通过订单id查询流程") + @GetMapping("/get-by-order-id") + @PreAuthorize("@pms.hasPermission('dzc_hardDoorFlow_view')") + public R getByOrderId(@RequestParam Long orderId) { + return R.ok(hardDoorFlowService.getByOrderId(orderId)); + } + + @Operation(summary = "新增智能柜流程", description = "新增智能柜流程") @SysLog("新增智能柜流程") @PostMapping diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardDoorFlowMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardDoorFlowMapper.java index c36d4a6a1..41ceae530 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardDoorFlowMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardDoorFlowMapper.java @@ -23,7 +23,9 @@ public interface HardDoorFlowMapper extends PjcloudBaseMapper { HardDoorFlowVo join(Long id); + /** + * 通过订单id查询流程 + */ + HardDoorFlowVo getByOrderId(Long orderId); + /** * 检修开门 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java index 3d52dd5b5..af5333b6c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java @@ -11,7 +11,7 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.constant.HardAuthTypeEnum; -import com.bsd.pjcloud.hard.api.constant.HardDoorFlowBizEnum; +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; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardDoorFlowServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardDoorFlowServiceImpl.java index e464484bd..72f794042 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardDoorFlowServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardDoorFlowServiceImpl.java @@ -8,7 +8,6 @@ import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.admin.api.utils.DataUtil; import com.bsd.pjcloud.admin.api.vo.UserVO; @@ -16,7 +15,7 @@ import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; -import com.bsd.pjcloud.hard.api.constant.HardDoorFlowBizEnum; +import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowBizEnum; import com.bsd.pjcloud.hard.api.constant.flow.HardDoorFlowEnum; import com.bsd.pjcloud.hard.api.dto.HardDoorFlowDto; import com.bsd.pjcloud.hard.api.dto.HardDoorFlowOpenDto; @@ -91,14 +90,19 @@ public class HardDoorFlowServiceImpl extends ServiceImpl usrList = remoteUserService.getUserDeptByIds(List.of(result.getUserId())).getData(); - if (ObjectUtil.isNotEmpty(usrList)) { - DataUtil.convertUserDept(result, usrList.get(0)); - } - // 设备 - HardManagerEntity hardManager = hardManagerMapper.selectById(result.getHardDoorId()); - if (ObjectUtil.isNotEmpty(hardManager)) HardUtil.convertHard(result, hardManager); + disposeList(result); + return result; + } + + /** + * 通过订单id查询流程 + */ + @Override + public HardDoorFlowVo getByOrderId(Long orderId) { + HardDoorFlowEntity detail = baseMapper.selectOne(new LambdaQueryWrapper().eq(HardDoorFlowEntity::getOrderId, orderId)); + if (ObjectUtil.isEmpty(detail)) return null; + HardDoorFlowVo result = BeanUtil.toBean(detail, HardDoorFlowVo.class); + disposeList(result); return result; } @@ -344,8 +348,10 @@ public class HardDoorFlowServiceImpl extends ServiceImpl { updateObj.setPayTime(LocalDateTime.now()); + if (ObjectUtil.isNotEmpty(error)) { + updateObj.setErrorDesc("商品识别响应错误"); + } break; } } @@ -477,6 +486,19 @@ public class HardDoorFlowServiceImpl extends ServiceImpl usrList = remoteUserService.getUserDeptByIds(List.of(detail.getUserId())).getData(); + if (ObjectUtil.isNotEmpty(usrList)) { + DataUtil.convertUserDept(detail, usrList.get(0)); + } + // 设备 + HardManagerEntity hardManager = hardManagerMapper.selectById(detail.getHardDoorId()); + if (ObjectUtil.isNotEmpty(hardManager)) { + HardUtil.convertHard(detail, hardManager); + } + } + private HardDoorFlowServiceImpl getSelf() { return SpringUtil.getBean(getClass()); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java index 964afd299..0363fc7cc 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java @@ -47,6 +47,7 @@ public class HardSpuJoinServiceImpl extends ServiceImpl spuList = hardSpuMapper.scopPageList(spuDto, null); for (HardSpuJoinVo v : joinList) { spuList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getSpuId())).findFirst().ifPresent(v::setSpuDetail); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java index f1b46ce3f..e82b5761b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuServiceImpl.java @@ -166,6 +166,7 @@ public class HardSpuServiceImpl extends ServiceImpl updateList = new ArrayList<>(); for (HardSpuEntity i : hardSpuList) { list.stream().filter(j -> ObjectUtil.equals(i.getId(), j.getHardSpuId())).findFirst().ifPresent(hardSpu -> { if (ObjectUtil.isNotEmpty(hardSpu.getIncrCount())) { @@ -269,11 +269,11 @@ public class HardSpuServiceImpl extends ServiceImpl