登陆授权改成当前项目所有,模型变更

This commit is contained in:
hupeng committed 2019-09-05 18:12:13 +08:00
1 parent 7255d4a2a9
commit ac3ac88c21
6 files changed
+211 -217

No files matched your search

+90
View File
@@ -0,0 +1,90 @@
## 平台简介
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
性别男,若依是给还没有出生女儿取的名字(寓意:你若不离不弃,我必生死相依)
若依参考后台模板。有需要可自行到群内下载。
> 如需单应用,请移步 [RuoYi-fast](https://gitee.com/y_project/RuoYi-fast) `(保持同步更新)`,如需其他版本,请移步 [项目扩展](http://doc.ruoyi.vip/#/standard/xmkz) `(不定时更新)`
> 阿里云通用云产品1888优惠券 :[点我领取](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=brki8iof)    腾讯云通用云产品2860优惠券 :[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)  `(仅限新用户)`
> 阿里云Hi拼购 限量爆款 低至199元/年 [点我进入](https://www.aliyun.com/acts/hi-group-buying?userCode=brki8iof)  `(仅限新用户)`
## 内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
14. 系统接口:根据业务代码自动生成相关的api接口文档。
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 在线构建器:拖动表单元素生成相应的HTML代码。
17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
## 在线体验
> admin/admin123
> 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
演示地址:http://ruoyi.vip
文档地址:http://doc.ruoyi.vip
## 演示图
<table>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/25b5e333768d013d45a990c152dbe4d9d6e.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/e29fd81b2d43b517f99535564af41f9d1d5.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/629f1510fb6205f773c8c284863406b694f.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/9124eda87df0e72427cd63f458b813e3363.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/438c59467afd0097cfbe9c89db932661687.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/72a015041db6843aca7f7b273688cb346f8.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/ecb5f1c9929f1933f733f796749b2df73d9.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/e4283d500eb10e8dd8701e7742f7facb065.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/2531dbf419a1b114e1177f8d2a120b8a9c3.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/8b740a42dddc1e5a8a150d97c5060df258b.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/00e642dc3515919b3760968cc496a12a849.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/f72d28a3e60413a4e1b5c7c2f45f962fd65.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/19222e495869a2a99fc31c5d2bd4539e1e7.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/264d25176f4e22b4b38e95fe6ce73775299.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/d85fbb59be27fb33f68bdbb6e8bc967c97b.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/bb902d2c54bad02a052e9a05e5f22a93df1.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/30cda883bb9a7f74f1454314e64f949942d.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/deebaaa8d6b14a419ed5911f49e3f222a6f.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/bed2b98a44e7ae820c2885329e711965c28.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/5f3d39a141f21f81b90536f391b8408f1fa.jpg"/></td>
</tr>
</table>
## 若依交流群
QQ群: [![加入QQ群](https://img.shields.io/badge/已满-1389287-blue.svg)](https://jq.qq.com/?_wv=1027&k=5HBAaYN) [![加入QQ群](https://img.shields.io/badge/已满-1679294-blue.svg)](https://jq.qq.com/?_wv=1027&k=5cHeRVW) [![加入QQ群](https://img.shields.io/badge/已满-1529866-blue.svg)](https://jq.qq.com/?_wv=1027&k=53R0L5Z) [![加入QQ群](https://img.shields.io/badge/已满-1772718-blue.svg)](https://jq.qq.com/?_wv=1027&k=5g75dCU) [![加入QQ群](https://img.shields.io/badge/已满-1366522-blue.svg)](https://jq.qq.com/?_wv=1027&k=58cPoHA) [![加入QQ群](https://img.shields.io/badge/已满-1382251-blue.svg)](https://jq.qq.com/?_wv=1027&k=5Ofd4Pb) [![加入QQ群](https://img.shields.io/badge/1145125-blue.svg)](https://jq.qq.com/?_wv=1027&k=5yugASz) 点击按钮入群。
@@ -26,11 +26,7 @@ public class StoreMember extends Model<StoreMember> {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 店铺ID
*/
@TableField("store_id")
private Integer storeId;
/**
* vip编号
*/
@@ -40,20 +36,8 @@ public class StoreMember extends Model<StoreMember> {
* 会员微信OPENID
*/
private String openid;
/**
* 商家版小程序openid
*/
@TableField("seller_openid")
private String sellerOpenid;
/**
* 公众号openid
*/
@TableField("wx_openid")
private String wxOpenid;
/**
* unionid唯一标识
*/
private String unionid;
/**
* 会员手机号
*/
@@ -62,11 +46,7 @@ public class StoreMember extends Model<StoreMember> {
* 登录密码
*/
private String password;
/**
* 余额支付密码
*/
@TableField("pay_password")
private String payPassword;
/**
* 会员昵称
*/
@@ -75,11 +55,7 @@ public class StoreMember extends Model<StoreMember> {
* 会员头像
*/
private String headimg;
/**
* 用户类型 1-普通用户 2-商家用户
*/
@TableField("user_type")
private Integer userType;
/**
* 性别
*/
@@ -118,11 +94,7 @@ public class StoreMember extends Model<StoreMember> {
*/
@TableField("pay_points")
private Integer payPoints;
/**
* 冻结积分
*/
@TableField("frozen_points")
private Integer frozenPoints;
/**
* 默认收货地址
*/
@@ -136,8 +108,9 @@ public class StoreMember extends Model<StoreMember> {
* 会员状态0待审核 1-已审核 2-已拒绝
*/
private Integer status;
@TableField("create_time")
private Long createTime;
private Date createTime;
/**
* 创建时间
*/
@@ -148,43 +121,7 @@ public class StoreMember extends Model<StoreMember> {
*/
@TableField("status_time")
private Long statusTime;
@TableField("login_at")
private Date loginAt;
/**
* 登录次数
*/
@TableField("login_num")
private Integer loginNum;
/**
* 是否为分销商 0 否 1 是
*/
@TableField("is_distribut")
private Integer isDistribut;
/**
* 第一个上级
*/
@TableField("first_leader")
private Long firstLeader;
/**
* 第二个上级
*/
@TableField("second_leader")
private Long secondLeader;
/**
* 第三个上级
*/
@TableField("third_leader")
private Long thirdLeader;
/**
* 是否是超管 1-是 0不是
*/
@TableField("is_super")
private Integer isSuper;
/**
* 分销推广二维码图片
*/
@TableField("spread_qrcode")
private String spreadQrcode;
public Long getId() {
@@ -195,13 +132,6 @@ public class StoreMember extends Model<StoreMember> {
this.id = id;
}
public Integer getStoreId() {
return storeId;
}
public void setStoreId(Integer storeId) {
this.storeId = storeId;
}
public String getVipNo() {
return vipNo;
@@ -219,30 +149,6 @@ public class StoreMember extends Model<StoreMember> {
this.openid = openid;
}
public String getSellerOpenid() {
return sellerOpenid;
}
public void setSellerOpenid(String sellerOpenid) {
this.sellerOpenid = sellerOpenid;
}
public String getWxOpenid() {
return wxOpenid;
}
public void setWxOpenid(String wxOpenid) {
this.wxOpenid = wxOpenid;
}
public String getUnionid() {
return unionid;
}
public void setUnionid(String unionid) {
this.unionid = unionid;
}
public String getPhone() {
return phone;
}
@@ -259,13 +165,6 @@ public class StoreMember extends Model<StoreMember> {
this.password = password;
}
public String getPayPassword() {
return payPassword;
}
public void setPayPassword(String payPassword) {
this.payPassword = payPassword;
}
public String getNickname() {
return nickname;
@@ -283,13 +182,6 @@ public class StoreMember extends Model<StoreMember> {
this.headimg = headimg;
}
public Integer getUserType() {
return userType;
}
public void setUserType(Integer userType) {
this.userType = userType;
}
public String getSex() {
return sex;
@@ -355,13 +247,6 @@ public class StoreMember extends Model<StoreMember> {
this.payPoints = payPoints;
}
public Integer getFrozenPoints() {
return frozenPoints;
}
public void setFrozenPoints(Integer frozenPoints) {
this.frozenPoints = frozenPoints;
}
public Integer getAddressId() {
return addressId;
@@ -387,11 +272,11 @@ public class StoreMember extends Model<StoreMember> {
this.status = status;
}
public Long getCreateTime() {
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Long createTime) {
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@@ -411,69 +296,7 @@ public class StoreMember extends Model<StoreMember> {
this.statusTime = statusTime;
}
public Date getLoginAt() {
return loginAt;
}
public void setLoginAt(Date loginAt) {
this.loginAt = loginAt;
}
public Integer getLoginNum() {
return loginNum;
}
public void setLoginNum(Integer loginNum) {
this.loginNum = loginNum;
}
public Integer getIsDistribut() {
return isDistribut;
}
public void setIsDistribut(Integer isDistribut) {
this.isDistribut = isDistribut;
}
public Long getFirstLeader() {
return firstLeader;
}
public void setFirstLeader(Long firstLeader) {
this.firstLeader = firstLeader;
}
public Long getSecondLeader() {
return secondLeader;
}
public void setSecondLeader(Long secondLeader) {
this.secondLeader = secondLeader;
}
public Long getThirdLeader() {
return thirdLeader;
}
public void setThirdLeader(Long thirdLeader) {
this.thirdLeader = thirdLeader;
}
public Integer getIsSuper() {
return isSuper;
}
public void setIsSuper(Integer isSuper) {
this.isSuper = isSuper;
}
public String getSpreadQrcode() {
return spreadQrcode;
}
public void setSpreadQrcode(String spreadQrcode) {
this.spreadQrcode = spreadQrcode;
}
@Override
protected Serializable pkVal() {
@@ -484,18 +307,12 @@ public class StoreMember extends Model<StoreMember> {
public String toString() {
return "StoreMember{" +
"id=" + id +
", storeId=" + storeId +
", vipNo=" + vipNo +
", openid=" + openid +
", sellerOpenid=" + sellerOpenid +
", wxOpenid=" + wxOpenid +
", unionid=" + unionid +
", phone=" + phone +
", password=" + password +
", payPassword=" + payPassword +
", nickname=" + nickname +
", headimg=" + headimg +
", userType=" + userType +
", sex=" + sex +
", level=" + level +
", totalAmount=" + totalAmount +
@@ -504,21 +321,12 @@ public class StoreMember extends Model<StoreMember> {
", frozenMoney=" + frozenMoney +
", underlingNumber=" + underlingNumber +
", payPoints=" + payPoints +
", frozenPoints=" + frozenPoints +
", addressId=" + addressId +
", remark=" + remark +
", status=" + status +
", createTime=" + createTime +
", createAt=" + createAt +
", statusTime=" + statusTime +
", loginAt=" + loginAt +
", loginNum=" + loginNum +
", isDistribut=" + isDistribut +
", firstLeader=" + firstLeader +
", secondLeader=" + secondLeader +
", thirdLeader=" + thirdLeader +
", isSuper=" + isSuper +
", spreadQrcode=" + spreadQrcode +
"}";
}
}
@@ -22,7 +22,7 @@ import java.util.HashMap;
* @Author hupeng <610796224@qq.com>
* @Date 2019/6/27
**/
@RequestMapping(value = "/auth")
//@RequestMapping(value = "/")
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
//@Api(value = "认证授权模块", tags = "认证授权模块", description = "认证授权模块")
@@ -36,7 +36,7 @@ public class AuthController {
*
* @return 用户信息
*/
@GetMapping("/user")
@GetMapping("/get/user")
//@ApiOperation(value = "获取用户信息",notes = "获取用户信息")
public User user() {
return userOperator.getUser();
@@ -44,14 +44,20 @@ public class AuthController {
/**
* 模拟登录,颁发token
* 小程序登陆,颁发token,暂时模拟openid
*
* @return token字符串
*/
@PostMapping("/login")
@PostMapping("/oauth/access_token")
// @ApiOperation(value = "获取token",notes = "获取token")
public R loginReturnToken(@Validated @RequestBody LoginVO loginVO) {
String openid = "oqwKL5Zm8oINt29qiXdbtgYA9EDo";
Boolean isProduct = false;
String openid = null;
if(isProduct){
//todo 此处结合小程序API
}else{
openid = "orIMY4xGhMmipwFZoSL1vOhUNFZ0";
}
StoreMember member = memberService.login(openid);
if(member == null){
R.error(401,"用户登陆失败");
@@ -59,11 +65,11 @@ public class AuthController {
User user = User.builder()
.id(member.getId().intValue())
.username(member.getNickname())
.roles(Arrays.asList("user", "admin"))
//.roles(Arrays.asList("user", "admin"))
.build();
String token = operator.generateToken(user);
HashMap<String,String> map = new HashMap<>();
map.put("token",token);
map.put("access_token",token);
return R.success(map);
}
}
@@ -6,14 +6,13 @@ import javax.validation.constraints.NotBlank;
@Data
public class LoginVO {
@NotBlank(message = "code必传")
//@NotBlank(message = "code必传")
private String code;
private String encrypted_data;
private String iv;
private String share_user_id;
+5 -5
View File
@@ -4,7 +4,7 @@ light-security:
# 权限规则配置:表示用{http-method}方法请求的{path}路径必须具备什么{expression}
spec-list:
- http-method: ANY
path: /auth/login
path: /oauth/access_token
expression: "anon()"
- http-method: get
path: /doc.html
@@ -15,9 +15,9 @@ light-security:
- http-method: get
path: /swagger-resources/**
expression: "anon()"
- http-method: GET
path: /user/info
expression: "hasAnyRoles('user')"
# - http-method: GET
# path: /user/info
# expression: "hasAnyRoles('user')"
- http-method: ANY
path: /user/super
expression: "hasAllRoles('user','admin')"
@@ -53,7 +53,7 @@ spring:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
url: jdbc:mysql://localhost:3306/tours?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=UTC
url: jdbc:mysql://localhost:3306/ruoyi?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=UTC
type: com.alibaba.druid.pool.DruidDataSource #这里是配置druid连接池,以下都是druid的配置信息
filters: stat,wall,log4j
maxActive: 20
@@ -0,0 +1,91 @@
package com.ruoyi.generator;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
/**
* 自动生成
*/
public class EntityGenerator {
@Test
public void entityGenerator() {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("E:\\java\\Supply\\src\\main\\java");//这里写你自己的java目录
gc.setFileOverride(true);//是否覆盖
gc.setActiveRecord(true);
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setAuthor("hupeng");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setTypeConvert(new MySqlTypeConvert() {
// 自定义数据库表字段类型转换【可选】
@Override
public DbColumnType processTypeConvert(String fieldType) {
return super.processTypeConvert(fieldType);
}
});
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/ruoyi?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
//strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[]{"store_ads"});
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent(null);
pc.setEntity("com.ruoyi.app.common.persistence.model");
pc.setMapper("com.ruoyi.app.common.persistence.dao");
pc.setXml("com.ruoyi.app.common.persistence.dao.mapping");
pc.setService("TTT"); //本项目没用,生成之后删掉
pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉
pc.setController("TTT"); //本项目没用,生成之后删掉
mpg.setPackageInfo(pc);
// 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<>();
map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
this.setMap(map);
}
};
mpg.setCfg(cfg);
// 执行生成
mpg.execute();
// 打印注入设置
System.err.println(mpg.getCfg().getMap().get("abc"));
}
}