Эх сурвалжийг харах

消息模块查看消息以及中间表完善

chenzhengming 2 жил өмнө
parent
commit
f11ae374c1
24 өөрчлөгдсөн 1306 нэмэгдсэн , 627 устгасан
  1. 114 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/LcdInfoUserRelationController.java
  2. 0 114
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/LcdReceiveUserController.java
  3. 115 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/PostUserController.java
  4. 97 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/LcdInfoUserRelation.java
  5. 0 69
      ruoyi-system/src/main/java/com/ruoyi/system/domain/LcdReceiveUser.java
  6. 195 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/PostUser.java
  7. 7 7
      ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/LcdInfoVo.java
  8. 8 1
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/LcdInfoMapper.java
  9. 62 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/LcdInfoUserRelationMapper.java
  10. 0 61
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/LcdReceiveUserMapper.java
  11. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/PostUserMapper.java
  12. 1 1
      ruoyi-system/src/main/java/com/ruoyi/system/service/ILcdInfoService.java
  13. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/ILcdInfoUserRelationService.java
  14. 0 61
      ruoyi-system/src/main/java/com/ruoyi/system/service/ILcdReceiveUserService.java
  15. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IPostUserService.java
  16. 16 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LcdInfoServiceImpl.java
  17. 93 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LcdInfoUserRelationServiceImpl.java
  18. 0 96
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LcdReceiveUserServiceImpl.java
  19. 93 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PostUserServiceImpl.java
  20. 9 0
      ruoyi-system/src/main/resources/mapper/system/LcdInfoMapper.xml
  21. 71 0
      ruoyi-system/src/main/resources/mapper/system/LcdInfoUserRelationMapper.xml
  22. 0 79
      ruoyi-system/src/main/resources/mapper/system/LcdReceiveUserMapper.xml
  23. 106 0
      ruoyi-system/src/main/resources/mapper/system/PostUserMapper.xml
  24. 136 136
      ruoyi-ui/vue.config.js

+ 114 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/LcdInfoUserRelationController.java

@@ -0,0 +1,114 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.LcdInfoUserRelation;
+import com.ruoyi.system.service.ILcdInfoUserRelationService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 消息-用户-中间表信息Controller
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+@Api(tags = "LcdInfoUserRelationController",description = "消息-用户-中间表")
+@RestController
+@RequestMapping("/system/relation")
+public class LcdInfoUserRelationController extends BaseController
+{
+    @Autowired
+    private ILcdInfoUserRelationService lcdInfoUserRelationService;
+
+    /**
+     * 查询消息-用户-中间表信息列表
+     */
+    @ApiOperation("查询")
+    @PreAuthorize("@ss.hasPermi('system:relation:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        startPage();
+        List<LcdInfoUserRelation> list = lcdInfoUserRelationService.selectLcdInfoUserRelationList(lcdInfoUserRelation);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出消息-用户-中间表信息列表
+     */
+    @ApiOperation("导出")
+    @PreAuthorize("@ss.hasPermi('system:relation:export')")
+    @Log(title = "消息-用户-中间表信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        List<LcdInfoUserRelation> list = lcdInfoUserRelationService.selectLcdInfoUserRelationList(lcdInfoUserRelation);
+        ExcelUtil<LcdInfoUserRelation> util = new ExcelUtil<LcdInfoUserRelation>(LcdInfoUserRelation.class);
+        util.exportExcel(response, list, "消息-用户-中间表信息数据");
+    }
+
+    /**
+     * 获取消息-用户-中间表信息详细信息
+     */
+    @ApiOperation("获取")
+    @PreAuthorize("@ss.hasPermi('system:relation:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(lcdInfoUserRelationService.selectLcdInfoUserRelationById(id));
+    }
+
+    /**
+     * 新增消息-用户-中间表信息
+     */
+    @ApiOperation("新增")
+    @PreAuthorize("@ss.hasPermi('system:relation:add')")
+    @Log(title = "消息-用户-中间表信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        return toAjax(lcdInfoUserRelationService.insertLcdInfoUserRelation(lcdInfoUserRelation));
+    }
+
+    /**
+     * 修改消息-用户-中间表信息
+     */
+    @ApiOperation("修改")
+    @PreAuthorize("@ss.hasPermi('system:relation:edit')")
+    @Log(title = "消息-用户-中间表信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        return toAjax(lcdInfoUserRelationService.updateLcdInfoUserRelation(lcdInfoUserRelation));
+    }
+
+    /**
+     * 删除消息-用户-中间表信息
+     */
+    @ApiOperation("删除")
+    @PreAuthorize("@ss.hasPermi('system:relation:remove')")
+    @Log(title = "消息-用户-中间表信息", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(lcdInfoUserRelationService.deleteLcdInfoUserRelationByIds(ids));
+    }
+}

+ 0 - 114
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/LcdReceiveUserController.java

@@ -1,114 +0,0 @@
-package com.ruoyi.web.controller.system;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.system.domain.LcdReceiveUser;
-import com.ruoyi.system.service.ILcdReceiveUserService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
-
-/**
- * 接收消息用户Controller
- *
- * @author ruoyi
- * @date 2023-01-14
- */
-@Api(tags = "LcdReceiveUserController",description = "用户信息-接收消息")
-@RestController
-@RequestMapping("/system/user")
-public class LcdReceiveUserController extends BaseController
-{
-    @Autowired
-    private ILcdReceiveUserService lcdReceiveUserService;
-
-    /**
-     * 查询用户列表
-     */
-    @ApiOperation("查询接收消息用户列表")
-    @PreAuthorize("@ss.hasPermi('system:user:list')")
-    @GetMapping("/list")
-    public TableDataInfo list(LcdReceiveUser lcdReceiveUser)
-    {
-        startPage();
-        List<LcdReceiveUser> list = lcdReceiveUserService.selectLcdReceiveUserList(lcdReceiveUser);
-        return getDataTable(list);
-    }
-
-    /**
-     * 导出接收消息用户列表
-     */
-    @ApiOperation("导出接收消息用户列表")
-    @PreAuthorize("@ss.hasPermi('system:user:export')")
-    @Log(title = "接收消息用户", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, LcdReceiveUser lcdReceiveUser)
-    {
-        List<LcdReceiveUser> list = lcdReceiveUserService.selectLcdReceiveUserList(lcdReceiveUser);
-        ExcelUtil<LcdReceiveUser> util = new ExcelUtil<LcdReceiveUser>(LcdReceiveUser.class);
-        util.exportExcel(response, list, "接收消息用户数据");
-    }
-
-    /**
-     * 获取接收消息用户详细信息
-     */
-    @ApiOperation("获取接收消息用户详细信息")
-    @PreAuthorize("@ss.hasPermi('system:user:query')")
-    @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
-        return success(lcdReceiveUserService.selectLcdReceiveUserById(id));
-    }
-
-    /**
-     * 新增接收消息用户
-     */
-    @ApiOperation("新增接收消息用户")
-    @PreAuthorize("@ss.hasPermi('system:user:add')")
-    @Log(title = "接收消息用户", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody LcdReceiveUser lcdReceiveUser)
-    {
-        return toAjax(lcdReceiveUserService.insertLcdReceiveUser(lcdReceiveUser));
-    }
-
-    /**
-     * 修改接收消息用户
-     */
-    @ApiOperation("修改接收消息用户")
-    @PreAuthorize("@ss.hasPermi('system:user:edit')")
-    @Log(title = "接收消息用户", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody LcdReceiveUser lcdReceiveUser)
-    {
-        return toAjax(lcdReceiveUserService.updateLcdReceiveUser(lcdReceiveUser));
-    }
-
-    /**
-     * 删除接收消息用户
-     */
-    @ApiOperation("删除接收消息用户")
-    @PreAuthorize("@ss.hasPermi('system:user:remove')")
-    @Log(title = "接收消息用户", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
-        return toAjax(lcdReceiveUserService.deleteLcdReceiveUserByIds(ids));
-    }
-}

+ 115 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/PostUserController.java

@@ -0,0 +1,115 @@
+package com.ruoyi.web.controller.system;
+
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.PostUser;
+import com.ruoyi.system.service.IPostUserService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 权限模块 用户Controller
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+@Api(tags = "PostUserController",description = "用户表")
+@RestController
+@RequestMapping("/system/user")
+public class PostUserController extends BaseController
+{
+    @Autowired
+    private IPostUserService postUserService;
+
+    /**
+     * 查询权限模块 用户列表
+     */
+    @ApiOperation("查询用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PostUser postUser)
+    {
+        startPage();
+        List<PostUser> list = postUserService.selectPostUserList(postUser);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出权限模块 用户列表
+     */
+    @ApiOperation("导出用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:export')")
+    @Log(title = "权限模块 用户", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PostUser postUser)
+    {
+        List<PostUser> list = postUserService.selectPostUserList(postUser);
+        ExcelUtil<PostUser> util = new ExcelUtil<PostUser>(PostUser.class);
+        util.exportExcel(response, list, "权限模块 用户数据");
+    }
+
+    /**
+     * 获取权限模块 用户详细信息
+     */
+    @ApiOperation("获取用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(postUserService.selectPostUserById(id));
+    }
+
+    /**
+     * 新增权限模块 用户
+     */
+    @ApiOperation("新增用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:add')")
+    @Log(title = "权限模块 用户", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PostUser postUser)
+    {
+        return toAjax(postUserService.insertPostUser(postUser));
+    }
+
+    /**
+     * 修改权限模块 用户
+     */
+    @ApiOperation("修改用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    @Log(title = "权限模块 用户", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PostUser postUser)
+    {
+        return toAjax(postUserService.updatePostUser(postUser));
+    }
+
+    /**
+     * 删除权限模块 用户
+     */
+    @ApiOperation("删除用户列表")
+    @PreAuthorize("@ss.hasPermi('system:user:remove')")
+    @Log(title = "权限模块 用户", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(postUserService.deletePostUserByIds(ids));
+    }
+}

+ 97 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/LcdInfoUserRelation.java

@@ -0,0 +1,97 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】对象 lcd_info_user_relation
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+public class LcdInfoUserRelation extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long id;
+
+    /** lcd_info表的主键 */
+    @Excel(name = "lcd_info表的主键")
+    private Long lcdInfoId;
+
+    /** lcd_receive_user表的主键 */
+    @Excel(name = "lcd_receive_user表的主键")
+    private Long lcdReceiveUserId;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createAt;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updateAt;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setLcdInfoId(Long lcdInfoId)
+    {
+        this.lcdInfoId = lcdInfoId;
+    }
+
+    public Long getLcdInfoId()
+    {
+        return lcdInfoId;
+    }
+    public void setLcdReceiveUserId(Long lcdReceiveUserId)
+    {
+        this.lcdReceiveUserId = lcdReceiveUserId;
+    }
+
+    public Long getLcdReceiveUserId()
+    {
+        return lcdReceiveUserId;
+    }
+    public void setCreateAt(Date createAt)
+    {
+        this.createAt = createAt;
+    }
+
+    public Date getCreateAt()
+    {
+        return createAt;
+    }
+    public void setUpdateAt(Date updateAt)
+    {
+        this.updateAt = updateAt;
+    }
+
+    public Date getUpdateAt()
+    {
+        return updateAt;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("lcdInfoId", getLcdInfoId())
+                .append("lcdReceiveUserId", getLcdReceiveUserId())
+                .append("createAt", getCreateAt())
+                .append("updateAt", getUpdateAt())
+                .toString();
+    }
+}

+ 0 - 69
ruoyi-system/src/main/java/com/ruoyi/system/domain/LcdReceiveUser.java

@@ -1,69 +0,0 @@
-package com.ruoyi.system.domain;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.ruoyi.common.annotation.Excel;
-import com.ruoyi.common.core.domain.BaseEntity;
-
-/**
- * 接收消息用户对象 lcd_receive_user
- *
- * @author ruoyi
- * @date 2023-01-14
- */
-public class LcdReceiveUser extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 主键 */
-    private Long id;
-
-    /** 消息id */
-    @Excel(name = "消息id")
-    private Long infoId;
-
-    /** 用户手机号 */
-    @Excel(name = "用户手机号")
-    private String phonenumber;
-
-    public void setId(Long id)
-    {
-        this.id = id;
-    }
-
-    public Long getId()
-    {
-        return id;
-    }
-    public void setInfoId(Long infoId)
-    {
-        this.infoId = infoId;
-    }
-
-    public Long getInfoId()
-    {
-        return infoId;
-    }
-    public void setPhonenumber(String phonenumber)
-    {
-        this.phonenumber = phonenumber;
-    }
-
-    public String getPhonenumber()
-    {
-        return phonenumber;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-                .append("id", getId())
-                .append("infoId", getInfoId())
-                .append("phonenumber", getPhonenumber())
-                .append("createBy", getCreateBy())
-                .append("createTime", getCreateTime())
-                .append("updateBy", getUpdateBy())
-                .append("updateTime", getUpdateTime())
-                .toString();
-    }
-}

+ 195 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/PostUser.java

@@ -0,0 +1,195 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 权限模块 用户对象 post_user
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+public class PostUser extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 真实姓名 */
+    @Excel(name = "真实姓名")
+    private String realname;
+
+    /** 用户名 */
+    @Excel(name = "用户名")
+    private String username;
+
+    /** 手机 */
+    @Excel(name = "手机")
+    private String mobile;
+
+    /** 注册时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date registerAt;
+
+    /** 最后登录IP */
+    @Excel(name = "最后登录IP")
+    private String lastIp;
+
+    /** 邮件 */
+    @Excel(name = "邮件")
+    private String email;
+
+    /** 密码 */
+    @Excel(name = "密码")
+    private String password;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updateAt;
+
+    /** 状态 1 正常 2 注销 3 离职 */
+    @Excel(name = "状态 1 正常 2 注销 3 离职")
+    private Long state;
+
+    /** 登录计数 */
+    @Excel(name = "登录计数")
+    private Long loginCount;
+
+    /** 头像 */
+    @Excel(name = "头像")
+    private String avatar;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setRealname(String realname)
+    {
+        this.realname = realname;
+    }
+
+    public String getRealname()
+    {
+        return realname;
+    }
+    public void setUsername(String username)
+    {
+        this.username = username;
+    }
+
+    public String getUsername()
+    {
+        return username;
+    }
+    public void setMobile(String mobile)
+    {
+        this.mobile = mobile;
+    }
+
+    public String getMobile()
+    {
+        return mobile;
+    }
+    public void setRegisterAt(Date registerAt)
+    {
+        this.registerAt = registerAt;
+    }
+
+    public Date getRegisterAt()
+    {
+        return registerAt;
+    }
+    public void setLastIp(String lastIp)
+    {
+        this.lastIp = lastIp;
+    }
+
+    public String getLastIp()
+    {
+        return lastIp;
+    }
+    public void setEmail(String email)
+    {
+        this.email = email;
+    }
+
+    public String getEmail()
+    {
+        return email;
+    }
+    public void setPassword(String password)
+    {
+        this.password = password;
+    }
+
+    public String getPassword()
+    {
+        return password;
+    }
+    public void setUpdateAt(Date updateAt)
+    {
+        this.updateAt = updateAt;
+    }
+
+    public Date getUpdateAt()
+    {
+        return updateAt;
+    }
+    public void setState(Long state)
+    {
+        this.state = state;
+    }
+
+    public Long getState()
+    {
+        return state;
+    }
+    public void setLoginCount(Long loginCount)
+    {
+        this.loginCount = loginCount;
+    }
+
+    public Long getLoginCount()
+    {
+        return loginCount;
+    }
+    public void setAvatar(String avatar)
+    {
+        this.avatar = avatar;
+    }
+
+    public String getAvatar()
+    {
+        return avatar;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("realname", getRealname())
+                .append("username", getUsername())
+                .append("mobile", getMobile())
+                .append("registerAt", getRegisterAt())
+                .append("lastIp", getLastIp())
+                .append("email", getEmail())
+                .append("password", getPassword())
+                .append("updateAt", getUpdateAt())
+                .append("state", getState())
+                .append("loginCount", getLoginCount())
+                .append("avatar", getAvatar())
+                .toString();
+    }
+}

+ 7 - 7
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/LcdInfoVo.java

@@ -3,20 +3,20 @@ package com.ruoyi.system.domain.vo;
 import com.ruoyi.system.domain.LcdInfo;
 
 public class LcdInfoVo extends LcdInfo {
-    private String phonenumber;
+    private String mobile;
 
     public LcdInfoVo() {
     }
 
-    public LcdInfoVo(String phonenumber) {
-        this.phonenumber = phonenumber;
+    public LcdInfoVo(String mobile) {
+        this.mobile = mobile;
     }
 
-    public String getPhonenumber() {
-        return phonenumber;
+    public String getmobile() {
+        return mobile;
     }
 
-    public void setPhonenumber(String phonenumber) {
-        this.phonenumber = phonenumber;
+    public void setmobile(String mobile) {
+        this.mobile = mobile;
     }
 }

+ 8 - 1
ruoyi-system/src/main/java/com/ruoyi/system/mapper/LcdInfoMapper.java

@@ -1,6 +1,7 @@
 package com.ruoyi.system.mapper;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import com.ruoyi.system.domain.LcdInfo;
 import com.ruoyi.system.domain.vo.LcdInfoVo;
@@ -20,7 +21,7 @@ public interface LcdInfoMapper
      * @param id 消息主键
      * @return 消息
      */
-    public LcdInfo selectLcdInfoById(Long id);
+    public List<LcdInfo> selectLcdInfoById(Long id);
 
     /**
      * 查询消息列表
@@ -72,4 +73,10 @@ public interface LcdInfoMapper
     List<LcdInfo> selectLcdListByTitleOrlcdTime(@Param("title")String title,
                                                   @Param("lcdTimeLeft")Date lcdTimeLeft,
                                                   @Param("lcdTimeRight")Date lcdTimeRight);
+    /**
+     * 查找指定消息id的手机号.
+     * @param id
+     * @return
+     */
+    List<LcdInfoVo> selectMobile(Long id);
 }

+ 62 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/LcdInfoUserRelationMapper.java

@@ -0,0 +1,62 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.LcdInfoUserRelation;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+public interface LcdInfoUserRelationMapper
+{
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    public LcdInfoUserRelation selectLcdInfoUserRelationById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<LcdInfoUserRelation> selectLcdInfoUserRelationList(LcdInfoUserRelation lcdInfoUserRelation);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertLcdInfoUserRelation(LcdInfoUserRelation lcdInfoUserRelation);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateLcdInfoUserRelation(LcdInfoUserRelation lcdInfoUserRelation);
+
+    /**
+     * 删除【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    public int deleteLcdInfoUserRelationById(Long id);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteLcdInfoUserRelationByIds(Long[] ids);
+}
+

+ 0 - 61
ruoyi-system/src/main/java/com/ruoyi/system/mapper/LcdReceiveUserMapper.java

@@ -1,61 +0,0 @@
-package com.ruoyi.system.mapper;
-
-import java.util.List;
-import com.ruoyi.system.domain.LcdReceiveUser;
-
-/**
- * 接收消息用户Mapper接口
- *
- * @author ruoyi
- * @date 2023-01-14
- */
-public interface LcdReceiveUserMapper
-{
-    /**
-     * 查询接收消息用户
-     *
-     * @param id 接收消息用户主键
-     * @return 接收消息用户
-     */
-    public LcdReceiveUser selectLcdReceiveUserById(Long id);
-
-    /**
-     * 查询接收消息用户列表
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 接收消息用户集合
-     */
-    public List<LcdReceiveUser> selectLcdReceiveUserList(LcdReceiveUser lcdReceiveUser);
-
-    /**
-     * 新增接收消息用户
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 结果
-     */
-    public int insertLcdReceiveUser(LcdReceiveUser lcdReceiveUser);
-
-    /**
-     * 修改接收消息用户
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 结果
-     */
-    public int updateLcdReceiveUser(LcdReceiveUser lcdReceiveUser);
-
-    /**
-     * 删除接收消息用户
-     *
-     * @param id 接收消息用户主键
-     * @return 结果
-     */
-    public int deleteLcdReceiveUserById(Long id);
-
-    /**
-     * 批量删除接收消息用户
-     *
-     * @param ids 需要删除的数据主键集合
-     * @return 结果
-     */
-    public int deleteLcdReceiveUserByIds(Long[] ids);
-}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/PostUserMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.PostUser;
+
+/**
+ * 权限模块 用户Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+public interface PostUserMapper
+{
+    /**
+     * 查询权限模块 用户
+     *
+     * @param id 权限模块 用户主键
+     * @return 权限模块 用户
+     */
+    public PostUser selectPostUserById(Long id);
+
+    /**
+     * 查询权限模块 用户列表
+     *
+     * @param postUser 权限模块 用户
+     * @return 权限模块 用户集合
+     */
+    public List<PostUser> selectPostUserList(PostUser postUser);
+
+    /**
+     * 新增权限模块 用户
+     *
+     * @param postUser 权限模块 用户
+     * @return 结果
+     */
+    public int insertPostUser(PostUser postUser);
+
+    /**
+     * 修改权限模块 用户
+     *
+     * @param postUser 权限模块 用户
+     * @return 结果
+     */
+    public int updatePostUser(PostUser postUser);
+
+    /**
+     * 删除权限模块 用户
+     *
+     * @param id 权限模块 用户主键
+     * @return 结果
+     */
+    public int deletePostUserById(Long id);
+
+    /**
+     * 批量删除权限模块 用户
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deletePostUserByIds(Long[] ids);
+}

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/ILcdInfoService.java

@@ -19,7 +19,7 @@ public interface ILcdInfoService
      * @param id 消息主键
      * @return 消息
      */
-    public LcdInfo selectLcdInfoById(Long id);
+    public List<LcdInfoVo> selectLcdInfoById(Long id);
 
     /**
      * 查询消息列表

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ILcdInfoUserRelationService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.LcdInfoUserRelation;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+public interface ILcdInfoUserRelationService
+{
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    public LcdInfoUserRelation selectLcdInfoUserRelationById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<LcdInfoUserRelation> selectLcdInfoUserRelationList(LcdInfoUserRelation lcdInfoUserRelation);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertLcdInfoUserRelation(LcdInfoUserRelation lcdInfoUserRelation);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateLcdInfoUserRelation(LcdInfoUserRelation lcdInfoUserRelation);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键集合
+     * @return 结果
+     */
+    public int deleteLcdInfoUserRelationByIds(Long[] ids);
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    public int deleteLcdInfoUserRelationById(Long id);
+}

+ 0 - 61
ruoyi-system/src/main/java/com/ruoyi/system/service/ILcdReceiveUserService.java

@@ -1,61 +0,0 @@
-package com.ruoyi.system.service;
-
-import java.util.List;
-import com.ruoyi.system.domain.LcdReceiveUser;
-
-/**
- * 接收消息用户Service接口
- *
- * @author ruoyi
- * @date 2023-01-14
- */
-public interface ILcdReceiveUserService
-{
-    /**
-     * 查询接收消息用户
-     *
-     * @param id 接收消息用户主键
-     * @return 接收消息用户
-     */
-    public LcdReceiveUser selectLcdReceiveUserById(Long id);
-
-    /**
-     * 查询接收消息用户列表
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 接收消息用户集合
-     */
-    public List<LcdReceiveUser> selectLcdReceiveUserList(LcdReceiveUser lcdReceiveUser);
-
-    /**
-     * 新增接收消息用户
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 结果
-     */
-    public int insertLcdReceiveUser(LcdReceiveUser lcdReceiveUser);
-
-    /**
-     * 修改接收消息用户
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 结果
-     */
-    public int updateLcdReceiveUser(LcdReceiveUser lcdReceiveUser);
-
-    /**
-     * 批量删除接收消息用户
-     *
-     * @param ids 需要删除的接收消息用户主键集合
-     * @return 结果
-     */
-    public int deleteLcdReceiveUserByIds(Long[] ids);
-
-    /**
-     * 删除接收消息用户信息
-     *
-     * @param id 接收消息用户主键
-     * @return 结果
-     */
-    public int deleteLcdReceiveUserById(Long id);
-}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IPostUserService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.PostUser;
+
+/**
+ * 权限模块 用户Service接口
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+public interface IPostUserService
+{
+    /**
+     * 查询权限模块 用户
+     *
+     * @param id 权限模块 用户主键
+     * @return 权限模块 用户
+     */
+    public PostUser selectPostUserById(Long id);
+
+    /**
+     * 查询权限模块 用户列表
+     *
+     * @param postUser 权限模块 用户
+     * @return 权限模块 用户集合
+     */
+    public List<PostUser> selectPostUserList(PostUser postUser);
+
+    /**
+     * 新增权限模块 用户
+     *
+     * @param postUser 权限模块 用户
+     * @return 结果
+     */
+    public int insertPostUser(PostUser postUser);
+
+    /**
+     * 修改权限模块 用户
+     *
+     * @param postUser 权限模块 用户
+     * @return 结果
+     */
+    public int updatePostUser(PostUser postUser);
+
+    /**
+     * 批量删除权限模块 用户
+     *
+     * @param ids 需要删除的权限模块 用户主键集合
+     * @return 结果
+     */
+    public int deletePostUserByIds(Long[] ids);
+
+    /**
+     * 删除权限模块 用户信息
+     *
+     * @param id 权限模块 用户主键
+     * @return 结果
+     */
+    public int deletePostUserById(Long id);
+}

+ 16 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LcdInfoServiceImpl.java

@@ -3,8 +3,11 @@ package com.ruoyi.system.service.impl;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
+
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.system.domain.vo.LcdInfoVo;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.LcdInfoMapper;
@@ -31,8 +34,19 @@ public class LcdInfoServiceImpl implements ILcdInfoService {
      * @return 消息
      */
     @Override
-    public LcdInfo selectLcdInfoById(Long id) {
-        return lcdInfoMapper.selectLcdInfoById(id);
+    public List<LcdInfoVo> selectLcdInfoById(Long id) {
+
+        List list = new ArrayList<>();
+        List<LcdInfo> records = lcdInfoMapper.selectLcdInfoById(id);
+        List<LcdInfoVo> lcdInfoVos = records.stream().map((item) -> {
+            LcdInfoVo lcdInfoVo = new LcdInfoVo();
+            BeanUtils.copyProperties(item , lcdInfoVo);
+            List<LcdInfoVo> list1 = lcdInfoMapper.selectMobile(id);
+            list.add(list1);
+            lcdInfoVo.setmobile(String.valueOf(list));
+            return lcdInfoVo;
+        }).collect(Collectors.toList());
+        return lcdInfoVos;
     }
 
     /**

+ 93 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LcdInfoUserRelationServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.LcdInfoUserRelationMapper;
+import com.ruoyi.system.domain.LcdInfoUserRelation;
+import com.ruoyi.system.service.ILcdInfoUserRelationService;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+@Service
+public class LcdInfoUserRelationServiceImpl implements ILcdInfoUserRelationService
+{
+    @Autowired
+    private LcdInfoUserRelationMapper lcdInfoUserRelationMapper;
+
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public LcdInfoUserRelation selectLcdInfoUserRelationById(Long id)
+    {
+        return lcdInfoUserRelationMapper.selectLcdInfoUserRelationById(id);
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<LcdInfoUserRelation> selectLcdInfoUserRelationList(LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        return lcdInfoUserRelationMapper.selectLcdInfoUserRelationList(lcdInfoUserRelation);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertLcdInfoUserRelation(LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        return lcdInfoUserRelationMapper.insertLcdInfoUserRelation(lcdInfoUserRelation);
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param lcdInfoUserRelation 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateLcdInfoUserRelation(LcdInfoUserRelation lcdInfoUserRelation)
+    {
+        return lcdInfoUserRelationMapper.updateLcdInfoUserRelation(lcdInfoUserRelation);
+    }
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteLcdInfoUserRelationByIds(Long[] ids)
+    {
+        return lcdInfoUserRelationMapper.deleteLcdInfoUserRelationByIds(ids);
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 结果
+     */
+    @Override
+    public int deleteLcdInfoUserRelationById(Long id)
+    {
+        return lcdInfoUserRelationMapper.deleteLcdInfoUserRelationById(id);
+    }
+}

+ 0 - 96
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LcdReceiveUserServiceImpl.java

@@ -1,96 +0,0 @@
-package com.ruoyi.system.service.impl;
-
-import java.util.List;
-import com.ruoyi.common.utils.DateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.ruoyi.system.mapper.LcdReceiveUserMapper;
-import com.ruoyi.system.domain.LcdReceiveUser;
-import com.ruoyi.system.service.ILcdReceiveUserService;
-
-/**
- * 接收消息用户Service业务层处理
- *
- * @author ruoyi
- * @date 2023-01-14
- */
-@Service
-public class LcdReceiveUserServiceImpl implements ILcdReceiveUserService
-{
-    @Autowired
-    private LcdReceiveUserMapper lcdReceiveUserMapper;
-
-    /**
-     * 查询接收消息用户
-     *
-     * @param id 接收消息用户主键
-     * @return 接收消息用户
-     */
-    @Override
-    public LcdReceiveUser selectLcdReceiveUserById(Long id)
-    {
-        return lcdReceiveUserMapper.selectLcdReceiveUserById(id);
-    }
-
-    /**
-     * 查询接收消息用户列表
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 接收消息用户
-     */
-    @Override
-    public List<LcdReceiveUser> selectLcdReceiveUserList(LcdReceiveUser lcdReceiveUser)
-    {
-        return lcdReceiveUserMapper.selectLcdReceiveUserList(lcdReceiveUser);
-    }
-
-    /**
-     * 新增接收消息用户
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 结果
-     */
-    @Override
-    public int insertLcdReceiveUser(LcdReceiveUser lcdReceiveUser)
-    {
-        lcdReceiveUser.setCreateTime(DateUtils.getNowDate());
-        return lcdReceiveUserMapper.insertLcdReceiveUser(lcdReceiveUser);
-    }
-
-    /**
-     * 修改接收消息用户
-     *
-     * @param lcdReceiveUser 接收消息用户
-     * @return 结果
-     */
-    @Override
-    public int updateLcdReceiveUser(LcdReceiveUser lcdReceiveUser)
-    {
-        lcdReceiveUser.setUpdateTime(DateUtils.getNowDate());
-        return lcdReceiveUserMapper.updateLcdReceiveUser(lcdReceiveUser);
-    }
-
-    /**
-     * 批量删除接收消息用户
-     *
-     * @param ids 需要删除的接收消息用户主键
-     * @return 结果
-     */
-    @Override
-    public int deleteLcdReceiveUserByIds(Long[] ids)
-    {
-        return lcdReceiveUserMapper.deleteLcdReceiveUserByIds(ids);
-    }
-
-    /**
-     * 删除接收消息用户信息
-     *
-     * @param id 接收消息用户主键
-     * @return 结果
-     */
-    @Override
-    public int deleteLcdReceiveUserById(Long id)
-    {
-        return lcdReceiveUserMapper.deleteLcdReceiveUserById(id);
-    }
-}

+ 93 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PostUserServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.PostUserMapper;
+import com.ruoyi.system.domain.PostUser;
+import com.ruoyi.system.service.IPostUserService;
+
+/**
+ * 权限模块 用户Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-01-16
+ */
+@Service
+public class PostUserServiceImpl implements IPostUserService
+{
+    @Autowired
+    private PostUserMapper postUserMapper;
+
+    /**
+     * 查询权限模块 用户
+     *
+     * @param id 权限模块 用户主键
+     * @return 权限模块 用户
+     */
+    @Override
+    public PostUser selectPostUserById(Long id)
+    {
+        return postUserMapper.selectPostUserById(id);
+    }
+
+    /**
+     * 查询权限模块 用户列表
+     *
+     * @param postUser 权限模块 用户
+     * @return 权限模块 用户
+     */
+    @Override
+    public List<PostUser> selectPostUserList(PostUser postUser)
+    {
+        return postUserMapper.selectPostUserList(postUser);
+    }
+
+    /**
+     * 新增权限模块 用户
+     *
+     * @param postUser 权限模块 用户
+     * @return 结果
+     */
+    @Override
+    public int insertPostUser(PostUser postUser)
+    {
+        return postUserMapper.insertPostUser(postUser);
+    }
+
+    /**
+     * 修改权限模块 用户
+     *
+     * @param postUser 权限模块 用户
+     * @return 结果
+     */
+    @Override
+    public int updatePostUser(PostUser postUser)
+    {
+        return postUserMapper.updatePostUser(postUser);
+    }
+
+    /**
+     * 批量删除权限模块 用户
+     *
+     * @param ids 需要删除的权限模块 用户主键
+     * @return 结果
+     */
+    @Override
+    public int deletePostUserByIds(Long[] ids)
+    {
+        return postUserMapper.deletePostUserByIds(ids);
+    }
+
+    /**
+     * 删除权限模块 用户信息
+     *
+     * @param id 权限模块 用户主键
+     * @return 结果
+     */
+    @Override
+    public int deletePostUserById(Long id)
+    {
+        return postUserMapper.deletePostUserById(id);
+    }
+}

+ 9 - 0
ruoyi-system/src/main/resources/mapper/system/LcdInfoMapper.xml

@@ -50,6 +50,15 @@
         <include refid="selectLcdInfoVo"/>
         where id = #{id}
     </select>
+    <select id="selectMobile" parameterType="Long" resultType="String">
+        select u.mobile
+        from lcd_info i
+                 LEFT JOIN lcd_info_user_relation r
+                           ON r.lcd_info_id=i.id
+                 LEFT JOIN post_user u
+                           ON r.lcd_receive_user_id = u.id
+        where i.id = #{id}
+    </select>
 
     <insert id="insertLcdInfo" parameterType="LcdInfoVo" >
         insert into lcd_info

+ 71 - 0
ruoyi-system/src/main/resources/mapper/system/LcdInfoUserRelationMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.LcdInfoUserRelationMapper">
+
+    <resultMap type="LcdInfoUserRelation" id="LcdInfoUserRelationResult">
+        <result property="id"    column="id"    />
+        <result property="lcdInfoId"    column="lcd_info_id"    />
+        <result property="lcdReceiveUserId"    column="lcd_receive_user_id"    />
+        <result property="createAt"    column="create_at"    />
+        <result property="updateAt"    column="update_at"    />
+    </resultMap>
+
+    <sql id="selectLcdInfoUserRelationVo">
+        select id, lcd_info_id, lcd_receive_user_id, create_at, update_at from lcd_info_user_relation
+    </sql>
+
+    <select id="selectLcdInfoUserRelationList" parameterType="LcdInfoUserRelation" resultMap="LcdInfoUserRelationResult">
+        <include refid="selectLcdInfoUserRelationVo"/>
+        <where>
+            <if test="lcdInfoId != null "> and lcd_info_id = #{lcdInfoId}</if>
+            <if test="lcdReceiveUserId != null "> and lcd_receive_user_id = #{lcdReceiveUserId}</if>
+            <if test="createAt != null "> and create_at = #{createAt}</if>
+            <if test="updateAt != null "> and update_at = #{updateAt}</if>
+        </where>
+    </select>
+
+    <select id="selectLcdInfoUserRelationById" parameterType="Long" resultMap="LcdInfoUserRelationResult">
+        <include refid="selectLcdInfoUserRelationVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertLcdInfoUserRelation" parameterType="LcdInfoUserRelation" useGeneratedKeys="true" keyProperty="id">
+        insert into lcd_info_user_relation
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="lcdInfoId != null">lcd_info_id,</if>
+            <if test="lcdReceiveUserId != null">lcd_receive_user_id,</if>
+            <if test="createAt != null">create_at,</if>
+            <if test="updateAt != null">update_at,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="lcdInfoId != null">#{lcdInfoId},</if>
+            <if test="lcdReceiveUserId != null">#{lcdReceiveUserId},</if>
+            <if test="createAt != null">#{createAt},</if>
+            <if test="updateAt != null">#{updateAt},</if>
+        </trim>
+    </insert>
+
+    <update id="updateLcdInfoUserRelation" parameterType="LcdInfoUserRelation">
+        update lcd_info_user_relation
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="lcdInfoId != null">lcd_info_id = #{lcdInfoId},</if>
+            <if test="lcdReceiveUserId != null">lcd_receive_user_id = #{lcdReceiveUserId},</if>
+            <if test="createAt != null">create_at = #{createAt},</if>
+            <if test="updateAt != null">update_at = #{updateAt},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteLcdInfoUserRelationById" parameterType="Long">
+        delete from lcd_info_user_relation where id = #{id}
+    </delete>
+
+    <delete id="deleteLcdInfoUserRelationByIds" parameterType="String">
+        delete from lcd_info_user_relation where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 0 - 79
ruoyi-system/src/main/resources/mapper/system/LcdReceiveUserMapper.xml

@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.system.mapper.LcdReceiveUserMapper">
-
-    <resultMap type="LcdReceiveUser" id="LcdReceiveUserResult">
-        <result property="id"    column="id"    />
-        <result property="infoId"    column="info_id"    />
-        <result property="phonenumber"    column="phonenumber"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateTime"    column="update_time"    />
-    </resultMap>
-
-    <sql id="selectLcdReceiveUserVo">
-        select id, info_id, phonenumber, create_by, create_time, update_by, update_time from lcd_receive_user
-    </sql>
-
-    <select id="selectLcdReceiveUserList" parameterType="LcdReceiveUser" resultMap="LcdReceiveUserResult">
-        <include refid="selectLcdReceiveUserVo"/>
-        <where>
-            <if test="infoId != null "> and info_id = #{infoId}</if>
-            <if test="phonenumber != null  and phonenumber != ''"> and phonenumber = #{phonenumber}</if>
-        </where>
-    </select>
-
-    <select id="selectLcdReceiveUserById" parameterType="Long" resultMap="LcdReceiveUserResult">
-        <include refid="selectLcdReceiveUserVo"/>
-        where id = #{id}
-    </select>
-
-    <insert id="insertLcdReceiveUser" parameterType="LcdReceiveUser">
-        insert into lcd_receive_user
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">id,</if>
-            <if test="infoId != null">info_id,</if>
-            <if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
-            <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
-            <if test="updateBy != null">update_by,</if>
-            <if test="updateTime != null">update_time,</if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">#{id},</if>
-            <if test="infoId != null">#{infoId},</if>
-            <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
-            <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
-            <if test="updateBy != null">#{updateBy},</if>
-            <if test="updateTime != null">#{updateTime},</if>
-        </trim>
-    </insert>
-
-    <update id="updateLcdReceiveUser" parameterType="LcdReceiveUser">
-        update lcd_receive_user
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="infoId != null">info_id = #{infoId},</if>
-            <if test="phonenumber != null and phonenumber != ''">phonenumber = #{phonenumber},</if>
-            <if test="createBy != null">create_by = #{createBy},</if>
-            <if test="createTime != null">create_time = #{createTime},</if>
-            <if test="updateBy != null">update_by = #{updateBy},</if>
-            <if test="updateTime != null">update_time = #{updateTime},</if>
-        </trim>
-        where id = #{id}
-    </update>
-
-    <delete id="deleteLcdReceiveUserById" parameterType="Long">
-        delete from lcd_receive_user where id = #{id}
-    </delete>
-
-    <delete id="deleteLcdReceiveUserByIds" parameterType="String">
-        delete from lcd_receive_user where id in
-        <foreach item="id" collection="array" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-    </delete>
-</mapper>

+ 106 - 0
ruoyi-system/src/main/resources/mapper/system/PostUserMapper.xml

@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.PostUserMapper">
+
+    <resultMap type="PostUser" id="PostUserResult">
+        <result property="id"    column="id"    />
+        <result property="realname"    column="realname"    />
+        <result property="username"    column="username"    />
+        <result property="mobile"    column="mobile"    />
+        <result property="registerAt"    column="register_at"    />
+        <result property="lastIp"    column="last_ip"    />
+        <result property="email"    column="email"    />
+        <result property="password"    column="password"    />
+        <result property="updateAt"    column="update_at"    />
+        <result property="state"    column="state"    />
+        <result property="loginCount"    column="login_count"    />
+        <result property="avatar"    column="avatar"    />
+    </resultMap>
+
+    <sql id="selectPostUserVo">
+        select id, realname, username, mobile, register_at, last_ip, email, password, update_at, state, login_count, avatar from post_user
+    </sql>
+
+    <select id="selectPostUserList" parameterType="PostUser" resultMap="PostUserResult">
+        <include refid="selectPostUserVo"/>
+        <where>
+            <if test="realname != null  and realname != ''"> and realname like concat('%', #{realname}, '%')</if>
+            <if test="username != null  and username != ''"> and username like concat('%', #{username}, '%')</if>
+            <if test="mobile != null  and mobile != ''"> and mobile = #{mobile}</if>
+            <if test="registerAt != null "> and register_at = #{registerAt}</if>
+            <if test="lastIp != null  and lastIp != ''"> and last_ip = #{lastIp}</if>
+            <if test="email != null  and email != ''"> and email = #{email}</if>
+            <if test="password != null  and password != ''"> and password = #{password}</if>
+            <if test="updateAt != null "> and update_at = #{updateAt}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="loginCount != null "> and login_count = #{loginCount}</if>
+            <if test="avatar != null  and avatar != ''"> and avatar = #{avatar}</if>
+        </where>
+    </select>
+
+    <select id="selectPostUserById" parameterType="Long" resultMap="PostUserResult">
+        <include refid="selectPostUserVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertPostUser" parameterType="PostUser" useGeneratedKeys="true" keyProperty="id">
+        insert into post_user
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="realname != null">realname,</if>
+            <if test="username != null">username,</if>
+            <if test="mobile != null">mobile,</if>
+            <if test="registerAt != null">register_at,</if>
+            <if test="lastIp != null">last_ip,</if>
+            <if test="email != null">email,</if>
+            <if test="password != null">password,</if>
+            <if test="updateAt != null">update_at,</if>
+            <if test="state != null">state,</if>
+            <if test="loginCount != null">login_count,</if>
+            <if test="avatar != null">avatar,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="realname != null">#{realname},</if>
+            <if test="username != null">#{username},</if>
+            <if test="mobile != null">#{mobile},</if>
+            <if test="registerAt != null">#{registerAt},</if>
+            <if test="lastIp != null">#{lastIp},</if>
+            <if test="email != null">#{email},</if>
+            <if test="password != null">#{password},</if>
+            <if test="updateAt != null">#{updateAt},</if>
+            <if test="state != null">#{state},</if>
+            <if test="loginCount != null">#{loginCount},</if>
+            <if test="avatar != null">#{avatar},</if>
+        </trim>
+    </insert>
+
+    <update id="updatePostUser" parameterType="PostUser">
+        update post_user
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="realname != null">realname = #{realname},</if>
+            <if test="username != null">username = #{username},</if>
+            <if test="mobile != null">mobile = #{mobile},</if>
+            <if test="registerAt != null">register_at = #{registerAt},</if>
+            <if test="lastIp != null">last_ip = #{lastIp},</if>
+            <if test="email != null">email = #{email},</if>
+            <if test="password != null">password = #{password},</if>
+            <if test="updateAt != null">update_at = #{updateAt},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="loginCount != null">login_count = #{loginCount},</if>
+            <if test="avatar != null">avatar = #{avatar},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deletePostUserById" parameterType="Long">
+        delete from post_user where id = #{id}
+    </delete>
+
+    <delete id="deletePostUserByIds" parameterType="String">
+        delete from post_user where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 136 - 136
ruoyi-ui/vue.config.js

@@ -1,136 +1,136 @@
-'use strict'
-const path = require('path')
-
-function resolve(dir) {
-  return path.join(__dirname, dir)
-}
-
-const CompressionPlugin = require('compression-webpack-plugin')
-
-const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题
-
-const port = process.env.port || process.env.npm_config_port || 80 // 端口
-
-// vue.config.js 配置说明
-//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
-// 这里只列一部分,具体配置参考文档
-module.exports = {
-  // 部署生产环境和开发环境下的URL。
-  // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
-  // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
-  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
-  // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
-  outputDir: 'dist',
-  // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
-  assetsDir: 'static',
-  // 是否开启eslint保存检测,有效值:ture | false | 'error'
-  lintOnSave: process.env.NODE_ENV === 'development',
-  // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
-  productionSourceMap: false,
-  // webpack-dev-server 相关配置
-  devServer: {
-    host: '0.0.0.0',
-    port: port,
-    open: true,
-    proxy: {
-      // detail: https://cli.vuejs.org/config/#devserver-proxy
-      [process.env.VUE_APP_BASE_API]: {
-        target: `http://localhost:8080`,
-        changeOrigin: true,
-        pathRewrite: {
-          ['^' + process.env.VUE_APP_BASE_API]: ''
-        }
-      }
-    },
-    disableHostCheck: true
-  },
-  css: {
-    loaderOptions: {
-      sass: {
-        sassOptions: { outputStyle: "expanded" }
-      }
-    }
-  },
-  configureWebpack: {
-    name: name,
-    resolve: {
-      alias: {
-        '@': resolve('src')
-      }
-    },
-    plugins: [
-      // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
-      new CompressionPlugin({
-        cache: false,                   // 不启用文件缓存
-        test: /\.(js|css|html)?$/i,     // 压缩文件格式
-        filename: '[path].gz[query]',   // 压缩后的文件名
-        algorithm: 'gzip',              // 使用gzip压缩
-        minRatio: 0.8                   // 压缩率小于1才会压缩
-      })
-    ],
-  },
-  chainWebpack(config) {
-    config.plugins.delete('preload') // TODO: need test
-    config.plugins.delete('prefetch') // TODO: need test
-
-    // set svg-sprite-loader
-    config.module
-      .rule('svg')
-      .exclude.add(resolve('src/assets/icons'))
-      .end()
-    config.module
-      .rule('icons')
-      .test(/\.svg$/)
-      .include.add(resolve('src/assets/icons'))
-      .end()
-      .use('svg-sprite-loader')
-      .loader('svg-sprite-loader')
-      .options({
-        symbolId: 'icon-[name]'
-      })
-      .end()
-
-    config
-      .when(process.env.NODE_ENV !== 'development',
-        config => {
-          config
-            .plugin('ScriptExtHtmlWebpackPlugin')
-            .after('html')
-            .use('script-ext-html-webpack-plugin', [{
-            // `runtime` must same as runtimeChunk name. default is `runtime`
-              inline: /runtime\..*\.js$/
-            }])
-            .end()
-          config
-            .optimization.splitChunks({
-              chunks: 'all',
-              cacheGroups: {
-                libs: {
-                  name: 'chunk-libs',
-                  test: /[\\/]node_modules[\\/]/,
-                  priority: 10,
-                  chunks: 'initial' // only package third parties that are initially dependent
-                },
-                elementUI: {
-                  name: 'chunk-elementUI', // split elementUI into a single package
-                  priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
-                  test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
-                },
-                commons: {
-                  name: 'chunk-commons',
-                  test: resolve('src/components'), // can customize your rules
-                  minChunks: 3, //  minimum common number
-                  priority: 5,
-                  reuseExistingChunk: true
-                }
-              }
-            })
-          config.optimization.runtimeChunk('single'),
-          {
-             from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
-             to: './' //到根目录下
-          }
-        }
-      )
-  }
-}
+'use strict'
+const path = require('path')
+
+function resolve(dir) {
+  return path.join(__dirname, dir)
+}
+
+const CompressionPlugin = require('compression-webpack-plugin')
+
+const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题
+
+const port = process.env.port || process.env.npm_config_port || 80 // 端口
+
+// vue.config.js 配置说明
+//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
+// 这里只列一部分,具体配置参考文档
+module.exports = {
+  // 部署生产环境和开发环境下的URL。
+  // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
+  // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
+  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
+  // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
+  outputDir: 'dist',
+  // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
+  assetsDir: 'static',
+  // 是否开启eslint保存检测,有效值:ture | false | 'error'
+  lintOnSave: process.env.NODE_ENV === 'development',
+  // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
+  productionSourceMap: false,
+  // webpack-dev-server 相关配置
+  devServer: {
+    host: '0.0.0.0',
+    port: port,
+    open: true,
+    proxy: {
+      // detail: https://cli.vuejs.org/config/#devserver-proxy
+      [process.env.VUE_APP_BASE_API]: {
+        target: `http://localhost:8080`,
+        changeOrigin: true,
+        pathRewrite: {
+          ['^' + process.env.VUE_APP_BASE_API]: ''
+        }
+      }
+    },
+    disableHostCheck: true
+  },
+  css: {
+    loaderOptions: {
+      sass: {
+        sassOptions: { outputStyle: "expanded" }
+      }
+    }
+  },
+  configureWebpack: {
+    name: name,
+    resolve: {
+      alias: {
+        '@': resolve('src')
+      }
+    },
+    plugins: [
+      // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
+      new CompressionPlugin({
+        cache: false,                   // 不启用文件缓存
+        test: /\.(js|css|html)?$/i,     // 压缩文件格式
+        filename: '[path].gz[query]',   // 压缩后的文件名
+        algorithm: 'gzip',              // 使用gzip压缩
+        minRatio: 0.8                   // 压缩率小于1才会压缩
+      })
+    ],
+  },
+  chainWebpack(config) {
+    config.plugins.delete('preload') // TODO: need test
+    config.plugins.delete('prefetch') // TODO: need test
+
+    // set svg-sprite-loader
+    config.module
+      .rule('svg')
+      .exclude.add(resolve('src/assets/icons'))
+      .end()
+    config.module
+      .rule('icons')
+      .test(/\.svg$/)
+      .include.add(resolve('src/assets/icons'))
+      .end()
+      .use('svg-sprite-loader')
+      .loader('svg-sprite-loader')
+      .options({
+        symbolId: 'icon-[name]'
+      })
+      .end()
+
+    config
+      .when(process.env.NODE_ENV !== 'development',
+        config => {
+          config
+            .plugin('ScriptExtHtmlWebpackPlugin')
+            .after('html')
+            .use('script-ext-html-webpack-plugin', [{
+            // `runtime` must same as runtimeChunk name. default is `runtime`
+              inline: /runtime\..*\.js$/
+            }])
+            .end()
+          config
+            .optimization.splitChunks({
+              chunks: 'all',
+              cacheGroups: {
+                libs: {
+                  name: 'chunk-libs',
+                  test: /[\\/]node_modules[\\/]/,
+                  priority: 10,
+                  chunks: 'initial' // only package third parties that are initially dependent
+                },
+                elementUI: {
+                  name: 'chunk-elementUI', // split elementUI into a single package
+                  priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
+                  test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
+                },
+                commons: {
+                  name: 'chunk-commons',
+                  test: resolve('src/components'), // can customize your rules
+                  minChunks: 3, //  minimum common number
+                  priority: 5,
+                  reuseExistingChunk: true
+                }
+              }
+            })
+          config.optimization.runtimeChunk('single'),
+          {
+             from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
+             to: './' //到根目录下
+          }
+        }
+      )
+  }
+}