From f338ef47d12c3ebebff5c629d6ce282bbb4c4875 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Mon, 7 Jul 2025 11:40:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9APP=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DeviceAPPController.java | 49 +++++++ .../fuyuanshen/equipment/domain/UserApp.java | 99 +++++++++++++++ .../equipment/domain/bo/UserAppBo.java | 95 ++++++++++++++ .../equipment/domain/vo/UserAppVo.java | 120 ++++++++++++++++++ .../equipment/mapper/UserAppMapper.java | 17 +++ .../equipment/service/AppUserService.java | 27 ++++ .../service/impl/UserAppServiceImpl.java | 41 ++++++ .../mapper/equipment/AppUserMapper.xml | 7 + 8 files changed, 455 insertions(+) create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceAPPController.java create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/UserApp.java create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/UserAppBo.java create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/UserAppVo.java create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/UserAppMapper.java create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/AppUserService.java create mode 100644 fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/UserAppServiceImpl.java create mode 100644 fys-modules/fys-equipment/src/main/resources/mapper/equipment/AppUserMapper.xml diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceAPPController.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceAPPController.java new file mode 100644 index 0000000..1e892dd --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceAPPController.java @@ -0,0 +1,49 @@ +package com.fuyuanshen.equipment.controller; + + +import com.fuyuanshen.common.core.domain.R; +import com.fuyuanshen.common.core.validate.EditGroup; +import com.fuyuanshen.common.idempotent.annotation.RepeatSubmit; +import com.fuyuanshen.common.log.annotation.Log; +import com.fuyuanshen.common.log.enums.BusinessType; +import com.fuyuanshen.common.web.core.BaseController; +import com.fuyuanshen.equipment.domain.bo.UserAppBo; +import com.fuyuanshen.equipment.service.AppUserService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: + * @Author: WY + * @Date: 2025/5/16 + **/ +@Slf4j +@Tag(name = "设备管理", description = "设备:设备管理") +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/app/device") +public class DeviceAPPController extends BaseController { + + private final AppUserService appUserService; + + + /** + * 修改APP用户信息 + */ + // @SaCheckPermission("app:user:edit") + @Log(title = "APP用户信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody UserAppBo bo) { + return toAjax(appUserService.updateByBo(bo)); + } + +} + + diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/UserApp.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/UserApp.java new file mode 100644 index 0000000..64679ac --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/UserApp.java @@ -0,0 +1,99 @@ +package com.fuyuanshen.equipment.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fuyuanshen.common.tenant.core.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.util.Date; + +/** + * APP用户信息对象 app_user + * + * @author Lion Li + * @date 2025-06-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("app_user") +public class UserApp extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + @TableId(value = "user_id") + private Long userId; + + /** + * 用户账号 + */ + private String userName; + + /** + * 用户昵称 + */ + private String nickName; + + /** + * 用户类型(app_user系统用户) + */ + private String userType; + + /** + * 用户邮箱 + */ + private String email; + + /** + * 手机号码 + */ + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + private String sex; + + /** + * 头像地址 + */ + private Long avatar; + + /** + * 密码 + */ + private String password; + + /** + * 帐号状态(0正常 1停用) + */ + private String status; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic + private String delFlag; + + /** + * 最后登录IP + */ + private String loginIp; + + /** + * 最后登录时间 + */ + private Date loginDate; + + /** + * 备注 + */ + private String remark; + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/UserAppBo.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/UserAppBo.java new file mode 100644 index 0000000..ab6b839 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/bo/UserAppBo.java @@ -0,0 +1,95 @@ +package com.fuyuanshen.equipment.domain.bo; + +import com.fuyuanshen.common.core.validate.AddGroup; +import com.fuyuanshen.common.core.validate.EditGroup; +import com.fuyuanshen.common.mybatis.core.domain.BaseEntity; +import com.fuyuanshen.equipment.domain.UserApp; +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * APP用户信息业务对象 app_user + * + * @author Lion Li + * @date 2025-06-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = UserApp.class, reverseConvertGenerate = false) +public class UserAppBo extends BaseEntity { + + /** + * 用户ID + */ + @NotNull(message = "用户ID不能为空", groups = { EditGroup.class }) + private Long userId; + + /** + * 用户账号 + */ + @NotBlank(message = "用户账号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String userName; + + /** + * 用户昵称 + */ + @NotBlank(message = "用户昵称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String nickName; + + /** + * 用户类型(app_user系统用户) + */ + private String userType; + + /** + * 用户邮箱 + */ + private String email; + + /** + * 手机号码 + */ + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + private String sex; + + /** + * 头像地址 + */ + private Long avatar; + + /** + * 密码 + */ + private String password; + + /** + * 帐号状态(0正常 1停用) + */ + private String status; + + /** + * 最后登录IP + */ + private String loginIp; + + /** + * 最后登录时间 + */ + private Date loginDate; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/UserAppVo.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/UserAppVo.java new file mode 100644 index 0000000..537c1a7 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/UserAppVo.java @@ -0,0 +1,120 @@ +package com.fuyuanshen.equipment.domain.vo; + +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import com.fuyuanshen.common.excel.annotation.ExcelDictFormat; +import com.fuyuanshen.common.excel.convert.ExcelDictConvert; +import com.fuyuanshen.equipment.domain.UserApp; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + +/** + * APP用户信息视图对象 app_user + * + * @author Lion Li + * @date 2025-06-27 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = UserApp.class) +public class UserAppVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + @ExcelProperty(value = "用户ID") + private Long userId; + + /** + * 用户账号 + */ + @ExcelProperty(value = "用户账号") + private String userName; + + /** + * 用户昵称 + */ + @ExcelProperty(value = "用户昵称") + private String nickName; + + /** + * 用户类型(app_user系统用户) + */ + @ExcelProperty(value = "用户类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "a=pp_user系统用户") + private String userType; + + /** + * 用户邮箱 + */ + @ExcelProperty(value = "用户邮箱") + private String email; + + /** + * 手机号码 + */ + @ExcelProperty(value = "手机号码") + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + @ExcelProperty(value = "用户性别", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=男,1=女,2=未知") + private String sex; + + /** + * 头像地址 + */ + @ExcelProperty(value = "头像地址") + private Long avatar; + + /** + * 密码 + */ + @ExcelProperty(value = "密码") + private String password; + + /** + * 帐号状态(0正常 1停用) + */ + @ExcelProperty(value = "帐号状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=正常,1=停用") + private String status; + + /** + * 最后登录IP + */ + @ExcelProperty(value = "最后登录IP") + private String loginIp; + + /** + * 最后登录时间 + */ + @ExcelProperty(value = "最后登录时间") + private Date loginDate; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 租户编号 + */ + private String tenantId; + + /** + * 部门ID + */ + private Long deptId; +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/UserAppMapper.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/UserAppMapper.java new file mode 100644 index 0000000..d5399e2 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/mapper/UserAppMapper.java @@ -0,0 +1,17 @@ +package com.fuyuanshen.equipment.mapper; + +import com.fuyuanshen.common.mybatis.core.mapper.BaseMapperPlus; +import com.fuyuanshen.equipment.domain.UserApp; +import com.fuyuanshen.equipment.domain.vo.UserAppVo; +import org.apache.ibatis.annotations.Mapper; + +/** + * APP用户信息Mapper接口 + * + * @author Lion Li + * @date 2025-06-27 + */ +@Mapper +public interface UserAppMapper extends BaseMapperPlus { + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/AppUserService.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/AppUserService.java new file mode 100644 index 0000000..c5efd02 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/AppUserService.java @@ -0,0 +1,27 @@ +package com.fuyuanshen.equipment.service; + +import com.fuyuanshen.common.mybatis.core.page.PageQuery; +import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; +import com.fuyuanshen.equipment.domain.bo.UserAppBo; + +import java.util.Collection; +import java.util.List; + +/** + * APP用户信息Service接口 + * + * @author Lion Li + * @date 2025-06-27 + */ +public interface AppUserService { + + /** + * 修改APP用户信息 + * + * @param bo APP用户信息 + * @return 是否修改成功 + */ + Boolean updateByBo(UserAppBo bo); + + +} diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/UserAppServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/UserAppServiceImpl.java new file mode 100644 index 0000000..59a6e27 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/UserAppServiceImpl.java @@ -0,0 +1,41 @@ +package com.fuyuanshen.equipment.service.impl; + +import com.fuyuanshen.common.core.utils.MapstructUtils; +import com.fuyuanshen.equipment.domain.UserApp; +import com.fuyuanshen.equipment.domain.bo.UserAppBo; +import com.fuyuanshen.equipment.mapper.UserAppMapper; +import com.fuyuanshen.equipment.service.AppUserService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Collection; + +/** + * Service业务层处理 + * + * @author Lion Li + * @date 2025-06-27 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class UserAppServiceImpl implements AppUserService { + + private final UserAppMapper baseMapper; + + + /** + * 修改APP用户信息 + * + * @param bo APP用户信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(UserAppBo bo) { + UserApp update = MapstructUtils.convert(bo, UserApp.class); + return baseMapper.updateById(update) > 0; + } + + +} diff --git a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/AppUserMapper.xml b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/AppUserMapper.xml new file mode 100644 index 0000000..a12ad16 --- /dev/null +++ b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/AppUserMapper.xml @@ -0,0 +1,7 @@ + + + + +