Commit 776661a1 authored by m1991's avatar m1991

sms工具类迁移 用户注册功能接口实现

parent 052f2e32
...@@ -75,6 +75,11 @@ ...@@ -75,6 +75,11 @@
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId> <artifactId>httpcore</artifactId>
</dependency> </dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId> <artifactId>httpclient</artifactId>
......
package cn.wisenergy.web.sms; package cn.wisenergy.common.enums;
/** /**
* 出参错误码列表 * 出参错误码列表
......
package cn.wisenergy.common.utils; package cn.wisenergy.common.utils;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
...@@ -8,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -8,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
/** /**
* @author 86187 * @author 86187
*/ */
@Component
public class HttpContextUtils { public class HttpContextUtils {
public static HttpServletRequest getHttpServletRequest() { public static HttpServletRequest getHttpServletRequest() {
......
package cn.wisenergy.web.sms; package cn.wisenergy.common.utils;
import java.math.BigDecimal; import java.math.BigDecimal;
......
...@@ -73,6 +73,16 @@ public class R<T> implements Serializable { ...@@ -73,6 +73,16 @@ public class R<T> implements Serializable {
return new R<>(data, msg); return new R<>(data, msg);
} }
/**
* 请求成功,返回前端的信息
*
* @param msg 描述
* @return R
*/
public static <T> R<T> ok(String msg, int code) {
return new R<>(code, msg);
}
/** /**
* 请求成功,返回前端的信息 * 请求成功,返回前端的信息
* *
......
package cn.wisenergy.web.sms; package cn.wisenergy.common.utils;
import cn.wisenergy.common.enums.ResultEnum;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
package cn.wisenergy.web.sms; package cn.wisenergy.common.utils;
import cn.wisenergy.common.enums.ResultEnum;
import org.springframework.stereotype.Component;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 返回信息包装类 * 返回信息包装类
* Created by m1991 on 2021/2/28 23:08 * Created by m1991 on 2021/2/28 23:08
*/ */
@Component
public class Result<T> implements Serializable{ public class Result<T> implements Serializable{
public String code; public String code;
......
package cn.wisenergy.web.sms; package cn.wisenergy.common.utils;
import cn.wisenergy.common.enums.ResultEnum;
/** /**
* 用于返回Result的工具类 * 用于返回Result的工具类
......
...@@ -175,6 +175,7 @@ ...@@ -175,6 +175,7 @@
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" /> <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
......
...@@ -10,6 +10,7 @@ public interface RecommendUserMapper extends BaseMapper<RecommendUser> { ...@@ -10,6 +10,7 @@ public interface RecommendUserMapper extends BaseMapper<RecommendUser> {
RecommendUser getByUserId(String userId); RecommendUser getByUserId(String userId);
Integer zcByUserId(String userId); //根据用户推荐人的userid,查询数据库用户直推表,看推荐人用户是否存在
Integer zcByUserId(String userid);
} }
...@@ -5,9 +5,12 @@ import cn.wisenergy.model.app.TeamUserInfo; ...@@ -5,9 +5,12 @@ import cn.wisenergy.model.app.TeamUserInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** /**
* 团队Mapper
* @author zw * @author zw
*/ */
public interface TeamUserInfoMapper extends BaseMapper<TeamUserInfo> { public interface TeamUserInfoMapper extends BaseMapper<TeamUserInfo> {
TeamUserInfo getByUserId(String userId); TeamUserInfo getByUserId(String userid);
//根据userId查询用户是否存在
Integer czByUserId(String userId);
} }
...@@ -53,7 +53,21 @@ public interface UsersMapper extends BaseMapper<User> { ...@@ -53,7 +53,21 @@ public interface UsersMapper extends BaseMapper<User> {
* @param userId 用户id * @param userId 用户id
* @return 用户信息 * @return 用户信息
*/ */
Integer getByUserId(@Param("userId") String userId); User getByUserId(@Param("userId") String userId);
/**
* 获取用户信息
* @param userId 用户id
* @return 用户信息
*/
Integer ByUserId(@Param("userId") String userId);
/**
* 获取用户信息
* @param
* @return 用户信息
*/
Integer beInvitedCode1(@Param("beInvitedCode") String beInvitedCode);
/** /**
* 获取用户信息 * 获取用户信息
...@@ -78,6 +92,9 @@ public interface UsersMapper extends BaseMapper<User> { ...@@ -78,6 +92,9 @@ public interface UsersMapper extends BaseMapper<User> {
//根据手机号查询用户Integer //根据手机号查询用户Integer
Integer queryUsersByPhone(@Param("userId")String userId); Integer queryUsersByPhone(@Param("userId")String userId);
//根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID
Integer inviteCodeBeInvitedCode(@Param("beInvitedCode")Integer beInvitedCode);
/** /**
* 用户注册 * 用户注册
* @param userId * @param userId
......
...@@ -78,8 +78,9 @@ ...@@ -78,8 +78,9 @@
from from
<include refid="table"/> <include refid="table"/>
<where> <where>
user_id=#{userId} user_id=#{userid}
</where> </where>
</select> </select>
<!--用户信息插入用户直推表-->
</mapper> </mapper>
\ No newline at end of file
...@@ -71,5 +71,16 @@ ...@@ -71,5 +71,16 @@
user_id=#{userId} user_id=#{userId}
</where> </where>
</select> </select>
<!--根据userid查询用户是否存在-->
<select id="czByUserId" resultType="cn.wisenergy.model.app.TeamUserInfo">
select
id
from
<include refid="table"/>
<where>
user_id=#{userid}
</where>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -109,6 +109,15 @@ ...@@ -109,6 +109,15 @@
user_id=#{userId} user_id=#{userId}
</where> </where>
</select> </select>
<select id="ByUserId" resultType="java.lang.Integer">
select
id
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<!--查询全部--> <!--查询全部-->
<select id="findAll" resultType="cn.wisenergy.model.app.User"> <select id="findAll" resultType="cn.wisenergy.model.app.User">
...@@ -162,6 +171,27 @@ ...@@ -162,6 +171,27 @@
user_id=#{userId} user_id=#{userId}
</where> </where>
</select> </select>
<!--根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID-->
<select id="inviteCodeBeInvitedCode" resultType="java.lang.Integer">
select
user_id
from
<include refid="table"/>
<where>
invite_code=#{beInvitedCode}
</where>
</select>
<!--根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID-->
<select id="BeInvitedCode1" resultType="java.lang.Integer">
select
id
from
<include refid="table"/>
<where>
invite_code=#{beInvitedCode}
</where>
</select>
<select id="getuserIdById" resultType="cn.wisenergy.model.app.User"> <select id="getuserIdById" resultType="cn.wisenergy.model.app.User">
select select
id id
......
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" /> <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
......
...@@ -173,6 +173,7 @@ ...@@ -173,6 +173,7 @@
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" /> <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" /> <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
......
...@@ -72,6 +72,27 @@ ...@@ -72,6 +72,27 @@
<artifactId>itext-asian</artifactId> <artifactId>itext-asian</artifactId>
<version>5.2.0</version> <version>5.2.0</version>
</dependency> </dependency>
<!--有赞SDK-->
<dependency>
<groupId>com.youzan.cloud</groupId>
<artifactId>open-sdk-core</artifactId>
<version>1.0.7-RELEASE</version>
</dependency>
<dependency>
<groupId>com.youzan.cloud</groupId>
<artifactId>open-sdk-gen</artifactId>
<version>1.0.7.78771202102051104-RELEASE</version>
</dependency>
<dependency>
<groupId>com.youzan.cloud</groupId>
<artifactId>open-sdk-api</artifactId>
<version>1.0.7-RELEASE</version>
</dependency>
<dependency>
<groupId>com.youzan.cloud</groupId>
<artifactId>open-sdk-common</artifactId>
<version>1.0.7-RELEASE</version>
</dependency>
</dependencies> </dependencies>
<!-- MAVEN构建 --> <!-- MAVEN构建 -->
......
...@@ -17,14 +17,16 @@ public interface UserService { ...@@ -17,14 +17,16 @@ public interface UserService {
* @param userId 用户id * @param userId 用户id
* @return 用户信息 * @return 用户信息
*/ */
R<Integer> getById(String userId); User getById(String userId);
R<Integer> getById1(String userId);
/** /**
* 获取用户信息 * 获取用户信息
* @param userId 用户id * @param userId 用户id
* @return 用户信息 * @return 用户信息
*/ */
Integer getByUserId(String userId); User getByUserId(String userId);
//根据手机号查询用户 //根据手机号查询用户
public User queryUsersByPhone(String id); public User queryUsersByPhone(String id);
...@@ -34,7 +36,7 @@ public interface UserService { ...@@ -34,7 +36,7 @@ public interface UserService {
/** /**
*用户注册 *用户注册
*/ */
Integer userByZx(String userId, String beInvitedCode); R userByZx(String userId, String beInvitedCode);
// Integer selectbyint(String userId,String beInvitedCode); // Integer selectbyint(String userId,String beInvitedCode);
// //
......
...@@ -3,7 +3,10 @@ package cn.wisenergy.service.app.impl; ...@@ -3,7 +3,10 @@ package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.common.utils.ShareCodeUtil; import cn.wisenergy.common.utils.ShareCodeUtil;
import cn.wisenergy.mapper.RecommendUserMapper; import cn.wisenergy.mapper.RecommendUserMapper;
import cn.wisenergy.mapper.TeamUserInfoMapper;
import cn.wisenergy.mapper.UsersMapper; import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.RecommendUser;
import cn.wisenergy.model.app.TeamUserInfo;
import cn.wisenergy.model.app.User; import cn.wisenergy.model.app.User;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -13,7 +16,6 @@ import org.springframework.stereotype.Service; ...@@ -13,7 +16,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.xml.transform.Result;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -31,21 +33,29 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -31,21 +33,29 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Autowired @Autowired
private UsersMapper usersMapper; private UsersMapper usersMapper;
//直推表 //直推表userId
@Autowired @Autowired
private RecommendUserMapper recommendUserMapper; private RecommendUserMapper recommendUserMapper;
@Override //团队表
public R<Integer> getById(String userId) { @Autowired
private TeamUserInfoMapper teamUserInfoMapper;
return R.ok(usersMapper.getByUserId(userId)); @Override
public User getById(String userId) {
return null;
} }
@Override @Override
public Integer getByUserId(String userId) { public R<Integer> getById1(String userId) {
return usersMapper.getByUserId(userId);
return R.ok(usersMapper.ByUserId(userId));
} }
@Override
public User getByUserId(String userId) {
return null;
}
@Override @Override
...@@ -65,35 +75,85 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -65,35 +75,85 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
} }
@Override @Override
public Integer userByZx(String userId, String beInvitedCode) { public R userByZx(String userId, String beInvitedCode) {
/** /**
* 判断用户等级是否为空,空的话填写0 * 判断用户推荐人的邀请码是否为空,空的话填写1
*/ */
if(null==beInvitedCode || ""==beInvitedCode){ if (null == beInvitedCode || "" == beInvitedCode) {
beInvitedCode= String.valueOf(1); beInvitedCode = String.valueOf(1);
}
//用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改
User user=usersMapper.getByBeInvitedCode(beInvitedCode);
int ida = user.getId();
// 邀请人的被邀请码
String byqm= user.getBeInvitedCode();
// 通过被邀请码,比对本人邀请码查询本人id
int idb=usersMapper.beInvitedCode1(beInvitedCode);
//判断被邀请用户的创建时间是否比推荐人的用户时间晚
if(idb<ida){
return R.error(1,"邀请码无效,请重新填写!");
} }
// 插入用户手机号与推荐人邀请码 // 插入用户手机号与推荐人邀请码
usersMapper.insertbyint(userId,beInvitedCode); usersMapper.insertbyint(userId, beInvitedCode);
//根据插入的用户手机号,查询用户唯一ID //根据插入的用户手机号,查询用户唯一ID
Integer yqm=usersMapper.getByUserId(userId); Integer yqm = usersMapper.ByUserId(userId);
//用户唯一ID调用生成6位邀请码 //用户唯一ID调用生成6位邀请码
String inviteCode= ShareCodeUtil.idToCode(yqm); String inviteCode = ShareCodeUtil.idToCode(yqm);
//根据用户手机号,更新用户信息 //根据用户手机号,更新用户信息
User user = new User(); user = new User();
user.setInviteCode(inviteCode); user.setInviteCode(inviteCode);
user.setUserLevel(0); user.setUserLevel(0);
usersMapper.updateById(user); usersMapper.updateById(user);
//插入直推用户表
//插入直推用户表
RecommendUser recommendUser = new RecommendUser();
recommendUser.setUserId(userId);
recommendUserMapper.insert(recommendUser);
//插入用户团队表 //插入用户团队表
TeamUserInfo teamUserInfo = new TeamUserInfo();
//根据邀请码查询推荐人的普通用户字段+1 teamUserInfo.setUserId(userId);
Integer a=recommendUserMapper.zcByUserId(userId); teamUserInfoMapper.insert(teamUserInfo);
if(null!=a && 0 != a){ //根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID=userid
String userid = String.valueOf(usersMapper.inviteCodeBeInvitedCode(Integer.valueOf(beInvitedCode)));
//根据用户推荐人的userid,查询数据库,看推荐人用户是否存在
Integer a = recommendUserMapper.zcByUserId(userid);
//判断从数据库中是否存在该用户 如果存在,普通用户+1
if (null != a && 0 != a) {
Integer normalUserNum = recommendUser.getNormalUserNum();
//更新直推表用户中的普通用户字段+1
recommendUser.setNormalUserNum(normalUserNum + 1);
//更新直推表用户数据
recommendUserMapper.updateById(recommendUser);
} else {
return R.error(1, "验证码无效");
} }
//根据邀请码递归所有团队成员普通用户+1 //递归向上修改团队用户信息表
teamgg(beInvitedCode);
return R.ok("直推表普通用户数量+1成功!",0);
} }
//私有构造方法-传入被邀请码
private R teamgg(String beInvitedCode) {
//用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改
User user=usersMapper.getByBeInvitedCode(beInvitedCode);
//根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID=userid
String userid = String.valueOf(usersMapper.inviteCodeBeInvitedCode(Integer.valueOf(beInvitedCode)));
//根据用户推荐人的userid,查询数据库,看推荐人用户是否存在
Integer c = teamUserInfoMapper.czByUserId(userid);
if (null != c && 0 != c) {
TeamUserInfo teamUserInfo = new TeamUserInfo();
int normalUserNum1 = teamUserInfo.getNormalUserNum();
//更新团队表用户中的普通用户字段+1
teamUserInfo.setNormalUserNum(normalUserNum1 + 1);
//更新团队表用户数据
teamUserInfoMapper.updateById(teamUserInfo);
} else {
return R.error(0, "验证码无效");
}
beInvitedCode=user.getBeInvitedCode();
//递归向上修改团队用户信息表
teamgg(beInvitedCode);
return R.ok("团队表普通用户数量+1成功!",0);
}
} }
...@@ -171,6 +171,10 @@ ...@@ -171,6 +171,10 @@
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" /> <orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" /> <orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-core:1.0.7-RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-gen:1.0.7.78771202102051104-RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-api:1.0.7-RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-common:1.0.7-RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" /> <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" /> <orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" />
...@@ -178,6 +182,7 @@ ...@@ -178,6 +182,7 @@
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" /> <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
......
...@@ -48,11 +48,7 @@ ...@@ -48,11 +48,7 @@
<version>2.5</version> <version>2.5</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies> </dependencies>
<!-- MAVEN构建 --> <!-- MAVEN构建 -->
......
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.RedisUtils; import cn.wisenergy.common.enums.ResultEnum;
import cn.wisenergy.common.utils.SmsUtils; import cn.wisenergy.common.utils.*;
import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.web.sms.*; import cn.wisenergy.web.sms.*;
import cn.wisenergy.web.sms.Constants;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@Api(tags = "发送手机验证码 codeType 0注册/登录验证 1修改密码 2订单通知信息")
@Slf4j
@RequestMapping("/api/sms") @RequestMapping("/api/sms")
@RestController @RestController
public class SmsController { public class SmsController {
...@@ -32,9 +36,30 @@ public class SmsController { ...@@ -32,9 +36,30 @@ public class SmsController {
@ApiOperation(value = "发送验证码", notes = "发送验证码", httpMethod = "POST", produces = "application/json; charset=UTF-8") @ApiOperation(value = "发送验证码", notes = "发送验证码", httpMethod = "POST", produces = "application/json; charset=UTF-8")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "phone", value = "用户手机号", required = true, dataType = "String"), @ApiImplicitParam(name = "phone", value = "用户手机号", required = true, dataType = "String"),
@ApiImplicitParam(name = "codeType", value = "验证码", dataType = "Integer")}) @ApiImplicitParam(name = "codeType", value = "验证码类型用途 0注册/登录验证 1修改密码 2订单通知信息", dataType = "Integer")})
@RequestMapping("/verifyCode") @RequestMapping("/verifyCode")
public Result verifyCode(String phone,Integer codeType) throws Exception { public Result verifyCode(String phone, Integer codeType) throws Exception {
// //判断phone和codeType是否符合输入类型
// if(!phone.matches(Constants.RegConstant.PHONE_REGSTR)){
// throw new BaseException(ResultEnum.PHONE_ERROR);
// }
// if(codeType!=Constants.Sms.CodeType.LOGIN_OR_REGISTER && codeType!=Constants.Sms.CodeType.PASS_UPDATE && codeType!=Constants.Sms.CodeType.ORDER_NOTICE){
// throw new BaseException(ResultEnum.CODETYPE_ERROR);
// }
// String key= StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX,Constants.RedisKey.SMS_PRIFIX,phone,codeType+"");
// //判断是否超过60S
// String oldCode=redisUtils.getValue(key);
// if(!StringUtils.isBlank(oldCode)){
// throw new BaseException(ResultEnum.CODESEND_ERROR);
// }
// //生成随机数
// String code= MathUtils.random();
// //保存至Redis
// redisUtils.set(key,code,Constants.Duration.MINUTE_INT);
//
//
// boolean flag=smsUtils.sendMessage(phone,Constants.Sms.TemplateCode.LOGIN_DL_REGISTER,code);
// return flag? ResultUtils.returnSuccess():ResultUtils.returnFail();
//判断phone和codeType是否符合输入类型 //判断phone和codeType是否符合输入类型
if(!phone.matches(Constants.RegConstant.PHONE_REGSTR)){ if(!phone.matches(Constants.RegConstant.PHONE_REGSTR)){
throw new BaseException(ResultEnum.PHONE_ERROR); throw new BaseException(ResultEnum.PHONE_ERROR);
...@@ -43,16 +68,13 @@ public class SmsController { ...@@ -43,16 +68,13 @@ public class SmsController {
throw new BaseException(ResultEnum.CODETYPE_ERROR); throw new BaseException(ResultEnum.CODETYPE_ERROR);
} }
String key= StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX,Constants.RedisKey.SMS_PRIFIX,phone,codeType+""); String key= StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX,Constants.RedisKey.SMS_PRIFIX,phone,codeType+"");
//判断是否超过60S
String Codekey=redisUtils.getValue(key);
if(!StringUtils.isBlank(Codekey)){
throw new BaseException(ResultEnum.CODESEND_ERROR);
}
//生成随机数 //生成随机数
String code= MathUtils.random(); String code= MathUtils.random();
//保存至Redis //保存至Redis
redisUtils.set(Codekey,code,Constants.Duration.MINUTE_INT); redisUtils.set(key,code,Constants.Duration.MINUTE_INT);
boolean flag=smsUtils.sendMessage(phone,Constants.Sms.TemplateCode.LOGIN_DL_REGISTER,code);
boolean flag=smsUtils.sendMessage(phone,Constants.Sms.TemplateCode.LOGIN_SF_REGISTER,code);
return flag? ResultUtils.returnSuccess():ResultUtils.returnFail(); return flag? ResultUtils.returnSuccess():ResultUtils.returnFail();
} }
} }
\ No newline at end of file
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.Result;
import cn.wisenergy.common.utils.ResultUtils;
import cn.wisenergy.common.utils.ShareCodeUtil;
import cn.wisenergy.common.utils.SmsUtils; import cn.wisenergy.common.utils.SmsUtils;
import cn.wisenergy.web.sms.Result;
import cn.wisenergy.web.sms.ResultUtils;
import cn.wisenergy.web.sms.ShareCodeUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
......
...@@ -3,21 +3,15 @@ package cn.wisenergy.web.admin.controller.app; ...@@ -3,21 +3,15 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.constant.RedisConsts; import cn.wisenergy.common.constant.RedisConsts;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.common.utils.RedisUtils; import cn.wisenergy.common.utils.RedisUtils;
import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.model.app.User; import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.common.BaseController; import cn.wisenergy.web.common.BaseController;
import cn.wisenergy.web.config.JwtConfig; import cn.wisenergy.web.config.JwtConfig;
import cn.wisenergy.web.shiro.JwtUtil; import cn.wisenergy.web.shiro.JwtUtil;
import cn.wisenergy.web.sms.*;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -53,7 +47,7 @@ public class UserController extends BaseController { ...@@ -53,7 +47,7 @@ public class UserController extends BaseController {
@ApiOperation(value = "获取用户信息", notes = "获取用户信息", httpMethod = "GET") @ApiOperation(value = "获取用户信息", notes = "获取用户信息", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "String") @ApiImplicitParam(name = "userId", value = "用户id", dataType = "String")
@GetMapping("/getByUserId") @GetMapping("/getByUserId")
public R<User> getByUserId(String userId){ public User getByUserId(String userId){
return userService.getById(userId); return userService.getById(userId);
} }
......
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.enums.ResultEnum;
import cn.wisenergy.common.utils.*;
import cn.wisenergy.web.sms.*; import cn.wisenergy.web.sms.*;
import cn.wisenergy.common.utils.RedisUtils;
import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.model.app.User; import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UsersDto; import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.sms.Constants;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
...@@ -19,15 +20,14 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -19,15 +20,14 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/** /**
* *
* Created by m1991 on 2021/3/2 13:35 * Created by m1991 on 2021/3/2 13:35
*/ */
@Api(tags = "登录/注册") @Api(tags = "登录/注册")
@Slf4j @Slf4j
@RequestMapping("/api/user/login/sms") @RequestMapping("/api/user")
@RestController @RestController
public class loginController { public class loginController {
@Autowired @Autowired
...@@ -47,12 +47,12 @@ public class loginController { ...@@ -47,12 +47,12 @@ public class loginController {
* @throws Exception * @throws Exception
*/ */
@ApiOperation(value = "登录", notes = "登录", httpMethod = "POST", produces = "application/json; charset=UTF-8") @ApiOperation(value = "登录", notes = "登录", httpMethod = "POST", produces = "application/json;charset=UTF-8")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "sms", value = "验证码", dataType = "String"), @ApiImplicitParam(name = "sms", value = "验证码", dataType = "String"),
@ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String")}) @ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String")})
@RequestMapping("/login/sms") @RequestMapping("/login")
public Result loginBySms(String userId,String sms)throws Exception{ public Result loginBySms(String userId, String sms)throws Exception{
User users=null; User users=null;
String key= StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX,Constants.RedisKey.SMS_PRIFIX,userId,Constants.Sms.CodeType.LOGIN_OR_REGISTER+""); String key= StringUtil.formatKeyWithPrefix(Constants.RedisKey.PROJECT_PRIFIX,Constants.RedisKey.SMS_PRIFIX,userId,Constants.Sms.CodeType.LOGIN_OR_REGISTER+"");
String redisCode=redisUtils.getValue(key); String redisCode=redisUtils.getValue(key);
......
...@@ -60,6 +60,7 @@ public class ShiroConfig { ...@@ -60,6 +60,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/swagger-ui.html", "anon"); // swagger接口-匿名访问 filterChainDefinitionMap.put("/swagger-ui.html", "anon"); // swagger接口-匿名访问
filterChainDefinitionMap.put("/swagger/**", "anon"); filterChainDefinitionMap.put("/swagger/**", "anon");
filterChainDefinitionMap.put("/user/**", "anon"); filterChainDefinitionMap.put("/user/**", "anon");
filterChainDefinitionMap.put("/api/user/**", "anon");
filterChainDefinitionMap.put("/webjars/springfox-swagger-ui/**", "anon"); filterChainDefinitionMap.put("/webjars/springfox-swagger-ui/**", "anon");
filterChainDefinitionMap.put("/swagger-resources/**", "anon"); filterChainDefinitionMap.put("/swagger-resources/**", "anon");
filterChainDefinitionMap.put("/v2/api-docs", "anon"); filterChainDefinitionMap.put("/v2/api-docs", "anon");
......
package cn.wisenergy.web.sms; package cn.wisenergy.web.sms;
import cn.wisenergy.common.enums.ResultEnum;
/** /**
* *
* 通用异常的处理 * 通用异常的处理
...@@ -27,6 +29,8 @@ public class BaseException extends Exception { ...@@ -27,6 +29,8 @@ public class BaseException extends Exception {
// 错误信息 // 错误信息
private String errorMessage; private String errorMessage;
public static long getSerialVersionUID() { public static long getSerialVersionUID() {
return serialVersionUID; return serialVersionUID;
} }
......
package cn.wisenergy.web.sms;
import java.util.zip.CRC32;
/**
*
* @author eaves.zhu
*/
public class DeviceIdUtil {
/**
* @author eaves.zhu
* @param deviceId
* @return int
* CRC32
*/
public static long getCRC32(String deviceId){
CRC32 crc32 = new CRC32();
crc32.update(deviceId.getBytes());
long tmp = crc32.getValue();
return tmp;
}
}
\ No newline at end of file
package cn.wisenergy.web.sms;
import org.apache.log4j.Logger;
/**
*
* @author zen.wang zenyes@gmail.com
*/
public class ShareCodeUtil {
/** 自定义进制(0,1没有加入,容易与o,l混淆) */
private static final char[] r=new char[]{'F', 'L', 'G', 'W', '5', 'X', 'C', '3', '9', 'Z', 'M', '6', '7', 'Y', 'R', 'T', '2', 'H', 'S', '8', 'D', 'V', 'E', 'J', '4', 'K', 'Q', 'P', 'U', 'A', 'N', 'B'};
/** 进制长度 */
private static final int binLen=r.length;
private static Logger logger = Logger.getLogger(ShareCodeUtil.class);
private static final long startNumber = 100048576L;
// private static final long startNumber = 0L;
/**
*
* @param id ID
* @return 随机码
*/
public static String idToCode(long id,long costomStartNumber) {
if(costomStartNumber<0){
costomStartNumber = startNumber;
}
id += costomStartNumber;
char[] buf=new char[32];
int charPos=32;
while((id / binLen) > 0) {
int ind=(int)(id % binLen);
// System.out.println(num + "-->" + ind);
buf[--charPos]=r[ind];
id /= binLen;
}
buf[--charPos]=r[(int)(id % binLen)];
// System.out.println(num + "-->" + num % binLen);
String str=new String(buf, charPos, (32 - charPos));
return str.toUpperCase();
}
public static String idToCode(long idL){
return idToCode(idL,-1L);
}
public static String idToCode(String id){
long idL = Long.parseLong(id);
return idToCode(idL,-1L);
}
public static String idToCode(String id,long costomStartNumber){
long idL = Long.parseLong(id);
return idToCode(idL,costomStartNumber);
}
public static long codeToId(String code) {
code = code.toUpperCase();
char chs[]=code.toCharArray();
long res=0L;
for(int i=0; i < chs.length; i++) {
int ind=0;
for(int j=0; j < binLen; j++) {
if(chs[i] == r[j]) {
ind=j;
break;
}
}
if(i > 0) {
res=res * binLen + ind;
} else {
res=ind;
}
// logger.debug(ind + "-->" + res);
}
res -= startNumber;
return res;
}
}
\ No newline at end of file
package cn.wisenergy.web.sms.interceptor; package cn.wisenergy.web.sms.interceptor;
import cn.wisenergy.common.enums.ResultEnum;
import cn.wisenergy.common.utils.ResponseOutput;
import cn.wisenergy.common.utils.Result;
import cn.wisenergy.common.utils.ResultUtils;
import cn.wisenergy.web.sms.*; import cn.wisenergy.web.sms.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
package cn.wisenergy.web.sms.interceptor; package cn.wisenergy.web.sms.interceptor;
import cn.wisenergy.common.enums.ResultEnum;
import cn.wisenergy.common.utils.RedisUtils; import cn.wisenergy.common.utils.RedisUtils;
import cn.wisenergy.common.utils.ResponseOutput;
import cn.wisenergy.common.utils.StringUtil; import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.web.sms.*; import cn.wisenergy.web.sms.*;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -28,7 +30,7 @@ public class LoginInterceptor extends HandlerInterceptorAdapter { ...@@ -28,7 +30,7 @@ public class LoginInterceptor extends HandlerInterceptorAdapter {
/** /**
* 直接放行的接口 * 直接放行的接口
*/ */
public static String[] EXCLUDE_URI = new String[]{"/pay/alipay/notify", "/pay/alipay/return", "/user/wechat/callback"}; public static String[] EXCLUDE_URI = new String[]{"/api/user/login", "/pay/alipay/notify", "/pay/alipay/return", "/user/wechat/callback"};
/** /**
* 需要登录才可以访问的接口 * 需要登录才可以访问的接口
......
package cn.wisenergy.web.sms.interceptor; package cn.wisenergy.web.sms.interceptor;
import cn.wisenergy.web.sms.ResponseOutput; import cn.wisenergy.common.enums.ResultEnum;
import cn.wisenergy.web.sms.ResultEnum; import cn.wisenergy.common.utils.ResponseOutput;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
...@@ -134,6 +134,10 @@ ...@@ -134,6 +134,10 @@
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" /> <orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" /> <orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-core:1.0.7-RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-gen:1.0.7.78771202102051104-RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-api:1.0.7-RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.youzan.cloud:open-sdk-common:1.0.7-RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.4.0" level="project" />
...@@ -178,7 +182,6 @@ ...@@ -178,7 +182,6 @@
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-dysmsapi:1.0.0" level="project" /> <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-dysmsapi:1.0.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:servlet-api:2.5" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:servlet-api:2.5" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" /> <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" /> <orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" />
...@@ -186,6 +189,7 @@ ...@@ -186,6 +189,7 @@
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" /> <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment