登陆授权改成当前项目所有,模型变更
This commit is contained in:
1 parent
7255d4a2a9
commit
ac3ac88c21
6 files changed
+211
-217
No files matched your search
@@ -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群: [](https://jq.qq.com/?_wv=1027&k=5HBAaYN) [](https://jq.qq.com/?_wv=1027&k=5cHeRVW) [](https://jq.qq.com/?_wv=1027&k=53R0L5Z) [](https://jq.qq.com/?_wv=1027&k=5g75dCU) [](https://jq.qq.com/?_wv=1027&k=58cPoHA) [](https://jq.qq.com/?_wv=1027&k=5Ofd4Pb) [](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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user