diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountController.java index a66c6af8f..f140f8228 100755 --- a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountController.java +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountController.java @@ -36,7 +36,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @AllArgsConstructor -@RequestMapping("/wxaccount") +@RequestMapping("/wx-account") public class WxAccountController { private final WxAccountService wxAccountService; diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountFansController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountFansController.java index 5ab7d8793..8733e7251 100755 --- a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountFansController.java +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountFansController.java @@ -34,7 +34,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @AllArgsConstructor -@RequestMapping("/wxaccountfans") +@RequestMapping("/wx-account-fans") public class WxAccountFansController { private final WxAccountFansService wxAccountFansService; diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountTagController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountTagController.java new file mode 100644 index 000000000..4f2aeb724 --- /dev/null +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAccountTagController.java @@ -0,0 +1,76 @@ +package com.pig4cloud.pigx.mp.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.mp.entity.WxAccountTag; +import com.pig4cloud.pigx.mp.entity.WxAutoReply; +import com.pig4cloud.pigx.mp.service.WxAccountTagService; +import lombok.AllArgsConstructor; +import org.apache.ibatis.annotations.Delete; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 微信账户标签 + * + * @author lishangbu + * @date 2021/12/31 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/wx-account-tag") +public class WxAccountTagController { + + private final WxAccountTagService wxAccountTagService; + + /** + * 分页查询 + * @param page 分页对象 + * @param wxAccountTag 账户标签查询条件 + * @return + */ + @GetMapping("/page") + public R> getWxAccountTagPage(Page page, WxAccountTag wxAccountTag) { + return R.ok(wxAccountTagService.page(page, Wrappers.query(wxAccountTag))); + } + + /** + * 列表查询 + * @param wxAccountTag 账户标签查询条件 + * @return + */ + @GetMapping("/list") + public R> listWxAccountTags(WxAccountTag wxAccountTag) { + return R.ok(wxAccountTagService.list(Wrappers.query(wxAccountTag))); + } + + /** + * 保存账户标签 + * @param wxAccountTag 待保存的账户标签 + * @return 包含保存成功后的账户标签的API调用结果 + */ + @PostMapping + public R saveAccountTag(@RequestBody @Valid WxAccountTag wxAccountTag) { + return R.ok(wxAccountTagService.saveAccountTag(wxAccountTag)); + } + + /** + * 修改账户标签 + * @param wxAccountTag 待修改的账户标签 + * @return 包含修改成功后的账户标签的API调用结果 + */ + @PutMapping + public R updateAccountTag(@RequestBody @Valid WxAccountTag wxAccountTag) { + return R.ok(wxAccountTagService.updateAccountTag(wxAccountTag)); + } + + @DeleteMapping("/{id:\\d+}") + public R removeAccountTagById(@PathVariable Long id) { + return R.ok(wxAccountTagService.removeAccountTagById(id)); + } + +} diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAutoReplyController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAutoReplyController.java index e22fc177c..3be42cb7a 100644 --- a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAutoReplyController.java +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxAutoReplyController.java @@ -21,7 +21,7 @@ import java.util.List; */ @RestController @AllArgsConstructor -@RequestMapping("/wxautoreply") +@RequestMapping("/wx-auto-reply") public class WxAutoReplyController { private final WxAutoReplyService wxAutoReplyService; diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxFansMsgController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxFansMsgController.java index 864f428d7..142eae7a0 100755 --- a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxFansMsgController.java +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxFansMsgController.java @@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.*; @Slf4j @RestController @AllArgsConstructor -@RequestMapping("/wxfansmsg") +@RequestMapping("/wx-fans-msg") public class WxFansMsgController { private final WxMsgService wxMsgService; diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMaterialController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMaterialController.java index 7a9eb2a48..1d63352f3 100644 --- a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMaterialController.java +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMaterialController.java @@ -38,7 +38,7 @@ import java.util.Map; @Slf4j @RestController @AllArgsConstructor -@RequestMapping("/wxmaterial") +@RequestMapping("/wx-material") public class WxMaterialController { /** diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMenuController.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMenuController.java index 0c40b73ed..3fd23bc0c 100755 --- a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMenuController.java +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/controller/WxMenuController.java @@ -32,7 +32,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @AllArgsConstructor -@RequestMapping("/wxmenu") +@RequestMapping("/wx-menu") public class WxMenuController { private final WxMenuService wxMenuService; diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/entity/WxAccountTag.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/entity/WxAccountTag.java new file mode 100644 index 000000000..acc42154f --- /dev/null +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/entity/WxAccountTag.java @@ -0,0 +1,36 @@ +package com.pig4cloud.pigx.mp.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.pig4cloud.pigx.common.data.mybatis.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +/** + * 微信公众号账号标签 + * + * @author lishangbu + * @date 2021/12/31 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class WxAccountTag extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** + * 标签 + */ + @NotBlank(message = "标签不能为空") + private String tag; + +} diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/mapper/WxAccountTagMapper.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/mapper/WxAccountTagMapper.java new file mode 100755 index 000000000..18a7a96e7 --- /dev/null +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/mapper/WxAccountTagMapper.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ +package com.pig4cloud.pigx.mp.mapper; + +import com.pig4cloud.pigx.common.data.datascope.PigxBaseMapper; +import com.pig4cloud.pigx.mp.entity.WxAccount; +import com.pig4cloud.pigx.mp.entity.WxAccountTag; +import org.apache.ibatis.annotations.Mapper; + +/** + * 公众号账户 + * + * @author lengleng + * @date 2019-03-26 22:07:53 + */ +@Mapper +public interface WxAccountTagMapper extends PigxBaseMapper { + +} diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/service/WxAccountTagService.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/service/WxAccountTagService.java new file mode 100644 index 000000000..e2669527b --- /dev/null +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/service/WxAccountTagService.java @@ -0,0 +1,37 @@ +package com.pig4cloud.pigx.mp.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.pig4cloud.pigx.mp.entity.WxAccountTag; + +/** + * 微信账户标签服务 + * + * @author lishangbu + * @date 2021/12/31 + */ +public interface WxAccountTagService extends IService { + + /** + * 保存账户标签 + * @param accountTag 账户标签 + * @return 保存成功后的账户标签 + */ + WxAccountTag saveAccountTag(WxAccountTag accountTag); + + /** + * 更新账户标签 + * @param accountTag 待更新的账户标签 + * @return 修改成功后的账户标签 + */ + WxAccountTag updateAccountTag(WxAccountTag accountTag); + + /** + * 删除账户标签 + * @param id 待删除的账户标签主键 + * @return 删除成功返回true,删除失败返回false + */ + Boolean removeAccountTagById(Long id); + +} diff --git a/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/service/impl/WxAccountTagServiceImpl.java b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/service/impl/WxAccountTagServiceImpl.java new file mode 100644 index 000000000..24e302c64 --- /dev/null +++ b/pigx-visual/pigx-mp-platform/src/main/java/com/pig4cloud/pigx/mp/service/impl/WxAccountTagServiceImpl.java @@ -0,0 +1,57 @@ +package com.pig4cloud.pigx.mp.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.pig4cloud.pigx.mp.entity.WxAccountTag; +import com.pig4cloud.pigx.mp.mapper.WxAccountTagMapper; +import com.pig4cloud.pigx.mp.service.WxAccountTagService; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +/** + * 微信账户标签服务实现类 + * + * @author lishangbu + * @date 2021/12/31 + */ +@Service +public class WxAccountTagServiceImpl extends ServiceImpl + implements WxAccountTagService { + + /** + * 保存账户标签 + * @param accountTag 账户标签 + * @return 保存成功true保存失败false + */ + @Override + public WxAccountTag saveAccountTag(WxAccountTag accountTag) { + WxAccountTag wxAccountTag = baseMapper + .selectOne(Wrappers.lambdaQuery().eq(WxAccountTag::getTag, accountTag.getTag())); + Assert.isNull(wxAccountTag, StrUtil.format("名称为[{}]的标签已经存在", accountTag.getTag())); + baseMapper.insert(accountTag); + return accountTag; + } + + /** + * 更新账户标签 + * @param accountTag 待更新的账户标签 + * @return + */ + @Override + public WxAccountTag updateAccountTag(WxAccountTag accountTag) { + WxAccountTag wxAccountTag = baseMapper.selectOne(Wrappers.lambdaQuery() + .eq(WxAccountTag::getTag, accountTag.getTag()).ne(WxAccountTag::getId, accountTag.getId())); + Assert.isNull(wxAccountTag, StrUtil.format("名称为[{}]的标签已经存在", accountTag.getTag())); + baseMapper.updateById(accountTag); + return accountTag; + } + + @Override + public Boolean removeAccountTagById(Long id) { + WxAccountTag wxAccountTag = baseMapper.selectById(id); + Assert.notNull(wxAccountTag, "要删除的标签不存在"); + return removeById(wxAccountTag.getId()); + } + +}