微信代码自动生成

pull/1/head
zhaochencheng 3 years ago
parent a920a3899b
commit 807e24ff96

@ -0,0 +1,93 @@
package com.cyl.ums.controller;
import java.util.List;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity;
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.enums.BusinessType;
import com.cyl.ums.convert.MemberWechatConvert;
import com.cyl.ums.domain.MemberWechat;
import com.cyl.ums.pojo.query.MemberWechatQuery;
import com.cyl.ums.service.MemberWechatService;
import com.cyl.ums.pojo.vo.MemberWechatVO;
import com.ruoyi.common.utils.poi.ExcelUtil;
/**
* Controller
*
* @author zcc
* @date 2022-11-28
*/
@Api(description ="用户微信信息接口列表")
@RestController
@RequestMapping("/ums/memberWechat")
public class MemberWechatController extends BaseController {
@Autowired
private MemberWechatService service;
@Autowired
private MemberWechatConvert convert;
@ApiOperation("查询用户微信信息列表")
@PreAuthorize("@ss.hasPermi('ums:memberWechat:list')")
@PostMapping("/list")
public ResponseEntity<Page<MemberWechat>> list(@RequestBody MemberWechatQuery query, Pageable page) {
List<MemberWechat> list = service.selectList(query, page);
return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
}
@ApiOperation("导出用户微信信息列表")
@PreAuthorize("@ss.hasPermi('ums:memberWechat:export')")
@Log(title = "用户微信信息", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public ResponseEntity<String> export(MemberWechatQuery query) {
List<MemberWechat> list = service.selectList(query, null);
ExcelUtil<MemberWechatVO> util = new ExcelUtil<>(MemberWechatVO.class);
return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "用户微信信息数据"));
}
@ApiOperation("获取用户微信信息详细信息")
@PreAuthorize("@ss.hasPermi('ums:memberWechat:query')")
@GetMapping(value = "/{id}")
public ResponseEntity<MemberWechat> getInfo(@PathVariable("id") Long id) {
return ResponseEntity.ok(service.selectById(id));
}
@ApiOperation("新增用户微信信息")
@PreAuthorize("@ss.hasPermi('ums:memberWechat:add')")
@Log(title = "用户微信信息", businessType = BusinessType.INSERT)
@PostMapping
public ResponseEntity<Integer> add(@RequestBody MemberWechat memberWechat) {
return ResponseEntity.ok(service.insert(memberWechat));
}
@ApiOperation("修改用户微信信息")
@PreAuthorize("@ss.hasPermi('ums:memberWechat:edit')")
@Log(title = "用户微信信息", businessType = BusinessType.UPDATE)
@PutMapping
public ResponseEntity<Integer> edit(@RequestBody MemberWechat memberWechat) {
return ResponseEntity.ok(service.update(memberWechat));
}
@ApiOperation("删除用户微信信息")
@PreAuthorize("@ss.hasPermi('ums:memberWechat:remove')")
@Log(title = "用户微信信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public ResponseEntity<Integer> remove(@PathVariable Long[] ids) {
return ResponseEntity.ok(service.deleteByIds(ids));
}
}

@ -0,0 +1,16 @@
package com.cyl.ums.convert;
import org.mapstruct.Mapper;
import com.cyl.ums.domain.MemberWechat;
import com.cyl.ums.pojo.vo.MemberWechatVO;
import java.util.List;
/**
* DO <=> DTO <=> VO / BO / Query
*
* @author zcc
*/
@Mapper(componentModel = "spring")
public interface MemberWechatConvert {
List<MemberWechatVO> dos2vos(List<MemberWechat> list);
}

@ -0,0 +1,81 @@
package com.cyl.ums.domain;
import java.time.LocalDateTime;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
/**
* ums_member_wechat
*
* @author zcc
*/
@ApiModel(description="用户微信信息对象")
@Data
@TableName("ums_member_wechat")
public class MemberWechat {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
private Long id;
@ApiModelProperty("MEMBER_ID")
@Excel(name = "MEMBER_ID")
private Long memberId;
@ApiModelProperty("只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段")
@Excel(name = "只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段")
private String unionid;
@ApiModelProperty("用户的标识,对当前公众号唯一")
@Excel(name = "用户的标识,对当前公众号唯一")
private String openid;
@ApiModelProperty("小程序唯一身份ID")
@Excel(name = "小程序唯一身份ID")
private String routineOpenid;
@ApiModelProperty("用户所在的分组ID兼容旧的用户分组接口")
@Excel(name = "用户所在的分组ID", readConverterExp = "兼=容旧的用户分组接口")
private Integer groupid;
@ApiModelProperty("用户被打上的标签ID列表")
@Excel(name = "用户被打上的标签ID列表")
private String tagidList;
@ApiModelProperty("用户是否订阅该公众号标识")
@Excel(name = "用户是否订阅该公众号标识")
private Integer subscribe;
@ApiModelProperty("关注公众号时间")
@Excel(name = "关注公众号时间")
private Integer subscribeTime;
@ApiModelProperty("小程序用户会话密匙")
@Excel(name = "小程序用户会话密匙")
private String sessionKey;
@ApiModelProperty("token")
@Excel(name = "token")
private String accessToken;
@ApiModelProperty("过期时间")
@Excel(name = "过期时间")
private Integer expiresIn;
@ApiModelProperty("刷新token")
@Excel(name = "刷新token")
private String refreshToken;
@ApiModelProperty("过期时间")
@Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime expireTime;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("修改时间")
private LocalDateTime updateTime;
}

@ -0,0 +1,28 @@
package com.cyl.ums.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import com.cyl.ums.domain.MemberWechat;
/**
* Mapper
*
* @author zcc
*/
public interface MemberWechatMapper extends BaseMapper<MemberWechat> {
/**
*
*
* @param memberWechat
* @return
*/
List<MemberWechat> selectByEntity(MemberWechat memberWechat);
/**
*
* @param ids
* @return
*/
int updateDelFlagByIds(@Param("ids") Long[] ids);
}

@ -0,0 +1,55 @@
package com.cyl.ums.pojo.query;
import java.time.LocalDateTime;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
*
*
* @author zcc
*/
@ApiModel(description="用户微信信息 查询 对象")
@Data
public class MemberWechatQuery {
@ApiModelProperty("MEMBER_ID 精确匹配")
private Long memberId;
@ApiModelProperty("只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段 精确匹配")
private String unionid;
@ApiModelProperty("用户的标识,对当前公众号唯一 精确匹配")
private String openid;
@ApiModelProperty("小程序唯一身份ID 精确匹配")
private String routineOpenid;
@ApiModelProperty("用户所在的分组ID兼容旧的用户分组接口 精确匹配")
private Integer groupid;
@ApiModelProperty("用户被打上的标签ID列表 精确匹配")
private String tagidList;
@ApiModelProperty("用户是否订阅该公众号标识 精确匹配")
private Integer subscribe;
@ApiModelProperty("关注公众号时间 精确匹配")
private Integer subscribeTime;
@ApiModelProperty("小程序用户会话密匙 精确匹配")
private String sessionKey;
@ApiModelProperty("token 精确匹配")
private String accessToken;
@ApiModelProperty("过期时间 精确匹配")
private Integer expiresIn;
@ApiModelProperty("刷新token 精确匹配")
private String refreshToken;
@ApiModelProperty("过期时间 精确匹配")
private LocalDateTime expireTime;
}

@ -0,0 +1,60 @@
package com.cyl.ums.pojo.vo;
import java.time.LocalDateTime;
import com.ruoyi.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
/**
*
*
* @author zcc
*/
@Data
public class MemberWechatVO {
/** ID */
private Long id;
/** MEMBER_ID */
@Excel(name = "MEMBER_ID")
private Long memberId;
/** 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段 */
@Excel(name = "只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段")
private String unionid;
/** 用户的标识,对当前公众号唯一 */
@Excel(name = "用户的标识,对当前公众号唯一")
private String openid;
/** 小程序唯一身份ID */
@Excel(name = "小程序唯一身份ID")
private String routineOpenid;
/** 用户所在的分组ID兼容旧的用户分组接口 */
@Excel(name = "用户所在的分组ID", readConverterExp = "兼=容旧的用户分组接口")
private Integer groupid;
/** 用户被打上的标签ID列表 */
@Excel(name = "用户被打上的标签ID列表")
private String tagidList;
/** 用户是否订阅该公众号标识 */
@Excel(name = "用户是否订阅该公众号标识")
private Integer subscribe;
/** 关注公众号时间 */
@Excel(name = "关注公众号时间")
private Integer subscribeTime;
/** 小程序用户会话密匙 */
@Excel(name = "小程序用户会话密匙")
private String sessionKey;
/** token */
@Excel(name = "token")
private String accessToken;
/** 过期时间 */
@Excel(name = "过期时间")
private Integer expiresIn;
/** 刷新token */
@Excel(name = "刷新token")
private String refreshToken;
/** 过期时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime expireTime;
/** 创建时间 */
private LocalDateTime createTime;
/** 修改时间 */
private LocalDateTime updateTime;
}

@ -0,0 +1,148 @@
package com.cyl.ums.service;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.cyl.ums.mapper.MemberWechatMapper;
import com.cyl.ums.domain.MemberWechat;
import com.cyl.ums.pojo.query.MemberWechatQuery;
/**
* Service
*
*
* @author zcc
*/
@Service
public class MemberWechatService {
@Autowired
private MemberWechatMapper memberWechatMapper;
/**
*
*
* @param id
* @return
*/
public MemberWechat selectById(Long id) {
return memberWechatMapper.selectById(id);
}
/**
*
*
* @param query
* @param page
* @return
*/
public List<MemberWechat> selectList(MemberWechatQuery query, Pageable page) {
if (page != null) {
PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
}
QueryWrapper<MemberWechat> qw = new QueryWrapper<>();
qw.eq("del_flag",0);
Long memberId = query.getMemberId();
if (memberId != null) {
qw.eq("member_id", memberId);
}
String unionid = query.getUnionid();
if (!StringUtils.isEmpty(unionid)) {
qw.eq("unionid", unionid);
}
String openid = query.getOpenid();
if (!StringUtils.isEmpty(openid)) {
qw.eq("openid", openid);
}
String routineOpenid = query.getRoutineOpenid();
if (!StringUtils.isEmpty(routineOpenid)) {
qw.eq("routine_openid", routineOpenid);
}
Integer groupid = query.getGroupid();
if (groupid != null) {
qw.eq("groupid", groupid);
}
String tagidList = query.getTagidList();
if (!StringUtils.isEmpty(tagidList)) {
qw.eq("tagid_list", tagidList);
}
Integer subscribe = query.getSubscribe();
if (subscribe != null) {
qw.eq("subscribe", subscribe);
}
Integer subscribeTime = query.getSubscribeTime();
if (subscribeTime != null) {
qw.eq("subscribe_time", subscribeTime);
}
String sessionKey = query.getSessionKey();
if (!StringUtils.isEmpty(sessionKey)) {
qw.eq("session_key", sessionKey);
}
String accessToken = query.getAccessToken();
if (!StringUtils.isEmpty(accessToken)) {
qw.eq("access_token", accessToken);
}
Integer expiresIn = query.getExpiresIn();
if (expiresIn != null) {
qw.eq("expires_in", expiresIn);
}
String refreshToken = query.getRefreshToken();
if (!StringUtils.isEmpty(refreshToken)) {
qw.eq("refresh_token", refreshToken);
}
LocalDateTime expireTime = query.getExpireTime();
if (expireTime != null) {
qw.eq("expire_time", expireTime);
}
return memberWechatMapper.selectList(qw);
}
/**
*
*
* @param memberWechat
* @return
*/
public int insert(MemberWechat memberWechat) {
memberWechat.setDelFlag(0);
memberWechat.setCreateTime(LocalDateTime.now());
return memberWechatMapper.insert(memberWechat);
}
/**
*
*
* @param memberWechat
* @return
*/
public int update(MemberWechat memberWechat) {
return memberWechatMapper.updateById(memberWechat);
}
/**
*
*
* @param ids
* @return
*/
public int deleteByIds(Long[] ids) {
return memberWechatMapper.updateDelFlagByIds(ids);
}
/**
*
*
* @param id
* @return
*/
public int deleteById(Long id) {
Long[] ids = {id};
return memberWechatMapper.updateDelFlagByIds(ids);
}
}

@ -0,0 +1,55 @@
<?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.cyl.ums.mapper.MemberWechatMapper">
<resultMap type="MemberWechat" id="MemberWechatResult">
<result property="id" column="id"/>
<result property="memberId" column="member_id"/>
<result property="unionid" column="unionid"/>
<result property="openid" column="openid"/>
<result property="routineOpenid" column="routine_openid"/>
<result property="groupid" column="groupid"/>
<result property="tagidList" column="tagid_list"/>
<result property="subscribe" column="subscribe"/>
<result property="subscribeTime" column="subscribe_time"/>
<result property="sessionKey" column="session_key"/>
<result property="accessToken" column="access_token"/>
<result property="expiresIn" column="expires_in"/>
<result property="refreshToken" column="refresh_token"/>
<result property="expireTime" column="expire_time"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectMemberWechatVo">
select id, member_id, unionid, openid, routine_openid, groupid, tagid_list, subscribe, subscribe_time, session_key, access_token, expires_in, refresh_token, expire_time, create_time, update_time from ums_member_wechat
</sql>
<select id="selectByEntity" parameterType="MemberWechat" resultMap="MemberWechatResult">
<include refid="selectMemberWechatVo"/>
<where>
<if test="memberId != null "> and member_id = #{memberId}</if>
<if test="unionid != null and unionid != ''"> and unionid = #{unionid}</if>
<if test="openid != null and openid != ''"> and openid = #{openid}</if>
<if test="routineOpenid != null and routineOpenid != ''"> and routine_openid = #{routineOpenid}</if>
<if test="groupid != null "> and groupid = #{groupid}</if>
<if test="tagidList != null and tagidList != ''"> and tagid_list = #{tagidList}</if>
<if test="subscribe != null "> and subscribe = #{subscribe}</if>
<if test="subscribeTime != null "> and subscribe_time = #{subscribeTime}</if>
<if test="sessionKey != null and sessionKey != ''"> and session_key = #{sessionKey}</if>
<if test="accessToken != null and accessToken != ''"> and access_token = #{accessToken}</if>
<if test="expiresIn != null "> and expires_in = #{expiresIn}</if>
<if test="refreshToken != null and refreshToken != ''"> and refresh_token = #{refreshToken}</if>
<if test="expireTime != null "> and expire_time = #{expireTime}</if>
</where>
</select>
<update id="updateDelFlagByIds">
update ums_member_wechat set del_flag=1
<where>
id in <foreach collection="ids" open="(" item="it" close=")" separator=",">#{it}</foreach>
</where>
</update>
</mapper>

@ -0,0 +1,22 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('用户微信信息', '3', '1', 'memberWechat', 'ums/memberWechat/index', 1, 0, 'C', '0', '0', 'ums:memberWechat:list', '#', 1, sysdate(), '', null, '用户微信信息菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('用户微信信息查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'ums:memberWechat:query', '#', 1, sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('用户微信信息新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'ums:memberWechat:add', '#', 1, sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('用户微信信息修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'ums:memberWechat:edit', '#', 1, sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('用户微信信息删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'ums:memberWechat:remove', '#', 1, sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('用户微信信息导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'ums:memberWechat:export', '#', 1, sysdate(), '', null, '');
Loading…
Cancel
Save