mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	fix(粉丝标签管理): 增、删、改、查
This commit is contained in:
		| @@ -10,8 +10,8 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; | ||||
| public interface ErrorCodeConstants { | ||||
|  | ||||
|     // ========== 用户相关  1004001000============ | ||||
|     ErrorCode WX_ACCOUNT_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); | ||||
|     ErrorCode WX_ACCOUNT_FANS_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); | ||||
|     ErrorCode COMMON_NOT_EXISTS = new ErrorCode(1004001000, "用户不存在"); | ||||
|     ErrorCode WX_ACCOUNT_NOT_EXISTS = new ErrorCode(1004001000, "公众号账户不存在"); | ||||
|     ErrorCode WX_ACCOUNT_FANS_NOT_EXISTS = new ErrorCode(1004001001, "粉丝账号不存在"); | ||||
|     ErrorCode COMMON_NOT_EXISTS = new ErrorCode(1004001002, "用户不存在"); | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -8,8 +8,8 @@ import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.*; | ||||
| import cn.iocoder.yudao.module.mp.convert.fanstag.WxFansTagConvert; | ||||
| import cn.iocoder.yudao.module.mp.service.tag.FansTagService; | ||||
| import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiOperation; | ||||
| import me.chanjar.weixin.common.error.WxErrorException; | ||||
| import me.chanjar.weixin.mp.bean.tag.WxUserTag; | ||||
| import org.springframework.security.access.prepost.PreAuthorize; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| @@ -18,8 +18,8 @@ import org.springframework.web.bind.annotation.*; | ||||
| import javax.annotation.Resource; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| import javax.validation.Valid; | ||||
| import javax.validation.constraints.NotEmpty; | ||||
| import java.io.IOException; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||
| @@ -30,7 +30,7 @@ import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.E | ||||
|  */ | ||||
| @Api(tags = "管理后台 - 粉丝标签") | ||||
| @RestController | ||||
| @RequestMapping("/wechat-mp/fans-tag") | ||||
| @RequestMapping("/wechatMp/fans-tag") | ||||
| @Validated | ||||
| public class FansTagController { | ||||
|  | ||||
| @@ -39,57 +39,53 @@ public class FansTagController { | ||||
|  | ||||
|     @PostMapping("/create") | ||||
|     @ApiOperation("创建粉丝标签") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:create')") | ||||
|     public CommonResult<WxUserTag> createWxFansTag(@Valid @RequestBody FansTagCreateReqVO createReqVO) { | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:create')") | ||||
|     public CommonResult<WxUserTag> createWxFansTag(@Valid @RequestBody FansTagCreateReqVO createReqVO) throws WxErrorException { | ||||
|         return success(fansTagService.createWxFansTag(createReqVO)); | ||||
|     } | ||||
|  | ||||
|     @PutMapping("/update") | ||||
|     @ApiOperation("更新粉丝标签") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:update')") | ||||
|     public CommonResult<Boolean> updateWxFansTag(@Valid @RequestBody FansTagUpdateReqVO updateReqVO) { | ||||
|         fansTagService.updateWxFansTag(updateReqVO); | ||||
|         return success(true); | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:update')") | ||||
|     public CommonResult<Boolean> updateWxFansTag(@Valid @RequestBody FansTagUpdateReqVO updateReqVO) throws WxErrorException { | ||||
|         return success(fansTagService.updateWxFansTag(updateReqVO)); | ||||
|     } | ||||
|  | ||||
|     @DeleteMapping("/delete") | ||||
|     @ApiOperation("删除粉丝标签") | ||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:delete')") | ||||
|     public CommonResult<Boolean> deleteWxFansTag(@RequestParam("id") Integer id) { | ||||
|         fansTagService.deleteWxFansTag(id); | ||||
|         return success(true); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/get") | ||||
|     @ApiOperation("获得粉丝标签") | ||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:query')") | ||||
|     public CommonResult<FansTagRespVO> getWxFansTag(@RequestParam("id") Integer id) { | ||||
|         WxUserTag wxFansTag = fansTagService.getWxFansTag(id); | ||||
|         return success(WxFansTagConvert.INSTANCE.convert(wxFansTag)); | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:delete')") | ||||
|     public CommonResult<Boolean> deleteWxFansTag(@RequestParam("id") Long id, | ||||
|                                                  @RequestParam("appId") String appId) throws WxErrorException { | ||||
|         return success(fansTagService.deleteWxFansTag(id, appId)); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/list") | ||||
|     @ApiOperation("获得粉丝标签列表") | ||||
|     @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:query')") | ||||
|     public CommonResult<List<FansTagRespVO>> getWxFansTagList(@RequestParam("ids") Collection<Integer> ids) { | ||||
|         List<WxUserTag> list = fansTagService.getWxFansTagList(ids); | ||||
|     @ApiOperation("获取公众号已创建的标签") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") | ||||
|     public CommonResult<List<FansTagRespVO>> getWxFansTagList(@NotEmpty(message = "公众号appId不能为空") | ||||
|                                                               @RequestParam("appId") String appId) throws WxErrorException { | ||||
|         List<WxUserTag> list = fansTagService.getWxFansTagList(appId); | ||||
|         return success(WxFansTagConvert.INSTANCE.convertList(list)); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/page") | ||||
|     @ApiOperation("获得粉丝标签分页") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:query')") | ||||
|     public CommonResult<PageResult<FansTagRespVO>> getWxFansTagPage(@Valid FansTagPageReqVO pageVO) { | ||||
|         PageResult<WxUserTag> pageResult = fansTagService.getWxFansTagPage(pageVO); | ||||
|         return success(WxFansTagConvert.INSTANCE.convertPage(pageResult)); | ||||
|     @ApiOperation("获取公众号已创建的标签") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") | ||||
|     public CommonResult<PageResult<FansTagRespVO>> page() throws WxErrorException { | ||||
|         PageResult<WxUserTag> page = new PageResult<>(); | ||||
|         return success(WxFansTagConvert.INSTANCE.convertPage(page)); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/tagListUser") | ||||
|     @ApiOperation("获取标签下粉丝列表") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:query')") | ||||
|     public CommonResult<String> tagListUser(@Valid FansTagPageReqVO pageVO) { | ||||
|         return success(""); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/export-excel") | ||||
|     @ApiOperation("导出粉丝标签 Excel") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:wx-fans-tag:export')") | ||||
|     @PreAuthorize("@ss.hasPermission('wechatMp:fans-tag:export')") | ||||
|     @OperateLog(type = EXPORT) | ||||
|     public void exportWxFansTagExcel(@Valid FansTagExportReqVO exportReqVO, | ||||
|                                      HttpServletResponse response) throws IOException { | ||||
|   | ||||
| @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
|  | ||||
| import javax.validation.constraints.NotBlank; | ||||
|  | ||||
| /** | ||||
|  * 粉丝标签 Base VO,提供给添加、修改、详细的子 VO 使用 | ||||
|  * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||||
| @@ -12,9 +14,7 @@ import lombok.Data; | ||||
| @Data | ||||
| public class FansTagBaseVO { | ||||
|  | ||||
|     @ApiModelProperty(value = "标签名,UTF8编码.") | ||||
|     @NotBlank(message = "标签名不能为空") | ||||
|     @ApiModelProperty(value = "标签名,UTF8编码") | ||||
|     private String name; | ||||
|  | ||||
|     @ApiModelProperty(value = "此标签下粉丝数") | ||||
|     private Integer count; | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,12 @@ | ||||
| package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||||
|  | ||||
| import lombok.*; | ||||
| import io.swagger.annotations.*; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | ||||
|  | ||||
| import javax.validation.constraints.NotBlank; | ||||
|  | ||||
| /** | ||||
|  * @author fengdan | ||||
| @@ -11,5 +16,7 @@ import io.swagger.annotations.*; | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @ToString(callSuper = true) | ||||
| public class FansTagCreateReqVO extends FansTagBaseVO { | ||||
|  | ||||
|     @NotBlank(message = "公众号appId不能为空") | ||||
|     @ApiModelProperty("微信公众号appId") | ||||
|     private String appId; | ||||
| } | ||||
|   | ||||
| @@ -1,36 +1,25 @@ | ||||
| package cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo; | ||||
|  | ||||
| import lombok.*; | ||||
|  | ||||
| import java.util.*; | ||||
|  | ||||
| import io.swagger.annotations.*; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||
| import org.springframework.format.annotation.DateTimeFormat; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||||
| import javax.validation.constraints.NotEmpty; | ||||
|  | ||||
| /** | ||||
|  * @author fengdan | ||||
|  */ | ||||
| @ApiModel("管理后台 - 粉丝标签分页 Request VO") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @ToString(callSuper = true) | ||||
| public class FansTagPageReqVO extends PageParam { | ||||
|  | ||||
|     @ApiModelProperty(value = "标签名称") | ||||
|     private String name; | ||||
|  | ||||
|     @ApiModelProperty(value = "粉丝数量") | ||||
|     private Integer count; | ||||
|  | ||||
|     @ApiModelProperty(value = "微信账号ID") | ||||
|     private String wxAccountId; | ||||
|  | ||||
|     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||||
|     @ApiModelProperty(value = "开始创建时间") | ||||
|     private Date beginCreateTime; | ||||
|  | ||||
|     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||||
|     @ApiModelProperty(value = "结束创建时间") | ||||
|     private Date endCreateTime; | ||||
|     @NotEmpty(message = "公众号appId不能为空") | ||||
|     @ApiModelProperty("微信公众号appId") | ||||
|     private String appId; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -5,14 +5,21 @@ import io.swagger.annotations.*; | ||||
|  | ||||
| import javax.validation.constraints.*; | ||||
|  | ||||
| /** | ||||
|  * @author fengdan | ||||
|  */ | ||||
| @ApiModel("管理后台 - 粉丝标签更新 Request VO") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @ToString(callSuper = true) | ||||
| public class FansTagUpdateReqVO extends FansTagBaseVO { | ||||
|  | ||||
|     @ApiModelProperty(value = "主键", required = true) | ||||
|     @ApiModelProperty(value = "标签id,由微信分配", required = true) | ||||
|     @NotNull(message = "主键不能为空") | ||||
|     private Integer id; | ||||
|     private Long id; | ||||
|  | ||||
|     @NotBlank(message = "公众号appId不能为空") | ||||
|     @ApiModelProperty("微信公众号appId") | ||||
|     private String appId; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -5,10 +5,10 @@ import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagCreateReqVO | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagExportReqVO; | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagPageReqVO; | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagUpdateReqVO; | ||||
| import me.chanjar.weixin.common.error.WxErrorException; | ||||
| import me.chanjar.weixin.mp.bean.tag.WxUserTag; | ||||
|  | ||||
| import javax.validation.Valid; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
| @@ -21,40 +21,39 @@ public interface FansTagService { | ||||
|     /** | ||||
|      * 创建粉丝标签 | ||||
|      * | ||||
|      * @param createReqVO 创建信息 | ||||
|      * @return 编号 | ||||
|      * @param createReqVO 创建标签信息 | ||||
|      * @return {@link WxUserTag}  用户标签对象 | ||||
|      * @throws WxErrorException 微信异常 | ||||
|      */ | ||||
|     WxUserTag createWxFansTag(@Valid FansTagCreateReqVO createReqVO); | ||||
|     WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) throws WxErrorException; | ||||
|  | ||||
|     /** | ||||
|      * 更新粉丝标签 | ||||
|      * | ||||
|      * @param updateReqVO 更新信息 | ||||
|      * @return {@link         Boolean} | ||||
|      * @throws WxErrorException 微信异常 | ||||
|      */ | ||||
|     void updateWxFansTag(@Valid FansTagUpdateReqVO updateReqVO); | ||||
|     Boolean updateWxFansTag(@Valid FansTagUpdateReqVO updateReqVO) throws WxErrorException; | ||||
|  | ||||
|     /** | ||||
|      * 删除粉丝标签 | ||||
|      * | ||||
|      * @param id    编号 | ||||
|      * @param appId 公众号appId | ||||
|      * @return {@link         Boolean} | ||||
|      * @throws WxErrorException 微信异常 | ||||
|      */ | ||||
|     void deleteWxFansTag(Integer id); | ||||
|     Boolean deleteWxFansTag(Long id, String appId) throws WxErrorException; | ||||
|  | ||||
|     /** | ||||
|      * 获得粉丝标签 | ||||
|      * 获取公众号已创建的标签 | ||||
|      * | ||||
|      * @param id 编号 | ||||
|      * @return 粉丝标签 | ||||
|      */ | ||||
|     WxUserTag getWxFansTag(Integer id); | ||||
|  | ||||
|     /** | ||||
|      * 获得粉丝标签列表 | ||||
|      * | ||||
|      * @param ids 编号 | ||||
|      * @param appId 公众号appId | ||||
|      * @return 粉丝标签列表 | ||||
|      * @throws WxErrorException 微信异常 | ||||
|      */ | ||||
|     List<WxUserTag> getWxFansTagList(Collection<Integer> ids); | ||||
|     List<WxUserTag> getWxFansTagList(String appId) throws WxErrorException; | ||||
|  | ||||
|     /** | ||||
|      * 获得粉丝标签分页 | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| package cn.iocoder.yudao.module.mp.service.tag; | ||||
|  | ||||
| import cn.hutool.core.util.ReUtil; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagCreateReqVO; | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagExportReqVO; | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagPageReqVO; | ||||
| import cn.iocoder.yudao.module.mp.controller.admin.fanstag.vo.FansTagUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.mp.convert.fanstag.WxFansTagConvert; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import me.chanjar.weixin.common.error.WxErrorException; | ||||
| import me.chanjar.weixin.mp.api.WxMpService; | ||||
| @@ -14,7 +14,6 @@ import org.springframework.stereotype.Service; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
| @@ -26,42 +25,33 @@ import java.util.List; | ||||
| @Service | ||||
| @Validated | ||||
| public class FansTagServiceImpl implements FansTagService { | ||||
|  | ||||
|     @Resource | ||||
|     private WxMpService wxMpService; | ||||
|  | ||||
|     @Override | ||||
|     public WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) { | ||||
|         try { | ||||
|             return wxMpService.getUserTagService().tagCreate("wxFansTag"); | ||||
|         } catch (WxErrorException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|     public WxUserTag createWxFansTag(FansTagCreateReqVO createReqVO) throws WxErrorException { | ||||
|         // TODO 切换公众号操作 调整为 aop 或者 过滤器\拦截器 处理 | ||||
|         wxMpService.switchover(createReqVO.getAppId()); | ||||
|         return wxMpService.getUserTagService().tagCreate(createReqVO.getName()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void updateWxFansTag(FansTagUpdateReqVO updateReqVO) { | ||||
|         // 校验存在 | ||||
|         // 更新 | ||||
|         WxUserTag updateObj = WxFansTagConvert.INSTANCE.convert(updateReqVO); | ||||
|  | ||||
|     public Boolean updateWxFansTag(FansTagUpdateReqVO updateReqVO) throws WxErrorException { | ||||
|         wxMpService.switchover(updateReqVO.getAppId()); | ||||
|         return wxMpService.getUserTagService().tagUpdate(updateReqVO.getId(), updateReqVO.getName()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void deleteWxFansTag(Integer id) { | ||||
|         // 校验存在 | ||||
|         // 删除 | ||||
|     public Boolean deleteWxFansTag(Long id, String appId) throws WxErrorException { | ||||
|         wxMpService.switchover(appId); | ||||
|         return wxMpService.getUserTagService().tagDelete(id); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public WxUserTag getWxFansTag(Integer id) { | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public List<WxUserTag> getWxFansTagList(Collection<Integer> ids) { | ||||
|         return null; | ||||
|     public List<WxUserTag> getWxFansTagList(String appId) throws WxErrorException { | ||||
|         wxMpService.switchover(appId); | ||||
|         return wxMpService.getUserTagService().tagGet(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|   | ||||
| @@ -3,7 +3,7 @@ import request from '@/utils/request' | ||||
| // 创建粉丝标签 | ||||
| export function createWxFansTag(data) { | ||||
|   return request({ | ||||
|     url: '/wechatMp/wx-fans-tag/create', | ||||
|     url: '/wechatMp/fans-tag/create', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| @@ -12,7 +12,7 @@ export function createWxFansTag(data) { | ||||
| // 更新粉丝标签 | ||||
| export function updateWxFansTag(data) { | ||||
|   return request({ | ||||
|     url: '/wechatMp/wx-fans-tag/update', | ||||
|     url: '/wechatMp/fans-tag/update', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| @@ -21,7 +21,7 @@ export function updateWxFansTag(data) { | ||||
| // 删除粉丝标签 | ||||
| export function deleteWxFansTag(id) { | ||||
|   return request({ | ||||
|     url: '/wechatMp/wx-fans-tag/delete?id=' + id, | ||||
|     url: '/wechatMp/fans-tag/delete?id=' + id, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @@ -29,15 +29,15 @@ export function deleteWxFansTag(id) { | ||||
| // 获得粉丝标签 | ||||
| export function getWxFansTag(id) { | ||||
|   return request({ | ||||
|     url: '/wechatMp/wx-fans-tag/get?id=' + id, | ||||
|     url: '/wechatMp/fans-tag/get?id=' + id, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
|  | ||||
| // 获得粉丝标签分页 | ||||
| export function getWxFansTagPage(query) { | ||||
| export function getWxFansTagList(query) { | ||||
|   return request({ | ||||
|     url: '/wechatMp/wx-fans-tag/page', | ||||
|     url: '/wechatMp/fans-tag/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| @@ -46,7 +46,7 @@ export function getWxFansTagPage(query) { | ||||
| // 导出粉丝标签 Excel | ||||
| export function exportWxFansTagExcel(query) { | ||||
|   return request({ | ||||
|     url: '/wechatMp/wx-fans-tag/export-excel', | ||||
|     url: '/wechatMp/fans-tag/export-excel', | ||||
|     method: 'get', | ||||
|     params: query, | ||||
|     responseType: 'blob' | ||||
|   | ||||
| @@ -6,17 +6,7 @@ | ||||
|       <el-form-item label="标签名称" prop="name"> | ||||
|         <el-input v-model="queryParams.name" placeholder="请输入标签名称" clearable @keyup.enter.native="handleQuery"/> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="粉丝数量" prop="count"> | ||||
|         <el-input v-model="queryParams.count" placeholder="请输入粉丝数量" clearable @keyup.enter.native="handleQuery"/> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="微信账号ID" prop="wxAccountId"> | ||||
|         <el-input v-model="queryParams.wxAccountId" placeholder="请输入微信账号ID" clearable | ||||
|                   @keyup.enter.native="handleQuery"/> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="创建时间"> | ||||
|         <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" | ||||
|                         type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"/> | ||||
|       </el-form-item> | ||||
|  | ||||
|       <el-form-item> | ||||
|         <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> | ||||
|         <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> | ||||
| @@ -27,36 +17,43 @@ | ||||
|     <el-row :gutter="10" class="mb8"> | ||||
|       <el-col :span="1.5"> | ||||
|         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" | ||||
|                    v-hasPermi="['wechatMp:wx-fans-tag:create']">新增 | ||||
|                    v-hasPermi="['wechatMp:fans-tag:create']">新增 | ||||
|         </el-button> | ||||
|       </el-col> | ||||
|       <el-col :span="1.5"> | ||||
|         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" | ||||
|                    :loading="exportLoading" | ||||
|                    v-hasPermi="['wechatMp:wx-fans-tag:export']">导出 | ||||
|                    v-hasPermi="['wechatMp:fans-tag:export']">导出 | ||||
|         </el-button> | ||||
|       </el-col> | ||||
|       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | ||||
|     </el-row> | ||||
|     <div style="display: flex;width: auto"> | ||||
|       <div class="left_column" style="border: 1px solid #EBEEF5FF; width: 15%;height: auto"> | ||||
|         <div style="padding: 10px 20px; border-bottom: 1px solid #ebeef5; box-sizing: border-box;"><span | ||||
|           style="font-size: 16px">公众号名称</span></div> | ||||
|  | ||||
|         <div style="margin-top: 10px;margin-right: 5px;margin-left: 5px"> | ||||
|           <input type="text" placeholder="输入关键字进行过滤" | ||||
|                  class="el-input__inner"/> | ||||
|         </div> | ||||
|  | ||||
|         <div style="margin-top: 10px;margin-right: 5px;margin-left: 5px"> | ||||
|           <div style="margin-right: 5px;margin-left: 5px" v-for="(account,index) in accountList" @click="getAccountTag(account.appId)">{{ account.name }}</div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="right_column" style="width: 85%"> | ||||
|         <!-- 列表 --> | ||||
|         <el-table v-loading="loading" :data="list"> | ||||
|       <el-table-column label="主键" align="center" prop="id"/> | ||||
|           <el-table-column label="编号" align="center" prop="id"/> | ||||
|           <el-table-column label="标签名称" align="center" prop="name"/> | ||||
|       <el-table-column label="粉丝数量" align="center" prop="count"/> | ||||
|       <el-table-column label="微信账号ID" align="center" prop="wxAccountId"/> | ||||
|       <el-table-column label="创建时间" align="center" prop="createTime" width="180"> | ||||
|         <template slot-scope="scope"> | ||||
|           <span>{{ parseTime(scope.row.createTime) }}</span> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|           <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||
|             <template slot-scope="scope"> | ||||
|               <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" | ||||
|                      v-hasPermi="['wechatMp:wx-fans-tag:update']">修改 | ||||
|                          v-hasPermi="['wechatMp:fans-tag:update']">修改 | ||||
|               </el-button> | ||||
|               <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" | ||||
|                      v-hasPermi="['wechatMp:wx-fans-tag:delete']">删除 | ||||
|                          v-hasPermi="['wechatMp:fans-tag:delete']">删除 | ||||
|               </el-button> | ||||
|             </template> | ||||
|           </el-table-column> | ||||
| @@ -65,6 +62,10 @@ | ||||
|         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" | ||||
|                     @pagination="getList"/> | ||||
|  | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|     <!-- 对话框(添加 / 修改) --> | ||||
|     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> | ||||
|       <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||||
| @@ -86,18 +87,27 @@ | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <style> | ||||
| .left_column { | ||||
|   height: 100%; | ||||
|   position: relative; | ||||
|   overflow: auto; | ||||
| } | ||||
| </style> | ||||
|  | ||||
| <script> | ||||
| import { | ||||
|   createWxFansTag, | ||||
|     updateWxFansTag, | ||||
|   deleteWxFansTag, | ||||
|   exportWxFansTagExcel, | ||||
|   getWxFansTag, | ||||
|     getWxFansTagPage, | ||||
|     exportWxFansTagExcel | ||||
|   } from "@/api/wechatMp/wxFansTag"; | ||||
|   getWxFansTagList, | ||||
|   updateWxFansTag | ||||
| } from '@/api/wechatMp/wxFansTag' | ||||
| import {getAccountPage} from '@/api/wechatMp/wxAccount' | ||||
|  | ||||
| export default { | ||||
|     name: "WxFansTag", | ||||
|   name: 'WxFansTag', | ||||
|   components: {}, | ||||
|   data() { | ||||
|     return { | ||||
| @@ -111,135 +121,145 @@ | ||||
|       total: 0, | ||||
|       // 粉丝标签列表 | ||||
|       list: [], | ||||
|       // 账号列表 | ||||
|       accountList: [], | ||||
|       // 弹出层标题 | ||||
|         title: "", | ||||
|       title: '', | ||||
|       // 是否显示弹出层 | ||||
|       open: false, | ||||
|       dateRangeCreateTime: [], | ||||
|       // 查询参数 | ||||
|       queryParams: { | ||||
|           pageNo: 1, | ||||
|           pageSize: 10, | ||||
|           name: null, | ||||
|           count: null, | ||||
|           wxAccountId: null, | ||||
|         appId: null, | ||||
|       }, | ||||
|       // 表单参数 | ||||
|       form: {}, | ||||
|       // 表单校验 | ||||
|       rules: {} | ||||
|       }; | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|       this.getList(); | ||||
|     this.getAccountList() | ||||
|   }, | ||||
|   methods: { | ||||
|     /** 查询列表 */ | ||||
|       getList() { | ||||
|         this.loading = true; | ||||
|     getList(appId) { | ||||
|       this.loading = false | ||||
|       this.queryParams.appId = appId | ||||
|       // 处理查询参数 | ||||
|         let params = {...this.queryParams}; | ||||
|         this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); | ||||
|       let params = {...this.queryParams} | ||||
|       // 执行查询 | ||||
|         getWxFansTagPage(params).then(response => { | ||||
|           this.list = response.data.list; | ||||
|           this.total = response.data.total; | ||||
|           this.loading = false; | ||||
|         }); | ||||
|       getWxFansTagList(params).then(response => { | ||||
|         this.list = response.data | ||||
|         this.loading = false | ||||
|       }) | ||||
|     }, | ||||
|     /** 查询列表 */ | ||||
|     getAccountList() { | ||||
|       // 执行查询 | ||||
|       getAccountPage().then(response => { | ||||
|         this.accountList = response.data.list | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * 获取帐户标签 | ||||
|      * @param appId 公众号appId | ||||
|      */ | ||||
|     getAccountTag(appId) { | ||||
|       this.getList(appId) | ||||
|     }, | ||||
|  | ||||
|     /** 取消按钮 */ | ||||
|     cancel() { | ||||
|         this.open = false; | ||||
|         this.reset(); | ||||
|       this.open = false | ||||
|       this.reset() | ||||
|     }, | ||||
|     /** 表单重置 */ | ||||
|     reset() { | ||||
|       this.form = { | ||||
|           id: undefined, | ||||
|           name: undefined, | ||||
|           count: undefined, | ||||
|           wxAccountId: undefined, | ||||
|         }; | ||||
|         this.resetForm("form"); | ||||
|         appId: undefined, | ||||
|       } | ||||
|       this.resetForm('form') | ||||
|     }, | ||||
|     /** 搜索按钮操作 */ | ||||
|     handleQuery() { | ||||
|         this.queryParams.pageNo = 1; | ||||
|         this.getList(); | ||||
|       this.queryParams.pageNo = 1 | ||||
|       this.getList() | ||||
|     }, | ||||
|     /** 重置按钮操作 */ | ||||
|     resetQuery() { | ||||
|         this.dateRangeCreateTime = []; | ||||
|         this.resetForm("queryForm"); | ||||
|         this.handleQuery(); | ||||
|       this.dateRangeCreateTime = [] | ||||
|       this.resetForm('queryForm') | ||||
|       this.handleQuery() | ||||
|     }, | ||||
|     /** 新增按钮操作 */ | ||||
|     handleAdd() { | ||||
|         this.reset(); | ||||
|         this.open = true; | ||||
|         this.title = "添加粉丝标签"; | ||||
|       this.reset() | ||||
|       this.open = true | ||||
|       this.title = '添加粉丝标签' | ||||
|     }, | ||||
|     /** 修改按钮操作 */ | ||||
|     handleUpdate(row) { | ||||
|         this.reset(); | ||||
|         const id = row.id; | ||||
|       this.reset() | ||||
|       const id = row.id | ||||
|       getWxFansTag(id).then(response => { | ||||
|           this.form = response.data; | ||||
|           this.open = true; | ||||
|           this.title = "修改粉丝标签"; | ||||
|         }); | ||||
|         this.form = response.data | ||||
|         this.open = true | ||||
|         this.title = '修改粉丝标签' | ||||
|       }) | ||||
|     }, | ||||
|     /** 提交按钮 */ | ||||
|     submitForm() { | ||||
|         this.$refs["form"].validate(valid => { | ||||
|       this.$refs['form'].validate(valid => { | ||||
|         if (!valid) { | ||||
|             return; | ||||
|           return | ||||
|         } | ||||
|         // 修改的提交 | ||||
|         if (this.form.id != null) { | ||||
|           updateWxFansTag(this.form).then(response => { | ||||
|               this.$modal.msgSuccess("修改成功"); | ||||
|               this.open = false; | ||||
|               this.getList(); | ||||
|             }); | ||||
|             return; | ||||
|             this.$modal.msgSuccess('修改成功') | ||||
|             this.open = false | ||||
|             this.getList() | ||||
|           }) | ||||
|           return | ||||
|         } | ||||
|         // 添加的提交 | ||||
|         createWxFansTag(this.form).then(response => { | ||||
|             this.$modal.msgSuccess("新增成功"); | ||||
|             this.open = false; | ||||
|             this.getList(); | ||||
|           }); | ||||
|         }); | ||||
|           this.$modal.msgSuccess('新增成功') | ||||
|           this.open = false | ||||
|           this.getList() | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     /** 删除按钮操作 */ | ||||
|     handleDelete(row) { | ||||
|         const id = row.id; | ||||
|       const id = row.id | ||||
|       this.$modal.confirm('是否确认删除粉丝标签编号为"' + id + '"的数据项?').then(function () { | ||||
|           return deleteWxFansTag(id); | ||||
|         return deleteWxFansTag(id) | ||||
|       }).then(() => { | ||||
|           this.getList(); | ||||
|           this.$modal.msgSuccess("删除成功"); | ||||
|         this.getList() | ||||
|         this.$modal.msgSuccess('删除成功') | ||||
|       }).catch(() => { | ||||
|         }); | ||||
|       }) | ||||
|     }, | ||||
|     /** 导出按钮操作 */ | ||||
|     handleExport() { | ||||
|       // 处理查询参数 | ||||
|         let params = {...this.queryParams}; | ||||
|         params.pageNo = undefined; | ||||
|         params.pageSize = undefined; | ||||
|         this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); | ||||
|       let params = {...this.queryParams} | ||||
|       params.pageNo = undefined | ||||
|       params.pageSize = undefined | ||||
|       this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime') | ||||
|       // 执行导出 | ||||
|       this.$modal.confirm('是否确认导出所有粉丝标签数据项?').then(() => { | ||||
|           this.exportLoading = true; | ||||
|           return exportWxFansTagExcel(params); | ||||
|         this.exportLoading = true | ||||
|         return exportWxFansTagExcel(params) | ||||
|       }).then(response => { | ||||
|           this.$download.excel(response, '粉丝标签.xls'); | ||||
|           this.exportLoading = false; | ||||
|         this.$download.excel(response, '粉丝标签.xls') | ||||
|         this.exportLoading = false | ||||
|       }).catch(() => { | ||||
|         }); | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   }; | ||||
| </script> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 fengdan
					fengdan