diff --git a/playlet-admin/src/main/java/com/playlet/web/controller/app/PlayletPublicUserAppController.java b/playlet-admin/src/main/java/com/playlet/web/controller/app/PlayletPublicUserAppController.java new file mode 100644 index 0000000..cefe5b1 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/controller/app/PlayletPublicUserAppController.java @@ -0,0 +1,41 @@ +package com.playlet.web.controller.app; + +import com.playlet.common.core.domain.Result; +import com.playlet.system.domain.PlayletPublicUser; +import com.playlet.web.service.app.PlayletPublicUserAppService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@Api(tags = "公众号*用户接口") +@RestController +@RequestMapping(value = "/app/public/user") +@RequiredArgsConstructor(onConstructor = @__(@Autowired)) +public class PlayletPublicUserAppController { + + private final PlayletPublicUserAppService publicUserAppService; + + /** + * 新增公众号用户信息 + */ + @ResponseBody + @PostMapping("/add") + @ApiOperation(value = "新增公众号用户信息") + public Result addSave(@RequestBody PlayletPublicUser publicUser) { + publicUserAppService.addPublicUser(publicUser); + return Result.success(); + } + + @ResponseBody + @ApiOperation(value = "查询公众号用户信息") + @PostMapping("/findByUnionIdAndPublicId") + public Result findByUnionIdAndPublicId(@RequestBody PlayletPublicUser publicUser) { + PlayletPublicUser user = publicUserAppService.findByUnionIdAndPublicId(publicUser); + return Result.success(user); + } + +} diff --git a/playlet-admin/src/main/java/com/playlet/web/controller/system/PlayletPublicUserController.java b/playlet-admin/src/main/java/com/playlet/web/controller/system/PlayletPublicUserController.java new file mode 100644 index 0000000..89f21b0 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/controller/system/PlayletPublicUserController.java @@ -0,0 +1,126 @@ +package com.playlet.web.controller.system; +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.playlet.common.annotation.Log; +import com.playlet.common.enums.BusinessType; +import com.playlet.system.domain.PlayletPublicUser; +import com.playlet.system.service.IPlayletPublicUserService; +import com.playlet.common.core.controller.BaseController; +import com.playlet.common.core.domain.AjaxResult; +import com.playlet.common.utils.poi.ExcelUtil; +import com.playlet.common.core.page.TableDataInfo; + +/** + * 公众号用户Controller + * + * @author ruoyi + * @date 2024-06-14 + */ +@Controller +@RequestMapping("/system/public/user") +public class PlayletPublicUserController extends BaseController +{ + private String prefix = "system/public/user"; + + @Autowired + private IPlayletPublicUserService playletPublicUserService; + + @RequiresPermissions("public:user:view") + @GetMapping() + public String user() + { + return prefix + "/user"; + } + + /** + * 查询公众号用户列表 + */ + @RequiresPermissions("public:user:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(PlayletPublicUser playletPublicUser) + { + startPage(); + List list = playletPublicUserService.selectPlayletPublicUserList(playletPublicUser); + return getDataTable(list); + } + + /** + * 导出公众号用户列表 + */ + @RequiresPermissions("public:user:export") + @Log(title = "公众号用户", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(PlayletPublicUser playletPublicUser) + { + List list = playletPublicUserService.selectPlayletPublicUserList(playletPublicUser); + ExcelUtil util = new ExcelUtil(PlayletPublicUser.class); + return util.exportExcel(list, "公众号用户数据"); + } + + /** + * 新增公众号用户 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存公众号用户 + */ + @RequiresPermissions("public:user:add") + @Log(title = "公众号用户", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(PlayletPublicUser playletPublicUser) + { + return toAjax(playletPublicUserService.insertPlayletPublicUser(playletPublicUser)); + } + + /** + * 修改公众号用户 + */ + @RequiresPermissions("public:user:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + PlayletPublicUser playletPublicUser = playletPublicUserService.selectPlayletPublicUserById(id); + mmap.put("playletPublicUser", playletPublicUser); + return prefix + "/edit"; + } + + /** + * 修改保存公众号用户 + */ + @RequiresPermissions("public:user:edit") + @Log(title = "公众号用户", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(PlayletPublicUser playletPublicUser) + { + return toAjax(playletPublicUserService.updatePlayletPublicUser(playletPublicUser)); + } + + /** + * 删除公众号用户 + */ + @RequiresPermissions("public:user:remove") + @Log(title = "公众号用户", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(playletPublicUserService.deletePlayletPublicUserByIds(ids)); + } +} diff --git a/playlet-admin/src/main/java/com/playlet/web/service/app/PlayletPublicUserAppService.java b/playlet-admin/src/main/java/com/playlet/web/service/app/PlayletPublicUserAppService.java new file mode 100644 index 0000000..b323964 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/service/app/PlayletPublicUserAppService.java @@ -0,0 +1,10 @@ +package com.playlet.web.service.app; + +import com.playlet.system.domain.PlayletPublicUser; + +public interface PlayletPublicUserAppService { + void addPublicUser(PlayletPublicUser publicUser); + + PlayletPublicUser findByUnionIdAndPublicId(PlayletPublicUser publicUser); + +} diff --git a/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PlayletPublicUserAppServiceImpl.java b/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PlayletPublicUserAppServiceImpl.java new file mode 100644 index 0000000..cccd459 --- /dev/null +++ b/playlet-admin/src/main/java/com/playlet/web/service/app/impl/PlayletPublicUserAppServiceImpl.java @@ -0,0 +1,31 @@ +package com.playlet.web.service.app.impl; + +import com.playlet.system.domain.PlayletPublicUser; +import com.playlet.system.service.IPlayletPublicUserService; +import com.playlet.web.service.app.PlayletPublicUserAppService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@RequiredArgsConstructor(onConstructor = @__(@Autowired)) +public class PlayletPublicUserAppServiceImpl implements PlayletPublicUserAppService { + + private final IPlayletPublicUserService iPlayletPublicUserService; + + @Override + public void addPublicUser(PlayletPublicUser publicUser) { + iPlayletPublicUserService.insertPlayletPublicUser(publicUser); + } + + @Override + public PlayletPublicUser findByUnionIdAndPublicId(PlayletPublicUser publicUser) { + return iPlayletPublicUserService.lambdaQuery() + .eq(PlayletPublicUser::getPublicId, publicUser.getPublicId()) + .eq(PlayletPublicUser::getUnionId, publicUser.getUnionId()) + .one(); + } + +} diff --git a/playlet-admin/src/main/resources/templates/system/public/user/add.html b/playlet-admin/src/main/resources/templates/system/public/user/add.html new file mode 100644 index 0000000..1e78cbc --- /dev/null +++ b/playlet-admin/src/main/resources/templates/system/public/user/add.html @@ -0,0 +1,55 @@ + + + + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/playlet-admin/src/main/resources/templates/system/public/user/edit.html b/playlet-admin/src/main/resources/templates/system/public/user/edit.html new file mode 100644 index 0000000..a359f9c --- /dev/null +++ b/playlet-admin/src/main/resources/templates/system/public/user/edit.html @@ -0,0 +1,56 @@ + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/playlet-admin/src/main/resources/templates/system/public/user/user.html b/playlet-admin/src/main/resources/templates/system/public/user/user.html new file mode 100644 index 0000000..21cef61 --- /dev/null +++ b/playlet-admin/src/main/resources/templates/system/public/user/user.html @@ -0,0 +1,114 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java new file mode 100644 index 0000000..397cd6f --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/domain/PlayletPublicUser.java @@ -0,0 +1,43 @@ +package com.playlet.system.domain; + +import com.playlet.common.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.playlet.common.annotation.Excel; + +/** + * 公众号用户对象 playlet_public_user + * + * @author ruoyi + * @date 2024-06-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName(value = "playlet_public_user") +@ApiModel(value = "公众号用户") +public class PlayletPublicUser extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 公众号id */ + @Excel(name = "公众号id") + private Long publicId; + + /** 昵称 */ + @Excel(name = "昵称") + private String name; + + /** 微信unionId */ + @Excel(name = "微信unionId") + private String unionId; + + /** 头像 */ + @Excel(name = "头像") + private String imgUrl; + +} diff --git a/playlet-system/src/main/java/com/playlet/system/mapper/PlayletPublicUserMapper.java b/playlet-system/src/main/java/com/playlet/system/mapper/PlayletPublicUserMapper.java new file mode 100644 index 0000000..c674cca --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/mapper/PlayletPublicUserMapper.java @@ -0,0 +1,62 @@ +package com.playlet.system.mapper; + +import java.util.List; +import com.playlet.system.domain.PlayletPublicUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 公众号用户Mapper接口 + * + * @author ruoyi + * @date 2024-06-14 + */ +public interface PlayletPublicUserMapper extends BaseMapper +{ + /** + * 查询公众号用户 + * + * @param id 公众号用户主键 + * @return 公众号用户 + */ + public PlayletPublicUser selectPlayletPublicUserById(Long id); + + /** + * 查询公众号用户列表 + * + * @param playletPublicUser 公众号用户 + * @return 公众号用户集合 + */ + public List selectPlayletPublicUserList(PlayletPublicUser playletPublicUser); + + /** + * 新增公众号用户 + * + * @param playletPublicUser 公众号用户 + * @return 结果 + */ + public int insertPlayletPublicUser(PlayletPublicUser playletPublicUser); + + /** + * 修改公众号用户 + * + * @param playletPublicUser 公众号用户 + * @return 结果 + */ + public int updatePlayletPublicUser(PlayletPublicUser playletPublicUser); + + /** + * 删除公众号用户 + * + * @param id 公众号用户主键 + * @return 结果 + */ + public int deletePlayletPublicUserById(Long id); + + /** + * 批量删除公众号用户 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePlayletPublicUserByIds(String[] ids); +} diff --git a/playlet-system/src/main/java/com/playlet/system/service/IPlayletPublicUserService.java b/playlet-system/src/main/java/com/playlet/system/service/IPlayletPublicUserService.java new file mode 100644 index 0000000..7260d21 --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/service/IPlayletPublicUserService.java @@ -0,0 +1,62 @@ +package com.playlet.system.service; + +import java.util.List; +import com.playlet.system.domain.PlayletPublicUser; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 公众号用户Service接口 + * + * @author ruoyi + * @date 2024-06-14 + */ +public interface IPlayletPublicUserService extends IService +{ + /** + * 查询公众号用户 + * + * @param id 公众号用户主键 + * @return 公众号用户 + */ + public PlayletPublicUser selectPlayletPublicUserById(Long id); + + /** + * 查询公众号用户列表 + * + * @param playletPublicUser 公众号用户 + * @return 公众号用户集合 + */ + public List selectPlayletPublicUserList(PlayletPublicUser playletPublicUser); + + /** + * 新增公众号用户 + * + * @param playletPublicUser 公众号用户 + * @return 结果 + */ + public int insertPlayletPublicUser(PlayletPublicUser playletPublicUser); + + /** + * 修改公众号用户 + * + * @param playletPublicUser 公众号用户 + * @return 结果 + */ + public int updatePlayletPublicUser(PlayletPublicUser playletPublicUser); + + /** + * 批量删除公众号用户 + * + * @param ids 需要删除的公众号用户主键集合 + * @return 结果 + */ + public int deletePlayletPublicUserByIds(String ids); + + /** + * 删除公众号用户信息 + * + * @param id 公众号用户主键 + * @return 结果 + */ + public int deletePlayletPublicUserById(Long id); +} diff --git a/playlet-system/src/main/java/com/playlet/system/service/impl/PlayletPublicUserServiceImpl.java b/playlet-system/src/main/java/com/playlet/system/service/impl/PlayletPublicUserServiceImpl.java new file mode 100644 index 0000000..3cfa3ca --- /dev/null +++ b/playlet-system/src/main/java/com/playlet/system/service/impl/PlayletPublicUserServiceImpl.java @@ -0,0 +1,98 @@ +package com.playlet.system.service.impl; + +import java.util.List; +import com.playlet.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.playlet.system.mapper.PlayletPublicUserMapper; +import com.playlet.system.domain.PlayletPublicUser; +import com.playlet.system.service.IPlayletPublicUserService; +import com.playlet.common.core.text.Convert; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * 公众号用户Service业务层处理 + * + * @author ruoyi + * @date 2024-06-14 + */ +@Service +public class PlayletPublicUserServiceImpl extends ServiceImpl implements IPlayletPublicUserService +{ + @Autowired + private PlayletPublicUserMapper playletPublicUserMapper; + + /** + * 查询公众号用户 + * + * @param id 公众号用户主键 + * @return 公众号用户 + */ + @Override + public PlayletPublicUser selectPlayletPublicUserById(Long id) + { + return playletPublicUserMapper.selectPlayletPublicUserById(id); + } + + /** + * 查询公众号用户列表 + * + * @param playletPublicUser 公众号用户 + * @return 公众号用户 + */ + @Override + public List selectPlayletPublicUserList(PlayletPublicUser playletPublicUser) + { + return playletPublicUserMapper.selectPlayletPublicUserList(playletPublicUser); + } + + /** + * 新增公众号用户 + * + * @param playletPublicUser 公众号用户 + * @return 结果 + */ + @Override + public int insertPlayletPublicUser(PlayletPublicUser playletPublicUser) + { + playletPublicUser.setCreateTime(DateUtils.getNowDate()); + return playletPublicUserMapper.insertPlayletPublicUser(playletPublicUser); + } + + /** + * 修改公众号用户 + * + * @param playletPublicUser 公众号用户 + * @return 结果 + */ + @Override + public int updatePlayletPublicUser(PlayletPublicUser playletPublicUser) + { + playletPublicUser.setUpdateTime(DateUtils.getNowDate()); + return playletPublicUserMapper.updatePlayletPublicUser(playletPublicUser); + } + + /** + * 批量删除公众号用户 + * + * @param ids 需要删除的公众号用户主键 + * @return 结果 + */ + @Override + public int deletePlayletPublicUserByIds(String ids) + { + return playletPublicUserMapper.deletePlayletPublicUserByIds(Convert.toStrArray(ids)); + } + + /** + * 删除公众号用户信息 + * + * @param id 公众号用户主键 + * @return 结果 + */ + @Override + public int deletePlayletPublicUserById(Long id) + { + return playletPublicUserMapper.deletePlayletPublicUserById(id); + } +} diff --git a/playlet-system/src/main/resources/mapper/system/PlayletPublicUserMapper.xml b/playlet-system/src/main/resources/mapper/system/PlayletPublicUserMapper.xml new file mode 100644 index 0000000..b75c11a --- /dev/null +++ b/playlet-system/src/main/resources/mapper/system/PlayletPublicUserMapper.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + select id, public_id, name, union_id, img_url, create_by, create_time, update_by, update_time, remark from playlet_public_user + + + + + + + + insert into playlet_public_user + + public_id, + name, + union_id, + img_url, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{publicId}, + #{name}, + #{unionId}, + #{imgUrl}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update playlet_public_user + + public_id = #{publicId}, + name = #{name}, + union_id = #{unionId}, + img_url = #{imgUrl}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from playlet_public_user where id = #{id} + + + + delete from playlet_public_user where id in + + #{id} + + + + \ No newline at end of file