Browse Source

fix锁管理

lock-dev
wangwei_123 6 days ago
parent
commit
d3ae75ea1a
  1. 55
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/controller/admin/JsSdkController.java
  2. 29
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/dal/LockGuideDO.java
  3. 2
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/dal/PlanItemDO.java
  4. 9
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/dal/PointDO.java
  5. 2
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/framework/web/config/LockWebConfiguration.java
  6. 1
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/mapper/LockGuideMapper.java
  7. 34
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockGuidePageReqVO.java
  8. 43
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockGuideRespVO.java
  9. 25
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockGuideSaveReqVO.java
  10. 2
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockPageReqVO.java
  11. 2
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockSaveReqVO.java
  12. 2
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PlanItemDetailSaveReqVO.java
  13. 2
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PlanItemPageReqVO.java
  14. 6
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PointPageReqVO.java
  15. 8
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PointRespVO.java
  16. 6
      cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PointSaveReqVO.java

55
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/controller/admin/JsSdkController.java

@ -6,7 +6,13 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.security.PermitAll; import jakarta.annotation.security.PermitAll;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.bean.WxJsapiSignature; import me.chanjar.weixin.common.bean.WxJsapiSignature;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.cp.api.WxCpMessageService;
import me.chanjar.weixin.cp.api.WxCpUserService;
import me.chanjar.weixin.cp.bean.WxCpAgentJsapiSignature; import me.chanjar.weixin.cp.bean.WxCpAgentJsapiSignature;
import me.chanjar.weixin.cp.bean.WxCpUser;
import me.chanjar.weixin.cp.bean.message.WxCpMessage;
import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -23,6 +29,7 @@ import java.nio.charset.StandardCharsets;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.Formatter; import java.util.Formatter;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
@ -62,4 +69,52 @@ public class JsSdkController {
} }
return null; return null;
} }
@GetMapping("/sendMessage")
@PermitAll
@TenantIgnore
public void sendMessage(@RequestParam(required = false) String data) {
WxCpMessageService messageService = wxCpService.getMessageService();
String title = "解锁完成";
String description = "<div class=\"gray\">2025年8月7日</div>" +
"<div class=\"normal\">下午3:00解锁完成</div>" +
"<div class=\"highlight\">请停止作业</div>";
String url = "https://example.com/meeting/details/123";
String btnText = " ";
WxCpMessage message = WxCpMessage.TEXTCARD()
.agentId(1000002)
.toUser("@all")
.title(title)
.description(description)
.url(url)
.btnTxt(btnText)
.build();
// 3. 调用 send 方法发送消息
try {
WxCpMessageSendResult sendResult = messageService.send(message);
// 你可以根据 sendResult 的内容进行后续处理
System.out.println("消息发送成功: " + sendResult);
} catch (WxErrorException e) {
// 异常处理,例如记录日志、发送告警等
System.err.println("消息发送失败: " + e.getError().getErrorMsg());
}
}
@GetMapping("/call/action")
@PermitAll
@TenantIgnore
public void action(@RequestParam(required = false) String data) {
System.out.println(data);
log.info(data);
}
@GetMapping("/call/data")
@PermitAll
@TenantIgnore
public void data(@RequestParam(required = false) String data) {
System.out.println(data);
log.info(data);
}
} }

29
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/dal/LockGuideDO.java

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.lock.dal; package cn.iocoder.yudao.module.lock.dal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -27,14 +28,38 @@ public class LockGuideDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
/** /**
* 工作内容和范围 * 工作内容和范围
*/ */
private String guideContent; private String guideContent;
/** /**
* 所需设备锁数量
* 隔离指导书名称
*/ */
private Integer guideLockNums;
private String name;
/**
* 隔离计划编号
*/
private String code;
/**
* 集中挂牌人ID
*/
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private Long operatorId;
/**
* 集中挂牌协助人ID
*/
private Long operatorHelperId;
/**
* 验证人ID
*/
private Long verifierId;
/**
* 验证协助人ID
*/
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private Long verifierHelperId;
} }

2
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/dal/PlanItemDO.java

@ -42,6 +42,7 @@ public class PlanItemDO extends BaseDO {
/** /**
* 集中挂牌协助人ID * 集中挂牌协助人ID
*/ */
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private Long operatorHelperId; private Long operatorHelperId;
/** /**
* 验证人ID * 验证人ID
@ -50,6 +51,7 @@ public class PlanItemDO extends BaseDO {
/** /**
* 验证协助人ID * 验证协助人ID
*/ */
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private Long verifierHelperId; private Long verifierHelperId;
/** /**
* 子项状态: 0=未完成, 1=已完成 * 子项状态: 0=未完成, 1=已完成

9
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/dal/PointDO.java

@ -44,5 +44,14 @@ public class PointDO extends BaseDO {
*/ */
private String ipNumber; private String ipNumber;
/**
* 隔离点状态
*/
private Integer status;
/**
* 所需设备锁数量
*/
private Integer guideLockNums;
} }

2
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/framework/web/config/LockWebConfiguration.java

@ -14,7 +14,7 @@ import org.springframework.context.annotation.Configuration;
public class LockWebConfiguration { public class LockWebConfiguration {
/** /**
* infra 模块的 API 分组
*
*/ */
@Bean @Bean
public GroupedOpenApi lockGroupedOpenApi() { public GroupedOpenApi lockGroupedOpenApi() {

1
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/mapper/LockGuideMapper.java

@ -18,7 +18,6 @@ public interface LockGuideMapper extends BaseMapperX<LockGuideDO> {
default PageResult<LockGuideDO> selectPage(LockGuidePageReqVO reqVO) { default PageResult<LockGuideDO> selectPage(LockGuidePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<LockGuideDO>() return selectPage(reqVO, new LambdaQueryWrapperX<LockGuideDO>()
.eqIfPresent(LockGuideDO::getGuideContent, reqVO.getGuideContent()) .eqIfPresent(LockGuideDO::getGuideContent, reqVO.getGuideContent())
.eqIfPresent(LockGuideDO::getGuideLockNums, reqVO.getGuideLockNums())
.betweenIfPresent(LockGuideDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(LockGuideDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(LockGuideDO::getId)); .orderByDesc(LockGuideDO::getId));
} }

34
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockGuidePageReqVO.java

@ -16,8 +16,38 @@ public class LockGuidePageReqVO extends PageParam {
@Schema(description = "工作内容和范围") @Schema(description = "工作内容和范围")
private String guideContent; private String guideContent;
@Schema(description = "所需设备锁数量")
private Integer guideLockNums;
/**
* 隔离指导书名称
*/
@Schema(description = "隔离指导书名称")
private String name;
/**
* 隔离计划编号
*/
@Schema(description = "隔离计划编号")
private String code;
/**
* 集中挂牌人ID
*/
@Schema(description = "集中挂牌人ID")
private Long operatorId;
/**
* 集中挂牌协助人ID
*/
@Schema(description = "集中挂牌协助人ID")
private Long operatorHelperId;
/**
* 验证人ID
*/
@Schema(description = "验证人ID")
private Long verifierId;
/**
* 验证协助人ID
*/
@Schema(description = "验证协助人ID")
private Long verifierHelperId;
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

43
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockGuideRespVO.java

@ -19,10 +19,47 @@ public class LockGuideRespVO {
@Schema(description = "工作内容和范围") @Schema(description = "工作内容和范围")
@ExcelProperty("工作内容和范围") @ExcelProperty("工作内容和范围")
private String guideContent; private String guideContent;
/**
* 隔离指导书名称
*/
@Schema(description = "隔离指导书名称")
@ExcelProperty("隔离指导书名称")
private String name;
/**
* 隔离计划编号
*/
@Schema(description = "隔离计划编号")
@ExcelProperty("隔离计划编号")
private String code;
/**
* 集中挂牌人ID
*/
@Schema(description = "集中挂牌人ID")
@ExcelProperty("集中挂牌人ID")
private Long operatorId;
/**
* 集中挂牌协助人ID
*/
@Schema(description = "集中挂牌协助人ID")
@ExcelProperty("集中挂牌协助人ID")
private Long operatorHelperId;
/**
* 验证人ID
*/
@Schema(description = "验证人ID")
@ExcelProperty("验证人ID")
private Long verifierId;
/**
* 验证协助人ID
*/
@Schema(description = "验证协助人ID")
@ExcelProperty("验证协助人ID")
private Long verifierHelperId;
@Schema(description = "所需设备锁数量", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("所需设备锁数量")
private Integer guideLockNums;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间") @ExcelProperty("创建时间")

25
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockGuideSaveReqVO.java

@ -15,8 +15,27 @@ public class LockGuideSaveReqVO {
@Schema(description = "工作内容和范围") @Schema(description = "工作内容和范围")
private String guideContent; private String guideContent;
@Schema(description = "所需设备锁数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "所需设备锁数量不能为空")
private Integer guideLockNums;
/**
* 集中挂牌人ID
*/
@Schema(description = "集中挂牌人ID")
@NotNull(message = "集中挂牌人ID不能为空")
private Long operatorId;
/**
* 集中挂牌协助人ID
*/
@Schema(description = "集中挂牌协助人ID")
private Long operatorHelperId;
/**
* 验证人ID
*/
@Schema(description = "验证人ID")
@NotNull(message = "集中挂牌人ID不能为空")
private Long verifierId;
/**
* 验证协助人ID
*/
@Schema(description = "验证协助人ID")
private Long verifierHelperId;
} }

2
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockPageReqVO.java

@ -26,7 +26,7 @@ public class LockPageReqVO extends PageParam {
private String lockType; private String lockType;
@Schema(description = "启用状态: 0=未启用, 1=已启用", example = "2") @Schema(description = "启用状态: 0=未启用, 1=已启用", example = "2")
private Boolean lockEnableStatus;
private Integer lockEnableStatus;
@Schema(description = "上次充电时间") @Schema(description = "上次充电时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

2
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/LockSaveReqVO.java

@ -31,7 +31,7 @@ public class LockSaveReqVO {
@Schema(description = "启用状态: 0=未启用, 1=已启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @Schema(description = "启用状态: 0=未启用, 1=已启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "启用状态: 0=未启用, 1=已启用不能为空") @NotNull(message = "启用状态: 0=未启用, 1=已启用不能为空")
private Boolean lockEnableStatus;
private Integer lockEnableStatus;
@Schema(description = "上次充电时间") @Schema(description = "上次充电时间")
private LocalDateTime lockLastChargeTime; private LocalDateTime lockLastChargeTime;

2
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PlanItemDetailSaveReqVO.java

@ -25,6 +25,6 @@ public class PlanItemDetailSaveReqVO {
@Schema(description = "锁状态: 0=未上锁, 1=已上锁, 2=已解锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "锁状态: 0=未上锁, 1=已上锁, 2=已解锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "锁状态: 0=未上锁, 1=已上锁, 2=已解锁不能为空") @NotNull(message = "锁状态: 0=未上锁, 1=已上锁, 2=已解锁不能为空")
private Boolean lockStatus;
private Integer lockStatus;
} }

2
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PlanItemPageReqVO.java

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.lock.vo; package cn.iocoder.yudao.module.lock.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -23,6 +24,7 @@ public class PlanItemPageReqVO extends PageParam {
private Long operatorId; private Long operatorId;
@Schema(description = "集中挂牌协助人ID", example = "249") @Schema(description = "集中挂牌协助人ID", example = "249")
private Long operatorHelperId; private Long operatorHelperId;
@Schema(description = "验证人ID", example = "19847") @Schema(description = "验证人ID", example = "19847")

6
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PointPageReqVO.java

@ -25,6 +25,12 @@ public class PointPageReqVO extends PageParam {
@Schema(description = "隔离点编号") @Schema(description = "隔离点编号")
private String ipNumber; private String ipNumber;
@Schema(description = "隔离点状态")
private Integer status;
@Schema(description = "所需设备锁数量")
private Integer guideLockNums;
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;

8
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PointRespVO.java

@ -32,6 +32,14 @@ public class PointRespVO {
@ExcelProperty("隔离点编号") @ExcelProperty("隔离点编号")
private String ipNumber; private String ipNumber;
@Schema(description = "隔离点状态")
@ExcelProperty("隔离点状态")
private Integer status;
@Schema(description = "所需设备锁数量")
@ExcelProperty("隔离点状态")
private Integer guideLockNums;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;

6
cc-admin-master/yudao-module-lock/src/main/java/cn/iocoder/yudao/module/lock/vo/PointSaveReqVO.java

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.lock.vo; package cn.iocoder.yudao.module.lock.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -27,4 +28,9 @@ public class PointSaveReqVO {
@NotEmpty(message = "隔离点编号不能为空") @NotEmpty(message = "隔离点编号不能为空")
private String ipNumber; private String ipNumber;
@Schema(description = "隔离点状态")
private Integer status;
@Schema(description = "所需设备锁数量")
private Integer guideLockNums;
} }
Loading…
Cancel
Save