Pre Merge pull request !317 from tam/master
This commit is contained in:
commit
15efaf5d1e
@ -61,6 +61,19 @@
|
||||
<artifactId>ruoyi-generator</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- wxJava -->
|
||||
<dependency>
|
||||
<groupId>com.github.binarywang</groupId>
|
||||
<artifactId>weixin-java-miniapp</artifactId>
|
||||
<version>3.8.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-wxapi</artifactId>
|
||||
<version>3.7.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
@ -2,6 +2,8 @@ package com.ruoyi.common.core.domain.model;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.WxUser;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
@ -71,6 +73,11 @@ public class LoginUser implements UserDetails
|
||||
*/
|
||||
private SysUser user;
|
||||
|
||||
/**
|
||||
* 微信用户信息
|
||||
*/
|
||||
private WxUser wxUser;
|
||||
|
||||
public Long getUserId()
|
||||
{
|
||||
return userId;
|
||||
@ -119,17 +126,21 @@ public class LoginUser implements UserDetails
|
||||
this.permissions = permissions;
|
||||
}
|
||||
|
||||
public LoginUser(WxUser wxUser){
|
||||
this.wxUser = wxUser;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
@Override
|
||||
public String getPassword()
|
||||
{
|
||||
return user.getPassword();
|
||||
return user!=null ? user.getPassword() : wxUser.getPassword();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsername()
|
||||
{
|
||||
return user.getUserName();
|
||||
return user!=null ? user.getUserName() : wxUser.getOpenId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -258,6 +269,14 @@ public class LoginUser implements UserDetails
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public WxUser getWxUser() {
|
||||
return wxUser;
|
||||
}
|
||||
|
||||
public void setWxUser(WxUser wxUser) {
|
||||
this.wxUser = wxUser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<? extends GrantedAuthority> getAuthorities()
|
||||
{
|
||||
|
@ -58,6 +58,12 @@
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-system</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-wxapi</artifactId>
|
||||
<version>3.7.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
@ -97,7 +97,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
|
||||
// 过滤请求
|
||||
.authorizeRequests()
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
.antMatchers("/login", "/register", "/captchaImage").anonymous()
|
||||
.antMatchers("/login", "/register", "/captchaImage", "/api/wx/login").anonymous()
|
||||
.antMatchers(
|
||||
HttpMethod.GET,
|
||||
"/",
|
||||
|
@ -1,5 +1,8 @@
|
||||
package com.ruoyi.framework.web.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.WxUser;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.wxapi.service.IWxUserService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -30,9 +33,31 @@ public class UserDetailsServiceImpl implements UserDetailsService
|
||||
@Autowired
|
||||
private SysPermissionService permissionService;
|
||||
|
||||
@Autowired
|
||||
private IWxUserService wxUserService;
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
|
||||
{
|
||||
if (StringUtils.isNotEmpty(username) && username.startsWith("wx_openid_")){
|
||||
String openId = username.replace("wx_openid_", "");
|
||||
WxUser wxUser = wxUserService.selectWxUserByOpenId(openId);
|
||||
wxUser.setPassword(SecurityUtils.encryptPassword(wxUser.getOpenId()));
|
||||
if (StringUtils.isNull(wxUser))
|
||||
{
|
||||
log.info("登录用户:{} 不存在.", openId);
|
||||
throw new ServiceException("登录用户不存在");
|
||||
}
|
||||
else if ("3".equals(wxUser.getStatus()))
|
||||
{
|
||||
log.info("登录用户:{} 已被停用.", openId);
|
||||
throw new ServiceException("对不起,您的账号已停用");
|
||||
}
|
||||
|
||||
return new LoginUser(wxUser);
|
||||
}
|
||||
|
||||
|
||||
SysUser user = userService.selectUserByUserName(username);
|
||||
if (StringUtils.isNull(user))
|
||||
{
|
||||
|
33
ruoyi-wxapi/pom.xml
Normal file
33
ruoyi-wxapi/pom.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>ruoyi</artifactId>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<version>3.7.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>ruoyi-wxapi</artifactId>
|
||||
|
||||
<description>
|
||||
wxapi系统模块
|
||||
</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.binarywang</groupId>
|
||||
<artifactId>weixin-java-miniapp</artifactId>
|
||||
<version>3.8.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
124
ruoyi-wxapi/src/main/java/com/ruoyi/wxapi/domain/WxApp.java
Normal file
124
ruoyi-wxapi/src/main/java/com/ruoyi/wxapi/domain/WxApp.java
Normal file
@ -0,0 +1,124 @@
|
||||
package com.ruoyi.wxapi.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;
|
||||
|
||||
/**
|
||||
* 小程序设置对象 wx_app
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
public class WxApp extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
private Long id;
|
||||
|
||||
/** 小程序代号 */
|
||||
@Excel(name = "小程序代号")
|
||||
private String appCode;
|
||||
|
||||
/** 小程序名称 */
|
||||
@Excel(name = "小程序名称")
|
||||
private String appName;
|
||||
|
||||
/** 小程序id */
|
||||
@Excel(name = "小程序id")
|
||||
private String appId;
|
||||
|
||||
/** 小程序secret */
|
||||
private String secret;
|
||||
|
||||
/** 服务器域名 */
|
||||
@Excel(name = "服务器域名")
|
||||
private String apiDomain;
|
||||
|
||||
/** 状态(1:正常,2:停用) */
|
||||
@Excel(name = "状态(1:正常,2:停用)")
|
||||
private String status;
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public void setAppCode(String appCode)
|
||||
{
|
||||
this.appCode = appCode;
|
||||
}
|
||||
|
||||
public String getAppCode()
|
||||
{
|
||||
return appCode;
|
||||
}
|
||||
public void setAppName(String appName)
|
||||
{
|
||||
this.appName = appName;
|
||||
}
|
||||
|
||||
public String getAppName()
|
||||
{
|
||||
return appName;
|
||||
}
|
||||
public void setAppId(String appId)
|
||||
{
|
||||
this.appId = appId;
|
||||
}
|
||||
|
||||
public String getAppId()
|
||||
{
|
||||
return appId;
|
||||
}
|
||||
public void setSecret(String secret)
|
||||
{
|
||||
this.secret = secret;
|
||||
}
|
||||
|
||||
public String getSecret()
|
||||
{
|
||||
return secret;
|
||||
}
|
||||
public void setApiDomain(String apiDomain)
|
||||
{
|
||||
this.apiDomain = apiDomain;
|
||||
}
|
||||
|
||||
public String getApiDomain()
|
||||
{
|
||||
return apiDomain;
|
||||
}
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("appCode", getAppCode())
|
||||
.append("appName", getAppName())
|
||||
.append("appId", getAppId())
|
||||
.append("secret", getSecret())
|
||||
.append("apiDomain", getApiDomain())
|
||||
.append("status", getStatus())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package com.ruoyi.wxapi.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.wxapi.domain.WxApp;
|
||||
|
||||
/**
|
||||
* 小程序设置Mapper接口
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
public interface WxAppMapper
|
||||
{
|
||||
/**
|
||||
* 查询小程序设置
|
||||
*
|
||||
* @param id 小程序设置主键
|
||||
* @return 小程序设置
|
||||
*/
|
||||
public WxApp selectWxAppById(Long id);
|
||||
|
||||
/**
|
||||
* 查询小程序设置
|
||||
*
|
||||
* @param code 小程序code
|
||||
* @return 小程序设置
|
||||
*/
|
||||
public WxApp selectWxAppByCode(String code);
|
||||
|
||||
/**
|
||||
* 查询小程序设置列表
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 小程序设置集合
|
||||
*/
|
||||
public List<WxApp> selectWxAppList(WxApp wxApp);
|
||||
|
||||
/**
|
||||
* 新增小程序设置
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertWxApp(WxApp wxApp);
|
||||
|
||||
/**
|
||||
* 修改小程序设置
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateWxApp(WxApp wxApp);
|
||||
|
||||
/**
|
||||
* 删除小程序设置
|
||||
*
|
||||
* @param id 小程序设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxAppById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除小程序设置
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxAppByIds(Long[] ids);
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package com.ruoyi.wxapi.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.core.domain.entity.WxUser;
|
||||
|
||||
/**
|
||||
* 小程序用户Mapper接口
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
public interface WxUserMapper
|
||||
{
|
||||
/**
|
||||
* 查询小程序用户
|
||||
*
|
||||
* @param id 小程序用户主键
|
||||
* @return 小程序用户
|
||||
*/
|
||||
public WxUser selectWxUserById(Long id);
|
||||
|
||||
/**
|
||||
* 查询小程序用户
|
||||
*
|
||||
* @param openId 小程序用户openId
|
||||
* @return 小程序用户
|
||||
*/
|
||||
public WxUser selectWxUserByOpenId(String openId);
|
||||
|
||||
/**
|
||||
* 查询小程序用户列表
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 小程序用户集合
|
||||
*/
|
||||
public List<WxUser> selectWxUserList(WxUser wxUser);
|
||||
|
||||
/**
|
||||
* 新增小程序用户
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertWxUser(WxUser wxUser);
|
||||
|
||||
/**
|
||||
* 修改小程序用户
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateWxUser(WxUser wxUser);
|
||||
|
||||
/**
|
||||
* 删除小程序用户
|
||||
*
|
||||
* @param id 小程序用户主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxUserById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除小程序用户
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxUserByIds(Long[] ids);
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
package com.ruoyi.wxapi.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import com.ruoyi.wxapi.domain.WxApp;
|
||||
|
||||
/**
|
||||
* 小程序设置Service接口
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
public interface IWxAppService
|
||||
{
|
||||
/**
|
||||
* 查询小程序设置
|
||||
*
|
||||
* @param id 小程序设置主键
|
||||
* @return 小程序设置
|
||||
*/
|
||||
public WxApp selectWxAppById(Long id);
|
||||
|
||||
/**
|
||||
* 查询小程序设置列表
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 小程序设置集合
|
||||
*/
|
||||
public List<WxApp> selectWxAppList(WxApp wxApp);
|
||||
|
||||
/**
|
||||
* 新增小程序设置
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertWxApp(WxApp wxApp);
|
||||
|
||||
/**
|
||||
* 修改小程序设置
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateWxApp(WxApp wxApp);
|
||||
|
||||
/**
|
||||
* 批量删除小程序设置
|
||||
*
|
||||
* @param ids 需要删除的小程序设置主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxAppByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除小程序设置信息
|
||||
*
|
||||
* @param id 小程序设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxAppById(Long id);
|
||||
|
||||
/**
|
||||
* 获取微信小程序服务
|
||||
*
|
||||
* @param code 小程序code
|
||||
* @return 结果
|
||||
*/
|
||||
public WxMaService getMaService(String code);
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package com.ruoyi.wxapi.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.core.domain.entity.WxUser;
|
||||
|
||||
/**
|
||||
* 小程序用户Service接口
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
public interface IWxUserService
|
||||
{
|
||||
/**
|
||||
* 查询小程序用户
|
||||
*
|
||||
* @param id 小程序用户主键
|
||||
* @return 小程序用户
|
||||
*/
|
||||
public WxUser selectWxUserById(Long id);
|
||||
|
||||
/**
|
||||
* 查询小程序用户
|
||||
*
|
||||
* @param openId 小程序用户openId
|
||||
* @return 小程序用户
|
||||
*/
|
||||
public WxUser selectWxUserByOpenId(String openId);
|
||||
|
||||
/**
|
||||
* 查询小程序用户列表
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 小程序用户集合
|
||||
*/
|
||||
public List<WxUser> selectWxUserList(WxUser wxUser);
|
||||
|
||||
/**
|
||||
* 新增小程序用户
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertWxUser(WxUser wxUser);
|
||||
|
||||
/**
|
||||
* 修改小程序用户
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateWxUser(WxUser wxUser);
|
||||
|
||||
/**
|
||||
* 批量删除小程序用户
|
||||
*
|
||||
* @param ids 需要删除的小程序用户主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxUserByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除小程序用户信息
|
||||
*
|
||||
* @param id 小程序用户主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteWxUserById(Long id);
|
||||
}
|
@ -0,0 +1,125 @@
|
||||
package com.ruoyi.wxapi.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
|
||||
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.wxapi.mapper.WxAppMapper;
|
||||
import com.ruoyi.wxapi.domain.WxApp;
|
||||
import com.ruoyi.wxapi.service.IWxAppService;
|
||||
|
||||
/**
|
||||
* 小程序设置Service业务层处理
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
@Service
|
||||
public class WxAppServiceImpl implements IWxAppService
|
||||
{
|
||||
@Autowired
|
||||
private WxAppMapper wxAppMapper;
|
||||
|
||||
/**
|
||||
* 查询小程序设置
|
||||
*
|
||||
* @param id 小程序设置主键
|
||||
* @return 小程序设置
|
||||
*/
|
||||
@Override
|
||||
public WxApp selectWxAppById(Long id)
|
||||
{
|
||||
return wxAppMapper.selectWxAppById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询小程序设置列表
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 小程序设置
|
||||
*/
|
||||
@Override
|
||||
public List<WxApp> selectWxAppList(WxApp wxApp)
|
||||
{
|
||||
return wxAppMapper.selectWxAppList(wxApp);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增小程序设置
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertWxApp(WxApp wxApp)
|
||||
{
|
||||
wxApp.setCreateTime(DateUtils.getNowDate());
|
||||
return wxAppMapper.insertWxApp(wxApp);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改小程序设置
|
||||
*
|
||||
* @param wxApp 小程序设置
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateWxApp(WxApp wxApp)
|
||||
{
|
||||
wxApp.setUpdateTime(DateUtils.getNowDate());
|
||||
return wxAppMapper.updateWxApp(wxApp);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除小程序设置
|
||||
*
|
||||
* @param ids 需要删除的小程序设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteWxAppByIds(Long[] ids)
|
||||
{
|
||||
return wxAppMapper.deleteWxAppByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除小程序设置信息
|
||||
*
|
||||
* @param id 小程序设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteWxAppById(Long id)
|
||||
{
|
||||
return wxAppMapper.deleteWxAppById(id);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取微信小程序服务
|
||||
*
|
||||
* @param code 小程序code
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public WxMaService getMaService(String code) {
|
||||
WxApp wxApp = wxAppMapper.selectWxAppByCode(code);
|
||||
if (wxApp == null) {
|
||||
throw new IllegalArgumentException(String.format("未找到对应appcode=[%s]的配置,请核实!", code));
|
||||
}
|
||||
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
|
||||
config.setAppid(wxApp.getAppId());
|
||||
config.setSecret(wxApp.getSecret());
|
||||
// config.setToken(null);
|
||||
// config.setAesKey(null);
|
||||
// config.setMsgDataFormat(null);
|
||||
|
||||
WxMaService service = new WxMaServiceImpl();
|
||||
service.setWxMaConfig(config);
|
||||
return service;
|
||||
}
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package com.ruoyi.wxapi.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.wxapi.mapper.WxUserMapper;
|
||||
import com.ruoyi.common.core.domain.entity.WxUser;
|
||||
import com.ruoyi.wxapi.service.IWxUserService;
|
||||
|
||||
/**
|
||||
* 小程序用户Service业务层处理
|
||||
*
|
||||
* @author tgq
|
||||
* @date 2021-09-01
|
||||
*/
|
||||
@Service
|
||||
public class WxUserServiceImpl implements IWxUserService
|
||||
{
|
||||
@Autowired
|
||||
private WxUserMapper wxUserMapper;
|
||||
|
||||
/**
|
||||
* 查询小程序用户
|
||||
*
|
||||
* @param id 小程序用户主键
|
||||
* @return 小程序用户
|
||||
*/
|
||||
@Override
|
||||
public WxUser selectWxUserById(Long id)
|
||||
{
|
||||
return wxUserMapper.selectWxUserById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询小程序用户
|
||||
*
|
||||
* @param openId 小程序用户openId
|
||||
* @return 小程序用户
|
||||
*/
|
||||
@Override
|
||||
public WxUser selectWxUserByOpenId(String openId) {
|
||||
return wxUserMapper.selectWxUserByOpenId(openId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询小程序用户列表
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 小程序用户
|
||||
*/
|
||||
@Override
|
||||
public List<WxUser> selectWxUserList(WxUser wxUser)
|
||||
{
|
||||
return wxUserMapper.selectWxUserList(wxUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增小程序用户
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertWxUser(WxUser wxUser)
|
||||
{
|
||||
wxUser.setCreateTime(DateUtils.getNowDate());
|
||||
return wxUserMapper.insertWxUser(wxUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改小程序用户
|
||||
*
|
||||
* @param wxUser 小程序用户
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateWxUser(WxUser wxUser)
|
||||
{
|
||||
wxUser.setUpdateTime(DateUtils.getNowDate());
|
||||
return wxUserMapper.updateWxUser(wxUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除小程序用户
|
||||
*
|
||||
* @param ids 需要删除的小程序用户主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteWxUserByIds(Long[] ids)
|
||||
{
|
||||
return wxUserMapper.deleteWxUserByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除小程序用户信息
|
||||
*
|
||||
* @param id 小程序用户主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteWxUserById(Long id)
|
||||
{
|
||||
return wxUserMapper.deleteWxUserById(id);
|
||||
}
|
||||
}
|
101
ruoyi-wxapi/src/main/resources/mapper/wxapi/WxAppMapper.xml
Normal file
101
ruoyi-wxapi/src/main/resources/mapper/wxapi/WxAppMapper.xml
Normal file
@ -0,0 +1,101 @@
|
||||
<?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.wxapi.mapper.WxAppMapper">
|
||||
|
||||
<resultMap type="WxApp" id="WxAppResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="appCode" column="app_code" />
|
||||
<result property="appName" column="app_name" />
|
||||
<result property="appId" column="app_id" />
|
||||
<result property="secret" column="secret" />
|
||||
<result property="apiDomain" column="api_domain" />
|
||||
<result property="status" column="status" />
|
||||
<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="selectWxAppVo">
|
||||
select id, app_code, app_name, app_id, secret, api_domain, status, create_by, create_time, update_by, update_time from wx_app
|
||||
</sql>
|
||||
|
||||
<select id="selectWxAppList" parameterType="WxApp" resultMap="WxAppResult">
|
||||
<include refid="selectWxAppVo"/>
|
||||
<where>
|
||||
<if test="appCode != null and appCode != ''"> and app_code like concat('%', #{appCode}, '%')</if>
|
||||
<if test="appName != null and appName != ''"> and app_name like concat('%', #{appName}, '%')</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectWxAppById" parameterType="Long" resultMap="WxAppResult">
|
||||
<include refid="selectWxAppVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectWxAppByCode" parameterType="String" resultMap="WxAppResult">
|
||||
<include refid="selectWxAppVo"/>
|
||||
where app_code = #{code}
|
||||
</select>
|
||||
|
||||
<insert id="insertWxApp" parameterType="WxApp">
|
||||
insert into wx_app
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">id,</if>
|
||||
<if test="appCode != null">app_code,</if>
|
||||
<if test="appName != null">app_name,</if>
|
||||
<if test="appId != null">app_id,</if>
|
||||
<if test="secret != null">secret,</if>
|
||||
<if test="apiDomain != null">api_domain,</if>
|
||||
<if test="status != null">status,</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="appCode != null">#{appCode},</if>
|
||||
<if test="appName != null">#{appName},</if>
|
||||
<if test="appId != null">#{appId},</if>
|
||||
<if test="secret != null">#{secret},</if>
|
||||
<if test="apiDomain != null">#{apiDomain},</if>
|
||||
<if test="status != null">#{status},</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="updateWxApp" parameterType="WxApp">
|
||||
update wx_app
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="appCode != null">app_code = #{appCode},</if>
|
||||
<if test="appName != null">app_name = #{appName},</if>
|
||||
<if test="appId != null">app_id = #{appId},</if>
|
||||
<if test="secret != null">secret = #{secret},</if>
|
||||
<if test="apiDomain != null">api_domain = #{apiDomain},</if>
|
||||
<if test="status != null">status = #{status},</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="deleteWxAppById" parameterType="Long">
|
||||
delete from wx_app where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteWxAppByIds" parameterType="String">
|
||||
delete from wx_app where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
123
ruoyi-wxapi/src/main/resources/mapper/wxapi/WxUserMapper.xml
Normal file
123
ruoyi-wxapi/src/main/resources/mapper/wxapi/WxUserMapper.xml
Normal file
@ -0,0 +1,123 @@
|
||||
<?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.wxapi.mapper.WxUserMapper">
|
||||
|
||||
<resultMap type="WxUser" id="WxUserResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="unionId" column="union_id" />
|
||||
<result property="openId" column="open_id" />
|
||||
<result property="nickName" column="nick_name" />
|
||||
<result property="name" column="name" />
|
||||
<result property="status" column="status" />
|
||||
<result property="avatarUrl" column="avatar_url" />
|
||||
<result property="gender" column="gender" />
|
||||
<result property="country" column="country" />
|
||||
<result property="province" column="province" />
|
||||
<result property="city" column="city" />
|
||||
<result property="mobile" column="mobile" />
|
||||
<result property="appId" column="app_id" />
|
||||
<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="selectWxUserVo">
|
||||
select id, union_id, open_id, nick_name, name, status, avatar_url, gender, country, province, city, mobile, app_id, create_by, create_time, update_by, update_time from wx_user
|
||||
</sql>
|
||||
|
||||
<select id="selectWxUserList" parameterType="WxUser" resultMap="WxUserResult">
|
||||
<include refid="selectWxUserVo"/>
|
||||
<where>
|
||||
<if test="nickName != null and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>
|
||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectWxUserById" parameterType="Long" resultMap="WxUserResult">
|
||||
<include refid="selectWxUserVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectWxUserByOpenId" parameterType="String" resultMap="WxUserResult">
|
||||
<include refid="selectWxUserVo"/>
|
||||
where open_id = #{openId}
|
||||
</select>
|
||||
|
||||
<insert id="insertWxUser" parameterType="WxUser" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into wx_user
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="unionId != null">union_id,</if>
|
||||
<if test="openId != null and openId != ''">open_id,</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name,</if>
|
||||
<if test="name != null and name != ''">name,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="avatarUrl != null">avatar_url,</if>
|
||||
<if test="gender != null">gender,</if>
|
||||
<if test="country != null">country,</if>
|
||||
<if test="province != null">province,</if>
|
||||
<if test="city != null">city,</if>
|
||||
<if test="mobile != null">mobile,</if>
|
||||
<if test="appId != null">app_id,</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="unionId != null">#{unionId},</if>
|
||||
<if test="openId != null and openId != ''">#{openId},</if>
|
||||
<if test="nickName != null and nickName != ''">#{nickName},</if>
|
||||
<if test="name != null and name != ''">#{name},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="avatarUrl != null">#{avatarUrl},</if>
|
||||
<if test="gender != null">#{gender},</if>
|
||||
<if test="country != null">#{country},</if>
|
||||
<if test="province != null">#{province},</if>
|
||||
<if test="city != null">#{city},</if>
|
||||
<if test="mobile != null">#{mobile},</if>
|
||||
<if test="appId != null">#{appId},</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="updateWxUser" parameterType="WxUser">
|
||||
update wx_user
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="unionId != null">union_id = #{unionId},</if>
|
||||
<if test="openId != null and openId != ''">open_id = #{openId},</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
|
||||
<if test="name != null and name != ''">name = #{name},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="avatarUrl != null">avatar_url = #{avatarUrl},</if>
|
||||
<if test="gender != null">gender = #{gender},</if>
|
||||
<if test="country != null">country = #{country},</if>
|
||||
<if test="province != null">province = #{province},</if>
|
||||
<if test="city != null">city = #{city},</if>
|
||||
<if test="mobile != null">mobile = #{mobile},</if>
|
||||
<if test="appId != null">app_id = #{appId},</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="deleteWxUserById" parameterType="Long">
|
||||
delete from wx_user where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteWxUserByIds" parameterType="String">
|
||||
delete from wx_user where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user