Browse Source

优化登录与普法信息接口

dev-V1.0.1
ganhao 6 months ago
parent
commit
d0ad0bf15f
  1. 5
      zdxt-common/zdxt-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java
  2. 9
      zdxt-common/zdxt-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java
  3. 65
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/common/commonenum/MsgSourceTypeEnums.java
  4. 75
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/common/commonenum/PlatformTypeEnums.java
  5. 4
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppTodoItemController.java
  6. 4
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/EnforcementEducationServicesController.java
  7. 30
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/SysMessageViewLog.java
  8. 23
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/TodoItem.java
  9. 36
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/SysMessageViewLogBo.java
  10. 25
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/TodoItemBo.java
  11. 42
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SysMessageViewLogVo.java
  12. 32
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/TodoItemVo.java
  13. 6
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ITodoItemService.java
  14. 12
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseLoginServiceImpl.java
  15. 44
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java
  16. 14
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SysMessageViewLogServiceImpl.java
  17. 15
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/TodoItemServiceImpl.java

5
zdxt-common/zdxt-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java

@ -132,6 +132,11 @@ public class LoginUser implements Serializable {
*/ */
private String deviceType; private String deviceType;
/**
* 平台类型 1-监督端 2-执法端 3-企业端
*/
private Integer platformType;
/** /**
* 获取登录id * 获取登录id
*/ */

9
zdxt-common/zdxt-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java

@ -39,6 +39,7 @@ public class LoginHelper {
public static final String DEPT_NAME_KEY = "deptName"; public static final String DEPT_NAME_KEY = "deptName";
public static final String DEPT_CATEGORY_KEY = "deptCategory"; public static final String DEPT_CATEGORY_KEY = "deptCategory";
public static final String CLIENT_KEY = "clientid"; public static final String CLIENT_KEY = "clientid";
public static final String PLATFORM_TYPE_KEY = "platformType";
/** /**
* 登录系统 基于 设备类型 * 登录系统 基于 设备类型
@ -56,6 +57,7 @@ public class LoginHelper {
.setExtra(DEPT_KEY, loginUser.getDeptId()) .setExtra(DEPT_KEY, loginUser.getDeptId())
.setExtra(DEPT_NAME_KEY, loginUser.getDeptName()) .setExtra(DEPT_NAME_KEY, loginUser.getDeptName())
.setExtra(DEPT_CATEGORY_KEY, loginUser.getDeptCategory()) .setExtra(DEPT_CATEGORY_KEY, loginUser.getDeptCategory())
.setExtra(PLATFORM_TYPE_KEY, loginUser.getPlatformType())
); );
StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser); StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser);
} }
@ -133,6 +135,13 @@ public class LoginHelper {
return Convert.toStr(getExtra(DEPT_CATEGORY_KEY)); return Convert.toStr(getExtra(DEPT_CATEGORY_KEY));
} }
/**
* 获取平台类型
*/
public static Integer getPlatformType() {
return Convert.toInt(getExtra(PLATFORM_TYPE_KEY));
}
/** /**
* 获取当前 Token 的扩展信息 * 获取当前 Token 的扩展信息
* *

65
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/common/commonenum/MsgSourceTypeEnums.java

@ -0,0 +1,65 @@
package com.zdxt.enforcementcode.common.commonenum;
/**
* 来源类型枚举定义
* @author Lion Li
*/
public enum MsgSourceTypeEnums {
/**
* 普法消息
*/
ORIGINAL(1, "普法消息");
private Integer key;
private String value;
MsgSourceTypeEnums(Integer key, String value) {
this.key = key;
this.value = value;
}
public String getValue() {
return value;
}
public Integer getKey() {
return key;
}
/**
* 根据key获取value
* @param key 来源类型key
* @return 来源类型描述
*/
public static String getValueByKey(Integer key) {
if (key == null) {
return "";
}
MsgSourceTypeEnums[] enums = MsgSourceTypeEnums.values();
for (MsgSourceTypeEnums sourceType : enums) {
if (sourceType.getKey().equals(key)) {
return sourceType.getValue();
}
}
return "";
}
/**
* 根据value获取key
* @param value 来源类型描述
* @return 来源类型key
*/
public static Integer getKeyByValue(String value) {
if (value == null || value.isEmpty()) {
return null;
}
MsgSourceTypeEnums[] enums = MsgSourceTypeEnums.values();
for (MsgSourceTypeEnums sourceType : enums) {
if (sourceType.getValue().equals(value)) {
return sourceType.getKey();
}
}
return null;
}
}

75
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/common/commonenum/PlatformTypeEnums.java

@ -0,0 +1,75 @@
package com.zdxt.enforcementcode.common.commonenum;
/**
* 平台类型枚举定义
* @author Lion Li
*/
public enum PlatformTypeEnums {
/**
* 监督端
*/
SUPERVISION(1, "监督端"),
/**
* 执法端
*/
ENFORCEMENT(2, "执法端"),
/**
* 企业端
*/
ENTERPRISE(3, "企业端");
private Integer key;
private String value;
PlatformTypeEnums(Integer key, String value) {
this.key = key;
this.value = value;
}
public String getValue() {
return value;
}
public Integer getKey() {
return key;
}
/**
* 根据key获取value
* @param key 平台类型key
* @return 平台类型描述
*/
public static String getValueByKey(Integer key) {
if (key == null) {
return "";
}
PlatformTypeEnums[] enums = PlatformTypeEnums.values();
for (PlatformTypeEnums platformType : enums) {
if (platformType.getKey()== key) {
return platformType.getValue();
}
}
return "";
}
/**
* 根据value获取key
* @param value 平台类型描述
* @return 平台类型key
*/
public static Integer getKeyByValue(String value) {
if (value == null || value.isEmpty()) {
return null;
}
PlatformTypeEnums[] enums = PlatformTypeEnums.values();
for (PlatformTypeEnums platformType : enums) {
if (platformType.getValue().equals(value)) {
return platformType.getKey();
}
}
return null;
}
}

4
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppTodoItemController.java

@ -64,7 +64,7 @@ public class AppTodoItemController extends BaseController {
@SaCheckPermission("enforcementcode:item:query") @SaCheckPermission("enforcementcode:item:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<TodoItemVo> getInfo(@NotNull(message = "主键不能为空") public R<TodoItemVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable String id) {
return R.ok(todoItemService.queryById(id)); return R.ok(todoItemService.queryById(id));
} }
@ -99,7 +99,7 @@ public class AppTodoItemController extends BaseController {
@Log(title = "待办事项", businessType = BusinessType.DELETE) @Log(title = "待办事项", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable String[] ids) {
return toAjax(todoItemService.deleteWithValidByIds(List.of(ids), true)); return toAjax(todoItemService.deleteWithValidByIds(List.of(ids), true));
} }
} }

4
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/EnforcementEducationServicesController.java

@ -41,14 +41,12 @@ public class EnforcementEducationServicesController extends BaseController {
return enforcementEducationServicesService.queryPageList(bo, pageQuery); return enforcementEducationServicesService.queryPageList(bo, pageQuery);
} }
/** /**
* 获取普法服务发布主详细信息 * 获取普法服务发布主详细信息
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("enforcementcode:educationServices:query") // @SaCheckPermission("enforcementcode:educationServices:query")
@GetMapping("/details") @GetMapping("/details")
public R<EnforcementEducationServicesVo> getInfo(String id) { public R<EnforcementEducationServicesVo> getInfo(String id) {
return R.ok(enforcementEducationServicesService.queryById(id)); return R.ok(enforcementEducationServicesService.queryById(id));

30
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/SysMessageViewLog.java

@ -11,7 +11,7 @@ import java.io.Serial;
* 系统消息浏览对象 sys_message_view_log * 系统消息浏览对象 sys_message_view_log
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-09 * @date 2026-05-15
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -32,30 +32,40 @@ public class SysMessageViewLog extends BaseEntity {
*/ */
private String sourceId; private String sourceId;
/**
* 平台类型 1-监督端 2-执法端 3-企业端
*/
private Integer platformType;
/** /**
* 来源表类型:1-普法消息 * 来源表类型:1-普法消息
*/ */
private String sourceType; private Integer sourceType;
/** /**
* 浏览人员所属部门ID * 企业ID
*/ */
private String deptId; private String companyId;
/** /**
* 浏览人员ID * 企业统一社会信用代码
*/ */
private String userId; private String creditCode;
/** /**
* 是否删除 0=否 1=是 * 创建者名称
*/ */
private Long isDelete; private String createByName;
/** /**
* 浏览者IP * 更新者名称
*/ */
private String userIp; private String updateByName;
/**
* 是否删除 0=否 1=是
*/
private Long isDelete;
/** /**
* 备注 * 备注

23
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/TodoItem.java

@ -13,7 +13,7 @@ import java.io.Serial;
* 待办事项对象 todo_item * 待办事项对象 todo_item
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-08 * @date 2026-05-15
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -65,14 +65,29 @@ public class TodoItem extends BaseEntity {
private Long readStatus; private Long readStatus;
/** /**
* 是否删除 0 否 1是 * 生效时间
*/
private Date effectiveTime;
/**
* 创建者名称
*/
private String createByName;
/**
* 更新者名称
*/
private String updateByName;
/**
* 是否删除 0=否 1=是
*/ */
private Long isDelete; private Long isDelete;
/** /**
* 生效时间 * 备注
*/ */
private Date effectiveTime; private String remark;
} }

36
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/SysMessageViewLogBo.java

@ -1,5 +1,6 @@
package com.zdxt.enforcementcode.domain.bo; package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.bean.SysMessageViewLog; import com.zdxt.enforcementcode.domain.bean.SysMessageViewLog;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
@ -13,7 +14,7 @@ import jakarta.validation.constraints.*;
* 系统消息浏览业务对象 sys_message_view_log * 系统消息浏览业务对象 sys_message_view_log
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-09 * @date 2026-05-15
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -32,32 +33,43 @@ public class SysMessageViewLogBo extends BaseEntity {
@NotBlank(message = "来源表ID不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "来源表ID不能为空", groups = { AddGroup.class, EditGroup.class })
private String sourceId; private String sourceId;
/**
* 平台类型 1-监督端 2-执法端 3-企业端
*/
@NotNull(message = "平台类型 1-监督端 2-执法端 3-企业端不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer platformType;
/** /**
* 来源表类型:1-普法消息 * 来源表类型:1-普法消息
*/ */
@NotBlank(message = "来源表类型:1-普法消息不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "来源表类型:1-普法消息不能为空", groups = { AddGroup.class, EditGroup.class })
private String sourceType; private Integer sourceType;
/** /**
* 浏览人员所属部门ID * 企业ID
*/ */
private String deptId; private String companyId;
/** /**
* 浏览人员ID * 企业统一社会信用代码
*/ */
private String userId; private String creditCode;
/** /**
* 是否删除 0=否 1=是 * 创建者名称
*/ */
@NotNull(message = "是否删除 0=否 1=是不能为空", groups = { AddGroup.class, EditGroup.class }) private String createByName;
private Long isDelete;
/** /**
* 浏览者IP * 更新者名称
*/ */
private String userIp; private String updateByName;
/**
* 是否删除 0=否 1=是
*/
@NotNull(message = "是否删除 0=否 1=是不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isDelete;
/** /**
* 备注 * 备注

25
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/TodoItemBo.java

@ -1,5 +1,6 @@
package com.zdxt.enforcementcode.domain.bo; package com.zdxt.enforcementcode.domain.bo;
import com.zdxt.enforcementcode.domain.bean.TodoItem; import com.zdxt.enforcementcode.domain.bean.TodoItem;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
@ -9,13 +10,12 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/** /**
* 待办事项业务对象 todo_item * 待办事项业务对象 todo_item
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-08 * @date 2026-05-15
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -65,14 +65,29 @@ public class TodoItemBo extends BaseEntity {
private Long readStatus; private Long readStatus;
/** /**
* 是否删除 0 否 1是 * 生效时间
*/
private Date effectiveTime;
/**
* 创建者名称
*/
private String createByName;
/**
* 更新者名称
*/
private String updateByName;
/**
* 是否删除 0=否 1=是
*/ */
private Long isDelete; private Long isDelete;
/** /**
* 生效时间 * 备注
*/ */
private Date effectiveTime; private String remark;
} }

42
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SysMessageViewLogVo.java

@ -2,7 +2,6 @@ package com.zdxt.enforcementcode.domain.vo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.bean.SysMessageViewLog; import com.zdxt.enforcementcode.domain.bean.SysMessageViewLog;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
@ -12,12 +11,11 @@ import java.io.Serializable;
/** /**
* 系统消息浏览视图对象 sys_message_view_log * 系统消息浏览视图对象 sys_message_view_log
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-08 * @date 2026-05-15
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@ -39,35 +37,47 @@ public class SysMessageViewLogVo implements Serializable {
@ExcelProperty(value = "来源表ID") @ExcelProperty(value = "来源表ID")
private String sourceId; private String sourceId;
/**
* 平台类型 1-监督端 2-执法端 3-企业端
*/
@ExcelProperty(value = "平台类型 1-监督端 2-执法端 3-企业端")
private Integer platformType;
/** /**
* 来源表类型:1-普法消息 * 来源表类型:1-普法消息
*/ */
@ExcelProperty(value = "来源表类型:1-普法消息") @ExcelProperty(value = "来源表类型:1-普法消息")
private String sourceType; private Integer sourceType;
/** /**
* 浏览人员所属部门ID * 企业ID
*/ */
@ExcelProperty(value = "浏览人员所属部门ID") @ExcelProperty(value = "企业ID")
private String deptId; private String companyId;
/** /**
* 浏览人员ID * 企业统一社会信用代码
*/ */
@ExcelProperty(value = "浏览人员ID") @ExcelProperty(value = "企业统一社会信用代码")
private String userId; private String creditCode;
/** /**
* 是否删除 0=否 1=是 * 创建者名称
*/ */
@ExcelProperty(value = "是否删除 0=否 1=是") @ExcelProperty(value = "创建者名称")
private Long isDelete; private String createByName;
/** /**
* 浏览者IP * 更新者名称
*/ */
@ExcelProperty(value = "浏览者IP") @ExcelProperty(value = "更新者名称")
private String userIp; private String updateByName;
/**
* 是否删除 0=否 1=是
*/
@ExcelProperty(value = "是否删除 0=否 1=是")
private Long isDelete;
/** /**
* 备注 * 备注

32
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/TodoItemVo.java

@ -1,6 +1,7 @@
package com.zdxt.enforcementcode.domain.vo; package com.zdxt.enforcementcode.domain.vo;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.bean.TodoItem; import com.zdxt.enforcementcode.domain.bean.TodoItem;
@ -11,6 +12,7 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
@ -18,7 +20,7 @@ import java.io.Serializable;
* 待办事项视图对象 todo_item * 待办事项视图对象 todo_item
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-08 * @date 2026-05-15
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@ -78,16 +80,34 @@ public class TodoItemVo implements Serializable {
private Long readStatus; private Long readStatus;
/** /**
* 是否删除 0 否 1是 * 生效时间
*/
@ExcelProperty(value = "生效时间")
private Date effectiveTime;
/**
* 创建者名称
*/
@ExcelProperty(value = "创建者名称")
private String createByName;
/**
* 更新者名称
*/
@ExcelProperty(value = "更新者名称")
private String updateByName;
/**
* 是否删除 0=否 1=是
*/ */
@ExcelProperty(value = "是否删除 0 否 1是") @ExcelProperty(value = "是否删除 0=否 1=是")
private Long isDelete; private Long isDelete;
/** /**
* 生效时间 * 备注
*/ */
@ExcelProperty(value = "生效时间") @ExcelProperty(value = "备注")
private Date effectiveTime; private String remark;
} }

6
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ITodoItemService.java

@ -12,7 +12,7 @@ import java.util.List;
* 待办事项Service接口 * 待办事项Service接口
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-07 * @date 2026-05-15
*/ */
public interface ITodoItemService { public interface ITodoItemService {
@ -22,7 +22,7 @@ public interface ITodoItemService {
* @param id 主键 * @param id 主键
* @return 待办事项 * @return 待办事项
*/ */
TodoItemVo queryById(Long id); TodoItemVo queryById(String id);
/** /**
* 分页查询待办事项列表 * 分页查询待办事项列表
@ -64,5 +64,5 @@ public interface ITodoItemService {
* @param isValid 是否进行有效性校验 * @param isValid 是否进行有效性校验
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
} }

12
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseLoginServiceImpl.java

@ -9,6 +9,7 @@ import cn.hutool.crypto.digest.DigestUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zdxt.enforcementcode.common.commonenum.PlatformTypeEnums;
import com.zdxt.enforcementcode.common.util.*; import com.zdxt.enforcementcode.common.util.*;
import com.zdxt.enforcementcode.domain.EnterpriseInformation; import com.zdxt.enforcementcode.domain.EnterpriseInformation;
import com.zdxt.enforcementcode.domain.EnterpriseUser; import com.zdxt.enforcementcode.domain.EnterpriseUser;
@ -24,6 +25,7 @@ import com.zdxt.enforcementcode.service.enterprise.IAppEnterpriseLoginService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.exception.base.BaseException; import org.dromara.common.core.exception.base.BaseException;
import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
@ -146,6 +148,7 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
result.put("enterpriseId", enterpriseInformation.getId()); result.put("enterpriseId", enterpriseInformation.getId());
result.put("enterpriseName", enterpriseInformation.getEnterpriseName()); result.put("enterpriseName", enterpriseInformation.getEnterpriseName());
result.put("enterpriseNumber", enterpriseInformation.getEnterpriseNumber()); result.put("enterpriseNumber", enterpriseInformation.getEnterpriseNumber());
result.put("platformType", PlatformTypeEnums.ENTERPRISE.getKey());
return result; return result;
@ -168,7 +171,7 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
*/ */
private EnterpriseUser saveOrUpdateEnterpriseUser(JSONObject userInfo) { private EnterpriseUser saveOrUpdateEnterpriseUser(JSONObject userInfo) {
String loginName = userInfo.getString("account"); String loginName = userInfo.getString("account");
String userType = "siq"; String userType = UserType.APP_USER.getUserType();
EnterpriseUser newUser = null; EnterpriseUser newUser = null;
if (StringUtils.isEmpty(loginName)) { if (StringUtils.isEmpty(loginName)) {
log.error("深i企用户账号为空"); log.error("深i企用户账号为空");
@ -492,10 +495,11 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
loginUser.setTenantId("000000"); loginUser.setTenantId("000000");
loginUser.setDeptId(enterpriseInformation.getId()); loginUser.setDeptId(enterpriseInformation.getId());
loginUser.setDeptName(enterpriseInformation.getEnterpriseName()); loginUser.setDeptName(enterpriseInformation.getEnterpriseName());
loginUser.setPlatformType(PlatformTypeEnums.ENTERPRISE.getKey());
SaLoginParameter model = new SaLoginParameter(); SaLoginParameter model = new SaLoginParameter();
model.setDeviceType("app"); model.setDeviceType("android");
model.setExtra(LoginHelper.CLIENT_KEY, "enterprise_app"); model.setExtra(LoginHelper.CLIENT_KEY, "9e6eb24cd4e169a98b0d2cd8034d877b");
model.setTimeout(86400); model.setTimeout(86400);
model.setActiveTimeout(1800); model.setActiveTimeout(1800);
@ -505,7 +509,7 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
// 调试:检查 Token 是否成功存储到 Redis // 调试:检查 Token 是否成功存储到 Redis
long timeout = StpUtil.getTokenTimeout(); long timeout = StpUtil.getTokenTimeout();
log.info("生成token成功: userId={}, token={}, timeout={}秒", user.getUserId(), token, timeout); log.info("生成token成功: userId={}, token={}, timeout={}秒, platformType={}", user.getUserId(), token, timeout, loginUser.getPlatformType());
log.info("Token session key: login:token:{}", token); log.info("Token session key: login:token:{}", token);
return token; return token;

44
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementEducationServicesServiceImpl.java

@ -1,6 +1,7 @@
package com.zdxt.enforcementcode.service.impl; package com.zdxt.enforcementcode.service.impl;
import com.zdxt.enforcementcode.domain.bean.EnforcementEducationServices; import com.zdxt.enforcementcode.domain.bean.EnforcementEducationServices;
import com.zdxt.enforcementcode.service.ISysMessageViewLogService;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -15,6 +16,8 @@ import com.zdxt.enforcementcode.domain.bo.EnforcementEducationServicesBo;
import com.zdxt.enforcementcode.domain.vo.EnforcementEducationServicesVo; import com.zdxt.enforcementcode.domain.vo.EnforcementEducationServicesVo;
import com.zdxt.enforcementcode.mapper.EnforcementEducationServicesMapper; import com.zdxt.enforcementcode.mapper.EnforcementEducationServicesMapper;
import com.zdxt.enforcementcode.service.IEnforcementEducationServicesService; import com.zdxt.enforcementcode.service.IEnforcementEducationServicesService;
import org.dromara.common.satoken.utils.LoginHelper;
import com.zdxt.enforcementcode.domain.bo.SysMessageViewLogBo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -33,6 +36,8 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc
private final EnforcementEducationServicesMapper baseMapper; private final EnforcementEducationServicesMapper baseMapper;
private final ISysMessageViewLogService sysMessageViewLogService;
/** /**
* 查询执法信息发布主 * 查询执法信息发布主
* *
@ -41,7 +46,44 @@ public class EnforcementEducationServicesServiceImpl implements IEnforcementEduc
*/ */
@Override @Override
public EnforcementEducationServicesVo queryById(String id){ public EnforcementEducationServicesVo queryById(String id){
return baseMapper.selectVoById(id); EnforcementEducationServicesVo vo = baseMapper.selectVoById(id);
// 插入查看记录
if (vo != null) {
try {
// 检查是否登录
if (!LoginHelper.isLogin()) {
log.warn("用户未登录,跳过插入查看记录: id={}", id);
return vo;
}
SysMessageViewLogBo viewLogBo = new SysMessageViewLogBo();
viewLogBo.setSourceId(id);
// viewLogBo.setPlatformType(LoginHelper.getTenantId());
viewLogBo.setSourceType(1); // 1-普法消息
Long userId = LoginHelper.getUserId();
String username = LoginHelper.getUsername();
String deptId = LoginHelper.getDeptId();
Integer platformType = LoginHelper.getPlatformType();
log.debug("获取登录用户信息: userId={}, username={}, deptId={}, platformType={}",
userId, username, deptId, platformType);
viewLogBo.setCreateBy(userId);
viewLogBo.setCreateByName(username);
viewLogBo.setCreateDept(deptId);
viewLogBo.setIsDelete(0L); // 0=否
viewLogBo.setPlatformType(platformType);
viewLogBo.setCompanyId(deptId);
sysMessageViewLogService.insertByBo(viewLogBo);
} catch (Exception e) {
log.error("插入查看记录失败: id={}", id, e);
}
}
return vo;
} }
/** /**

14
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SysMessageViewLogServiceImpl.java

@ -1,6 +1,5 @@
package com.zdxt.enforcementcode.service.impl; package com.zdxt.enforcementcode.service.impl;
import cn.hutool.core.util.IdUtil;
import com.zdxt.enforcementcode.domain.bean.SysMessageViewLog; import com.zdxt.enforcementcode.domain.bean.SysMessageViewLog;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
@ -25,7 +24,7 @@ import java.util.Collection;
* 系统消息浏览Service业务层处理 * 系统消息浏览Service业务层处理
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-08 * @date 2026-05-15
*/ */
@Slf4j @Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@ -76,11 +75,13 @@ public class SysMessageViewLogServiceImpl implements ISysMessageViewLogService {
LambdaQueryWrapper<SysMessageViewLog> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<SysMessageViewLog> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SysMessageViewLog::getId); lqw.orderByAsc(SysMessageViewLog::getId);
lqw.eq(StringUtils.isNotBlank(bo.getSourceId()), SysMessageViewLog::getSourceId, bo.getSourceId()); lqw.eq(StringUtils.isNotBlank(bo.getSourceId()), SysMessageViewLog::getSourceId, bo.getSourceId());
lqw.eq(StringUtils.isNotBlank(bo.getSourceType()), SysMessageViewLog::getSourceType, bo.getSourceType()); lqw.eq(bo.getPlatformType() != null, SysMessageViewLog::getPlatformType, bo.getPlatformType());
lqw.eq(StringUtils.isNotBlank(bo.getDeptId()), SysMessageViewLog::getDeptId, bo.getDeptId()); lqw.eq(bo.getSourceType() != null, SysMessageViewLog::getSourceType, bo.getSourceType());
lqw.eq(StringUtils.isNotBlank(bo.getUserId()), SysMessageViewLog::getUserId, bo.getUserId()); lqw.eq(StringUtils.isNotBlank(bo.getCompanyId()), SysMessageViewLog::getCompanyId, bo.getCompanyId());
lqw.eq(StringUtils.isNotBlank(bo.getCreditCode()), SysMessageViewLog::getCreditCode, bo.getCreditCode());
lqw.like(StringUtils.isNotBlank(bo.getCreateByName()), SysMessageViewLog::getCreateByName, bo.getCreateByName());
lqw.like(StringUtils.isNotBlank(bo.getUpdateByName()), SysMessageViewLog::getUpdateByName, bo.getUpdateByName());
lqw.eq(bo.getIsDelete() != null, SysMessageViewLog::getIsDelete, bo.getIsDelete()); lqw.eq(bo.getIsDelete() != null, SysMessageViewLog::getIsDelete, bo.getIsDelete());
lqw.eq(StringUtils.isNotBlank(bo.getUserIp()), SysMessageViewLog::getUserIp, bo.getUserIp());
return lqw; return lqw;
} }
@ -93,7 +94,6 @@ public class SysMessageViewLogServiceImpl implements ISysMessageViewLogService {
@Override @Override
public Boolean insertByBo(SysMessageViewLogBo bo) { public Boolean insertByBo(SysMessageViewLogBo bo) {
SysMessageViewLog add = MapstructUtils.convert(bo, SysMessageViewLog.class); SysMessageViewLog add = MapstructUtils.convert(bo, SysMessageViewLog.class);
add.setId(IdUtil.simpleUUID());
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {

15
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/TodoItemServiceImpl.java

@ -1,8 +1,6 @@
package com.zdxt.enforcementcode.service.impl; package com.zdxt.enforcementcode.service.impl;
import cn.hutool.core.util.IdUtil;
import com.zdxt.enforcementcode.domain.bean.TodoItem; import com.zdxt.enforcementcode.domain.bean.TodoItem;
import com.zdxt.enforcementcode.service.ITodoItemService;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -16,7 +14,7 @@ import org.springframework.stereotype.Service;
import com.zdxt.enforcementcode.domain.bo.TodoItemBo; import com.zdxt.enforcementcode.domain.bo.TodoItemBo;
import com.zdxt.enforcementcode.domain.vo.TodoItemVo; import com.zdxt.enforcementcode.domain.vo.TodoItemVo;
import com.zdxt.enforcementcode.mapper.TodoItemMapper; import com.zdxt.enforcementcode.mapper.TodoItemMapper;
import com.zdxt.enforcementcode.service.ITodoItemService;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -26,7 +24,7 @@ import java.util.Collection;
* 待办事项Service业务层处理 * 待办事项Service业务层处理
* *
* @author Lion Li * @author Lion Li
* @date 2026-05-07 * @date 2026-05-15
*/ */
@Slf4j @Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@ -42,7 +40,7 @@ public class TodoItemServiceImpl implements ITodoItemService {
* @return 待办事项 * @return 待办事项
*/ */
@Override @Override
public TodoItemVo queryById(Long id){ public TodoItemVo queryById(String id){
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@ -83,8 +81,10 @@ public class TodoItemServiceImpl implements ITodoItemService {
lqw.eq(StringUtils.isNotBlank(bo.getCreditCode()), TodoItem::getCreditCode, bo.getCreditCode()); lqw.eq(StringUtils.isNotBlank(bo.getCreditCode()), TodoItem::getCreditCode, bo.getCreditCode());
lqw.eq(StringUtils.isNotBlank(bo.getAgentUserId()), TodoItem::getAgentUserId, bo.getAgentUserId()); lqw.eq(StringUtils.isNotBlank(bo.getAgentUserId()), TodoItem::getAgentUserId, bo.getAgentUserId());
lqw.eq(bo.getReadStatus() != null, TodoItem::getReadStatus, bo.getReadStatus()); lqw.eq(bo.getReadStatus() != null, TodoItem::getReadStatus, bo.getReadStatus());
lqw.eq(bo.getIsDelete() != null, TodoItem::getIsDelete, bo.getIsDelete());
lqw.eq(bo.getEffectiveTime() != null, TodoItem::getEffectiveTime, bo.getEffectiveTime()); lqw.eq(bo.getEffectiveTime() != null, TodoItem::getEffectiveTime, bo.getEffectiveTime());
lqw.like(StringUtils.isNotBlank(bo.getCreateByName()), TodoItem::getCreateByName, bo.getCreateByName());
lqw.like(StringUtils.isNotBlank(bo.getUpdateByName()), TodoItem::getUpdateByName, bo.getUpdateByName());
lqw.eq(bo.getIsDelete() != null, TodoItem::getIsDelete, bo.getIsDelete());
return lqw; return lqw;
} }
@ -97,7 +97,6 @@ public class TodoItemServiceImpl implements ITodoItemService {
@Override @Override
public Boolean insertByBo(TodoItemBo bo) { public Boolean insertByBo(TodoItemBo bo) {
TodoItem add = MapstructUtils.convert(bo, TodoItem.class); TodoItem add = MapstructUtils.convert(bo, TodoItem.class);
add.setId(IdUtil.simpleUUID());
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
@ -134,7 +133,7 @@ public class TodoItemServiceImpl implements ITodoItemService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){ if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }

Loading…
Cancel
Save