Commit 5942f5df authored by 王亮's avatar 王亮

update RequestHeader(app_id and tenantId)

parent 9238ed78
......@@ -34,6 +34,7 @@ public interface Constants {
String X_AUTH_TOKEN = "x-auth-token";
String X_AUTH_TENANT = "qg-tenant-id";
String X_AUTH_APP_ID = "qg-app-id";
String X_AUTH_FROM = "qg-registered-from";
......@@ -97,6 +98,8 @@ public interface Constants {
String REDIRECT_ORDER = "orders";
String DOCKER_DOMAIN = "liangkebang";
String WECHAT_ACCESS_TOKEN_REDIS="user:wechat:mini:token:";
/**
* 微信标识参数名
*/
......
package cn.quantgroup.xyqb.config.data;
import cn.quantgroup.xyqb.exception.BizException;
import cn.quantgroup.xyqb.exception.BizExceptionEnum;
import cn.quantgroup.xyqb.model.WechatConfigBean;
import com.alibaba.fastjson.JSONArray;
import com.ctrip.framework.apollo.ConfigService;
import lombok.Getter;
import org.springframework.stereotype.Component;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;
import java.util.Optional;
@Component
@Getter
public class WechatConfiguration {
private final List<WechatConfigBean> list;
public WechatConfiguration() {
String data = ConfigService.getAppConfig().getProperty("wechat.configs", "[]");
list = JSONArray.parseArray(data, WechatConfigBean.class);
}
public WechatConfigBean getByAppIdAndTenantId(String appId, Integer tenantId){
Optional<WechatConfigBean> optional = list.stream().filter(i->i.getAppId().equals(appId)&&i.getTenantId().equals(tenantId)).findFirst();
if(!optional.isPresent()){
throw new BizException(BizExceptionEnum.ERROR_WECHAT_APP_ID);
}else{
return optional.get();
}
}
}
......@@ -40,10 +40,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
......@@ -125,8 +122,8 @@ public class UserController implements IBaseController {
@RequestParam(required = false, defaultValue = "") String userId,
@RequestParam(required = false, defaultValue = "xyqb") String key,
@RequestParam(required = false) String dimension,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId,
@RequestParam(value = "tenantId", defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId,
@RequestHeader(value = Constants.X_AUTH_TENANT, defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
,
HttpServletRequest request) {
log.info("loginV1 -> channelId:{},appChennel:{},createdFrom:{},userId:{},key:{},dimension:{}", channelId, appChannel, createdFrom, userId, key, dimension);
......@@ -160,8 +157,8 @@ public class UserController implements IBaseController {
@RequestParam(required = false) String dimension,
@RequestParam Long geetestlog_id,
HttpServletRequest request,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestParam(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId,
@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info("loginV2 -> channelId:{},appChennel:{},createdFrom:{},userId:{},key:{},dimension:{}", channelId, appChannel, createdFrom, userId, key, dimension);
return login(channelId, appChannel, createdFrom, userId, key, dimension, geetestlog_id, request,appId,tenantId);
......@@ -183,8 +180,8 @@ public class UserController implements IBaseController {
@RequestParam(required = false) String dimension,
@RequestParam(required = false) Long geetestLogId,
HttpServletRequest request,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId,
@RequestParam(value = "tenantId", defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId,
@RequestHeader(value = Constants.X_AUTH_TENANT, defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info("login -> channelId:{},appChannel:{},createdFrom:{},userId:{},key:{},dimension:{}", channelId, appChannel, createdFrom, userId, key, dimension);
Merchant merchant = merchantService.findMerchantByName(key);
......@@ -222,7 +219,7 @@ public class UserController implements IBaseController {
@RequestParam(required = false) String dimension,
@RequestParam(name = "click_id", required = false) String clickId,
@RequestParam(required = false) Integer tenantId,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId,
@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId,
HttpServletRequest request) {
log.info("login/fastV1 -> channelId:{},ZappChennel:{},createdFrom:{},key:{},btRegisterChannelId:{},dimension:{},clickId:{}", channelId, appChannel, createdFrom, key, btRegisterChannelId, dimension, clickId);
return loginFast(channelId, appChannel, createdFrom, key, btRegisterChannelId, dimension, clickId, tenantId, null,appId, request);
......@@ -243,7 +240,7 @@ public class UserController implements IBaseController {
@RequestParam(name = "click_id", required = false) String clickId,
@RequestParam(required = false) Integer tenantId,
@RequestParam(required = false) Long geetestLogId,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId,
@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId,
HttpServletRequest request) {
Map<String, JsonResult> validMap = getHeaderParam(request);
log.info("login/fast -> channelId:{},appChannel:{},createdFrom:{},btRegisterChannelId:{},key:{},dimension:{},clickId:{}", channelId, appChannel, createdFrom, btRegisterChannelId, key, dimension, clickId);
......@@ -323,7 +320,7 @@ public class UserController implements IBaseController {
@RequestParam String verificationCode, @RequestParam(required = false) Long channelId,
@RequestParam(required = false) Long registerFrom,
@RequestParam(required = false) Long btRegisterChannelId, @RequestParam(required = false) String dimension,
@RequestParam(value = "tenantId", defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestHeader(value = Constants.X_AUTH_TENANT, defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info("用户注册:register -> phoneNo:{}, verificationCode:{}, channelId:{}, registerFrom:{},btRegisterChannelId:{},dimension:{}", phoneNo, verificationCode, channelId, registerFrom, btRegisterChannelId, dimension);
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
......@@ -371,7 +368,7 @@ public class UserController implements IBaseController {
@IpValidator
@RequestMapping("/exist")
@Deprecated
public JsonResult exist(@RequestParam String phoneNo, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult exist(@RequestParam String phoneNo, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info("检查用户是否存在, phoneNo:{}", phoneNo);
if (userService.exist(phoneNo,tenantId)) {
......@@ -392,7 +389,7 @@ public class UserController implements IBaseController {
@IpValidator
@RequestMapping("/exist_check")
@Deprecated
public JsonResult existForResetPwd(@RequestParam String phoneNo, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult existForResetPwd(@RequestParam String phoneNo, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info("检查用户是否存在, phoneNo:{},remoteIp:{}", phoneNo, getIp());
return JsonResult.buildSuccessResult(null, userService.exist(phoneNo,tenantId));
......@@ -411,7 +408,7 @@ public class UserController implements IBaseController {
public JsonResult resetPassword(@RequestParam String phoneNo,
@RequestParam String password,
@RequestParam(required = false) String registerFrom,
@RequestParam String verificationCode, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestParam String verificationCode, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult("手机号错误", null);
......@@ -447,7 +444,7 @@ public class UserController implements IBaseController {
@Deprecated
@PasswordFreeAccessValidator
@RequestMapping(path = "/resetPassword", method = RequestMethod.POST)
public JsonResult resetPassword(@RequestParam String phoneNo, @RequestParam String password, @RequestParam(required = false) String passwordNew, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult resetPassword(@RequestParam String phoneNo, @RequestParam String password, @RequestParam(required = false) String passwordNew,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult("手机号错误", null);
......@@ -633,7 +630,7 @@ public class UserController implements IBaseController {
@AccessForbiddenValidator
@PasswordFreeAccessValidator
@RequestMapping("/center/index")
public JsonResult userCenterIndex(@RequestParam(value = "tenantId", defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult userCenterIndex(@RequestHeader(value = Constants.X_AUTH_TENANT, defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
UserBrief brief = new UserBrief();
......@@ -678,7 +675,7 @@ public class UserController implements IBaseController {
* @yapi http://yapi.quantgroups.com/project/17/interface/api/23661
*/
@RequestMapping(value = "/logout", method = RequestMethod.GET)
public JsonResult logout(HttpServletRequest request, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult logout(HttpServletRequest request, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
String token = request.getHeader("x-auth-token");
......@@ -885,7 +882,7 @@ public class UserController implements IBaseController {
@RequestParam(required = false, defaultValue = "") Long userId,
@RequestParam(required = false, defaultValue = "xyqb") String key,
@RequestParam(required = false) String dimension
, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
//查询用户
......
......@@ -183,8 +183,8 @@ public class WeChatController implements IBaseController {
@RequestMapping("/receiveCode/extdata/{key}/{extdata}")
public void receiveCodeWithExtData(String code, @PathVariable(value = "key") String systemKey,
@PathVariable(value = "extdata") String extData, HttpServletResponse response,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId
,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId ) {
@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId
,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId ) {
Long registerFrom = null;
String redirect = null;
String schema = null;
......@@ -348,8 +348,8 @@ public class WeChatController implements IBaseController {
*/
@RequestMapping("/receiveCode/{key}")
public void receiveCodeNoRedirect(String code, @PathVariable(value = "key") String systemKey, HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId,
@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
Long registerFrom = null;
String redirect = null;
String schema = Constants.PROTOCOL_HEAD_HTTP;
......@@ -462,7 +462,7 @@ public class WeChatController implements IBaseController {
@RequestMapping("/userIdToUnionId")
public JsonResult userIdToUnionId(@RequestParam Long userId,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
List<WechatUserInfo> wechatUserInfoList = null;
if (userId != null && userId > 0) {
wechatUserInfoList = wechatService.queryListByUserId(userId,tenantId);
......@@ -471,7 +471,7 @@ public class WeChatController implements IBaseController {
}
@RequestMapping("/unionIdToUserId")
public JsonResult unionIdToUserId(@RequestParam String unionId,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult unionIdToUserId(@RequestParam String unionId,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
List<WechatUserInfo> wechatUserInfoList = null;
if (unionId != null && !"".equals(unionId)) {
wechatUserInfoList = wechatService.queryListByUnionId(unionId,tenantId);
......@@ -480,7 +480,7 @@ public class WeChatController implements IBaseController {
}
@PostMapping("/unionIdToUserIds")
public JsonResult unionIdToUserIds(@RequestBody Map<String, Object> params, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult unionIdToUserIds(@RequestBody Map<String, Object> params, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
List<WechatUserInfo> wechatUserInfoList = null;
if (MapUtils.isNotEmpty(params)) {
List<String> unionIds = (List<String>) params.get("unionIds");
......
package cn.quantgroup.xyqb.controller.internal.user;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.constant.enums.LoginType;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
......@@ -28,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.Authentication;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -72,7 +74,7 @@ public class AppController implements IBaseController {
@RequestParam(required = false) Long registerFrom,
@RequestParam(required = true) Long channelId,
@RequestParam(required = true) String appChannel,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
HttpServletRequest request) {
if (TenantUtil.validationTenantIdIsNullOrZero(tenantId)) {
......@@ -153,7 +155,7 @@ public class AppController implements IBaseController {
@RequestParam(required = false, defaultValue = "1") Long registerFrom,
@RequestParam(required = false, defaultValue = "1") Long channelId,
@RequestParam(required = false, defaultValue = "") String appChannel,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
HttpServletRequest request) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
......@@ -208,7 +210,7 @@ public class AppController implements IBaseController {
@RequestParam(required = false, defaultValue = "1") Long registerFrom,
@RequestParam(required = false, defaultValue = "1") Long channelId,
@RequestParam(required = false, defaultValue = "") String appChannel,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
HttpServletRequest request) {
if (TenantUtil.validationTenantIdIsNullOrZero(tenantId)) {
......@@ -319,7 +321,7 @@ public class AppController implements IBaseController {
@RequestParam(required = false, defaultValue = "1") Long registerFrom,
@RequestParam(required = false, defaultValue = "1") Long channelId,
@RequestParam(required = false, defaultValue = "") String appChannel,
@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
HttpServletRequest request) {
//默认羊小咩租户
if (TenantUtil.validationTenantIdIsNullOrZero(tenantId)) {
......
......@@ -107,7 +107,7 @@ public class InnerController implements IBaseController {
@Deprecated
@IpValidator
@RequestMapping("/fetchUuid")
public JsonResult fetchUuid(String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult fetchUuid(String phoneNo,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
String uuid = userService.findUuid(phoneNo,tenantId);
log.info("根据手机号或身份证号查询用户UUID,phoneNo:{},uuid:{}", phoneNo, uuid);
......@@ -147,7 +147,7 @@ public class InnerController implements IBaseController {
* @yapi http://yapi.quantgroups.com/project/17/interface/api/229
*/
@RequestMapping("/userInfo/search/uuid")
public JsonResult findUserInfoByUuid(@RequestParam(value = "uuid") String uuid,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserInfoByUuid(@RequestParam(value = "uuid") String uuid,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
log.info("需要查询的用户uuidid, uuid:" + uuid);
if (StringUtils.isBlank(uuid)) {
......@@ -170,7 +170,7 @@ public class InnerController implements IBaseController {
*/
@AccessForbiddenValidator
@RequestMapping("/userInfo/search/phone")
public JsonResult findUserInfoByPhone(@RequestParam(value = "phone") String phone,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserInfoByPhone(@RequestParam(value = "phone") String phone,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
log.info("需要查询的用户phone, phone:" + phone);
if (StringUtils.isBlank(phone)) {
......@@ -257,7 +257,7 @@ public class InnerController implements IBaseController {
String phoneNo,
@ChineseName @RequestParam String name,
String idNo,
String email, String qq,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
String email, String qq,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info(
"保存用户详细信息,[saveUserDetail] userId:{},phoneNo:{},name:{},idNo:{},email:{},qq:{}",
......@@ -368,7 +368,7 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping("/user_full_info/search/phone")
public JsonResult findUserFullInfoByPhone(String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserFullInfoByPhone(String phoneNo,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(phoneNo)) {
log.warn("[findUserFullInfoByPhone]phoneNo为空");
return JsonResult.buildErrorStateResult(null, null);
......@@ -388,7 +388,7 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping("/user_full_info/search/uuid")
public JsonResult findUserFullInfoByUUuid(String uuid,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserFullInfoByUUuid(String uuid,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(uuid)) {
log.warn("[findUserFullInfoByUUuid]uuid为空");
return JsonResult.buildErrorStateResult(null, null);
......@@ -410,7 +410,7 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping("/user_detail/update")
public JsonResult updateUserDetail(String qq, String email, Long userId,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult updateUserDetail(String qq, String email, Long userId,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
if (Objects.isNull(userId) || userId == 0L) {
return JsonResult.buildErrorStateResult("userId为空", null);
......@@ -425,7 +425,7 @@ public class InnerController implements IBaseController {
}
@RequestMapping("/user_detail/update/qq")
public JsonResult updateUserQQ(String qq, Long userId,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult updateUserQQ(String qq, Long userId,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isEmpty(qq) || userId == null || userId == 0L) {
return JsonResult.buildErrorStateResult("参数校验失败,qq或用户id为空", null);
}
......@@ -434,7 +434,7 @@ public class InnerController implements IBaseController {
}
@RequestMapping("/user/query/openId")
public JsonResult queryOpenIdByUserId(Long userId,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult queryOpenIdByUserId(Long userId,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (userId == null) {
return JsonResult.buildErrorStateResult("userId不能为空", null);
}
......@@ -455,7 +455,7 @@ public class InnerController implements IBaseController {
* @return 详细信息包含: { 账号信息 个人信息 }
*/
@RequestMapping("/user-association/search")
public JsonResult findUserAssociationModel(Long id, String phoneNo, String uuid,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserAssociationModel(Long id, String phoneNo, String uuid,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = null;
if (!Objects.isNull(id) && id > 0) {
user = userService.findById(id,tenantId);
......@@ -509,7 +509,7 @@ public class InnerController implements IBaseController {
public JsonResult findUserAssociationModelByUserId(
@RequestParam(name = "userId", required = false) Long userId,
@RequestParam(name = "phoneNo", required = false) String phoneNo
,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
,@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
boolean userIdOk = Objects.nonNull(userId) && userId > 0;
boolean phoneNoOk = ValidationUtil.validatePhoneNo(phoneNo);
if (!userIdOk && !phoneNoOk) {
......@@ -531,19 +531,19 @@ public class InnerController implements IBaseController {
* @return
*/
@GetMapping("/user-full/search/userId")
public JsonResult<UserFullResp> findUserFullSearchByUserId(@RequestParam Long userId,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult<UserFullResp> findUserFullSearchByUserId(@RequestParam Long userId,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
return JsonResult.buildSuccessResultGeneric(userService.findUserFullSearchByUserId(userId,tenantId));
}
@RequestMapping("/user-association/search/phone")
public JsonResult findUserAssociationByPhone(String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserAssociationByPhone(String phoneNo,@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
UserInfoEntity userInfoEntity = userInfoRepository.findByPhoneNoAndTenantId(phoneNo,tenantId);
UserAssociation bean = getUserAssociation(userInfoEntity);
return JsonResult.buildSuccessResult("", bean);
}
@RequestMapping("/user-association/search/uid")
public JsonResult findUserAssociationByUid(Long uid,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findUserAssociationByUid(Long uid,@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
UserInfoEntity userDetail = userInfoRepository.findByUserIdAndTenantId(uid,tenantId);
UserAssociation bean = getUserAssociation(userDetail);
return JsonResult.buildSuccessResult("", bean);
......@@ -569,8 +569,8 @@ public class InnerController implements IBaseController {
@RequestMapping("/user/wechat/phone_no")
public JsonResult queryOpenIdByPhoneNo(String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
,@RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId) {
public JsonResult queryOpenIdByPhoneNo(String phoneNo,@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
,@RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult("手机号格式错误", null);
......@@ -611,7 +611,7 @@ public class InnerController implements IBaseController {
}
@RequestMapping("/user/findByPhones")
public JsonResult getUserIdByPhones(@RequestParam("userPhones") String userPhones, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult getUserIdByPhones(@RequestParam("userPhones") String userPhones, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(userPhones)) {
return JsonResult.buildErrorStateResult("传入用户手机号不可为空", null);
}
......@@ -643,7 +643,7 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping("/uuid/findByPhones")
public JsonResult getUuidsByPhones(@RequestParam("userPhones") String userPhones,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult getUuidsByPhones(@RequestParam("userPhones") String userPhones,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(userPhones)) {
return JsonResult.buildErrorStateResult("传入用户手机号不可为空", null);
}
......@@ -679,7 +679,7 @@ public class InnerController implements IBaseController {
String idNo, String provinceCode, String province, String cityCode, String city,
String districtCode, String district, String address, String contacts,
@RequestParam(defaultValue = "0", required = false) Long btRegisterChannelId
, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (!NumberUtils.isDigits(registeredFrom)) {
return JsonResult.buildErrorStateResult("注册渠道异常.", null);
}
......@@ -729,7 +729,7 @@ public class InnerController implements IBaseController {
//根据日期时间段查询新注册用户信息并返回
@RequestMapping("/contract/queryRegisterUsers")
public JsonResult findRegisterUserByTime(String beginTime, String endTime, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult findRegisterUserByTime(String beginTime, String endTime, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (null == beginTime || endTime == null) {
return JsonResult.buildErrorStateResult(null, null);
}
......@@ -752,7 +752,7 @@ public class InnerController implements IBaseController {
@RequestParam(required = false, defaultValue = "1") Long createdFrom,
@RequestParam(required = false, defaultValue = "xyqb") String key,
@RequestParam(required = false) Long btRegisterChannelId,
@RequestParam(required = false) String dimension , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestParam(required = false) String dimension , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
log.info(
"/innerapi/verifyPhoneAndCode -> phoneNo:{},verificationCode:{},channelId:{},appChannel:{},createdFrom:{},btRegisterChannelId:{},key:{},dimension:{}",
......@@ -799,7 +799,7 @@ public class InnerController implements IBaseController {
}
@RequestMapping("/login")
public JsonResult login(@RequestParam String phoneNo, @RequestParam String password , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult login(@RequestParam String phoneNo, @RequestParam String password , @RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = checkPhoneNoAndPassword(phoneNo, password,tenantId);
if (user == null) {
return JsonResult.buildErrorStateResult("用户名或密码不正确", null);
......@@ -856,7 +856,7 @@ public class InnerController implements IBaseController {
* @return
*/
@RequestMapping("/user/enable")
public JsonResult isEnable(String phoneNo , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult isEnable(String phoneNo , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
boolean flag = false;
Map validMap = Maps.newHashMap();
validMap.put("valid", flag);
......@@ -878,7 +878,7 @@ public class InnerController implements IBaseController {
*/
@RequestMapping(path = "/user/active", method = RequestMethod.POST)
public JsonResult activeUser(Long userId
, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
@RequestHeader(value = "Access-Token", required = false) String accessToken) {
boolean flushed = flushUserStatus(userId, true,tenantId);
UserDisableRecord userDisableRecord = new UserDisableRecord();
......@@ -903,7 +903,7 @@ public class InnerController implements IBaseController {
@RequestMapping(path = "/user/disable", method = RequestMethod.POST)
public JsonResult forbiddenUser(Long userId,
@Length(max = 10, message = "原因不能大于10个字符") String reason
, @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
, @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId,
@RequestHeader(value = "Access-Token", required = false) String accessToken) {
boolean flushed = flushUserStatus(userId, false,tenantId);
UserDisableRecord userDisableRecord = new UserDisableRecord();
......@@ -955,7 +955,7 @@ public class InnerController implements IBaseController {
*/
@RequestMapping(path = "/user/password/reset", method = RequestMethod.POST)
public JsonResult resetPassword(@RequestParam("phone") String phone,
@RequestParam(required = false) String password , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@RequestParam(required = false) String password , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (ValidationUtil.validatePhoneNo(phone)) {
// 默认重置的密码是123456
if (StringUtils.isBlank(password)) {
......@@ -981,7 +981,7 @@ public class InnerController implements IBaseController {
*/
@RequestMapping("/user/password/reset/{key}/{phone}")
public JsonResult resetPasswordByKey(@PathVariable("key") String key,
@PathVariable("phone") String phone , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@PathVariable("phone") String phone , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
log.info("密码重置请求,phone:[{}]", phone);
if (!RESET_PWD_TOKEN.equalsIgnoreCase(key)) {
log.error("密码重置失败,key错误!@!,phone:[{}]", phone);
......@@ -1001,7 +1001,7 @@ public class InnerController implements IBaseController {
*/
@RequestMapping("/forbiddenUserOrNot")
public JsonResult forbiddenUserOrNot(@RequestParam String phoneNo, @RequestParam Boolean enable,
@RequestParam String reason, @RequestParam String content , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@RequestParam String reason, @RequestParam String content , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(phoneNo) || StringUtils.isBlank(reason)) {
return JsonResult.buildErrorStateResult("参数有误", null);
}
......@@ -1044,7 +1044,7 @@ public class InnerController implements IBaseController {
*/
@RequestMapping("/forbiddenUserWeChat")
public JsonResult forbiddenUserWeChat(@RequestParam Long userId, @RequestParam String reason,
@RequestParam String content,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@RequestParam String content,@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(reason) || null == userId || userId <= 0) {
return JsonResult.buildErrorStateResult("参数有误", null);
}
......@@ -1068,7 +1068,7 @@ public class InnerController implements IBaseController {
}
@RequestMapping("/delete/session")
public JsonResult deleteSession(Long userId , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult deleteSession(Long userId , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
sessionService.deleteByUserId(userId,tenantId);
return JsonResult.buildSuccessResult();
}
......@@ -1080,7 +1080,7 @@ public class InnerController implements IBaseController {
* @return 销户结果
*/
@GetMapping("/user/delete/{userId}")
public JsonResult<?> deregister(@NotNull @PathVariable("userId") Long userId , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult<?> deregister(@NotNull @PathVariable("userId") Long userId , @RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
log.info("用户id[{}], 销户开始", userId);
......
package cn.quantgroup.xyqb.controller.internal.user;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.entity.User;
......@@ -14,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -41,7 +43,7 @@ public class SyncUserController {
@RequestMapping("/save_detail")
public JsonResult saveUserDetail(String key, String phoneNo,
@ChineseName @RequestParam String name,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@ChineseName @RequestParam String name,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
if (!Objects.equals(KEY, key)) {
return JsonResult.buildErrorStateResult(null, null);
......@@ -90,7 +92,7 @@ public class SyncUserController {
}
@RequestMapping("/user")
public JsonResult fetchUser(String key, String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
public JsonResult fetchUser(String key, String phoneNo,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
if (!Objects.equals(KEY, key) || !ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
......@@ -105,7 +107,7 @@ public class SyncUserController {
}
@RequestMapping("/user_uuid")
public JsonResult fetchUserByUuid(String key, String uuid,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult fetchUserByUuid(String key, String uuid,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isEmpty(key) || !KEY.equals(key)) {
return JsonResult.buildErrorStateResult(null, null);
}
......@@ -128,7 +130,7 @@ public class SyncUserController {
*/
@IpValidator
@RequestMapping("/listByUserIds")
public JsonResult listByUserIds(String userIds,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult listByUserIds(String userIds,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
// 过滤掉合法的多个数值串间的空白值
userIds = ValidationUtil.filterNumbers(userIds);
if (!ValidationUtil.validateNumbers(userIds)) {
......
......@@ -40,7 +40,7 @@ public class UserApiController {
private ISmsService smsService;
@RequestMapping("/user/is_passwd_set")
public JsonResult isPasswordSet(String phoneNo , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult isPasswordSet(String phoneNo , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
}
......@@ -67,7 +67,7 @@ public class UserApiController {
public JsonResult checkToken(
@PathVariable("token") String token,
@RequestParam(name = "prolong", required = false, defaultValue = "false") Boolean prolong,
@RequestParam(name = "prolongTime", required = false, defaultValue = "86400") Long prolongTime , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@RequestParam(name = "prolongTime", required = false, defaultValue = "86400") Long prolongTime , @RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (Objects.isNull(token) || !ValidationUtil.validateToken(token)) {
return JsonResult.buildErrorStateResult("token regular invalid ", token);
}
......
......@@ -82,7 +82,7 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/queryNick")
public JsonResult queryUserNick(String phoneNo , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult queryUserNick(String phoneNo , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
return JsonResult.buildErrorStateResult("参数不合法", null);
......@@ -107,7 +107,7 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/saveNick")
public JsonResult saveUserNick(String phoneNo, String nick , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult saveUserNick(String phoneNo, String nick , @RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
return JsonResult.buildErrorStateResult("参数不合法", null);
......@@ -154,7 +154,7 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/save/avatar")
public JsonResult SaveUserAvatarAddr(String phoneNo, String avatarUrl , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult SaveUserAvatarAddr(String phoneNo, String avatarUrl , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(avatarUrl) || StringUtils.isBlank(phoneNo)) {
log.error("参数不合法:avatarUrl:{}, phoneNo:{}", avatarUrl, phoneNo);
return JsonResult.buildErrorStateResult("参数不合法", null);
......@@ -181,7 +181,7 @@ public class UserCenterController {
* @return
*/
@RequestMapping("/query/verified")
public JsonResult queryVerified(String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult queryVerified(String phoneNo,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
return JsonResult.buildErrorStateResult("参数不合法", null);
......@@ -207,7 +207,7 @@ public class UserCenterController {
@AccessForbiddenValidator
@PasswordFreeAccessValidator
@RequestMapping("/personalData")
public JsonResult personalData(String phoneNo , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult personalData(String phoneNo , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (StringUtils.isBlank(phoneNo)) {
log.error("手机号为空,phoneNo:{}", phoneNo);
return JsonResult.buildErrorStateResult("参数不合法", null);
......
package cn.quantgroup.xyqb.controller.middleoffice.applet;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.controller.middleoffice.login.ILoginModule;
import cn.quantgroup.xyqb.controller.middleoffice.login.LoginVo;
......@@ -65,7 +66,7 @@ public class AppletController {
*/
@Validated
@PostMapping("/login")
public JsonResult login(@RequestParam String appName, @RequestParam String openId, @RequestParam(required = false) Integer tenantId, String utmSource, @RequestParam(required = false) Integer appNo, @RequestParam(required = false) String unionId, @RequestParam(value = "appId",defaultValue = UserConstant.defaultAppId) String appId) {
public JsonResult login(@RequestParam String appName, @RequestParam String openId, @RequestParam(required = false) Integer tenantId, String utmSource, @RequestParam(required = false) Integer appNo, @RequestParam(required = false) String unionId, @RequestHeader(value = Constants.X_AUTH_APP_ID,defaultValue = UserConstant.defaultAppId) String appId) {
if (!containsAppName(appName)) {
throw new DataException("appName不合法");
}
......
package cn.quantgroup.xyqb.controller.middleoffice.login;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum;
import cn.quantgroup.xyqb.model.JsonResult;
......@@ -27,20 +28,20 @@ public class LoginController {
@RequestParam(required = false) String appChannel,
@RequestParam(required = false) String wechatOpenId,
@RequestParam String phoneNo,
@RequestParam(required = false) String verify,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
@RequestParam(required = false) String verify,@RequestHeader(value =Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId
) {
LoginVo login = loginModule.login(type, autoReg, channelId, appChannel, wechatOpenId, phoneNo, verify,tenantId);
return JsonResult.buildSuccessResultGeneric(login);
}
@PatchMapping("/modify/pwd")
public JsonResult modifyByPwd(String phoneNo, String password, String passwordNew,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult modifyByPwd(String phoneNo, String password, String passwordNew,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
loginModule.modifyPwd(VerifyTypeEnum.pwd, phoneNo, password, passwordNew,tenantId);
return JsonResult.buildSuccessResult();
}
@PatchMapping("/modify/sms")
public JsonResult modifyBySms(String phoneNo, String password, String verificationCode,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult modifyBySms(String phoneNo, String password, String verificationCode,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
loginModule.modifyPwd(VerifyTypeEnum.sms, phoneNo, password, verificationCode,tenantId);
return JsonResult.buildSuccessResult();
}
......
package cn.quantgroup.xyqb.controller.middleoffice.user;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.event.DisableActiveEvent;
......@@ -35,7 +36,7 @@ public class UserController {
private ISessionService sessionService;
@PutMapping("/enable/{userId}")
public JsonResult enable(@PathVariable Long userId , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult enable(@PathVariable Long userId , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = userService.findById(userId,tenantId);
if (user == null) {
//todo 用户不存在,怎么处理
......@@ -49,7 +50,7 @@ public class UserController {
}
@PutMapping("/disable/{userId}")
public JsonResult disable(@PathVariable Long userId , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult disable(@PathVariable Long userId , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = userService.findById(userId,tenantId);
if (user == null) {
//todo 用户不存在,怎么处理
......@@ -68,7 +69,7 @@ public class UserController {
}
@GetMapping("/userId/{userId}")
public JsonResult user(@PathVariable Long userId , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult user(@PathVariable Long userId , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = userService.findById(userId,tenantId);
//TODO convert to userVO
return JsonResult.buildSuccessResultGeneric(user);
......@@ -76,14 +77,14 @@ public class UserController {
@GetMapping("/phoneNo/{phoneNo}")
public JsonResult user(@PathVariable String phoneNo , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult user(@PathVariable String phoneNo , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = userService.findByPhoneInDb(phoneNo,tenantId);
//TODO convert to userVO
return JsonResult.buildSuccessResultGeneric(user);
}
@GetMapping("/uuid/{uuid}")
public JsonResult uuid(@PathVariable String uuid , @RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult uuid(@PathVariable String uuid , @RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = userService.findByUuidWithCache(uuid,tenantId);
//TODO convert to userVO
return JsonResult.buildSuccessResultGeneric(user);
......
package cn.quantgroup.xyqb.controller.middleoffice.userdetail;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.controller.middleoffice.userdetail.req.UserDetailReq;
import cn.quantgroup.xyqb.entity.User;
......@@ -37,7 +38,7 @@ public class UserDetailController {
*/
@PutMapping("/{userId}")
public JsonResult update(@PathVariable Long userId,
@Valid @RequestBody UserDetailReq userDetailReq,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@Valid @RequestBody UserDetailReq userDetailReq,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
UserInfoEntity userDetail = userInfoRepository.findByUserIdAndTenantId(userId,tenantId);
if (userDetail == null) {
return save(userId, userDetailReq,tenantId);
......@@ -58,7 +59,7 @@ public class UserDetailController {
*/
@PostMapping("/{userId}")
public JsonResult save(@PathVariable Long userId,
@Valid @RequestBody UserDetailReq userDetailReq,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
@Valid @RequestBody UserDetailReq userDetailReq,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
UserInfoEntity userDetail = userInfoRepository.findByUserIdAndTenantId(userId,tenantId);
if (userDetail != null) {
return JsonResult.buildSuccessResultGeneric(userDetail);
......@@ -82,7 +83,7 @@ public class UserDetailController {
* @return
*/
@GetMapping("/userId/{userId}")
public JsonResult query(@PathVariable Long userId,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult query(@PathVariable Long userId,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
UserInfoEntity userDetail = userInfoRepository.findByUserIdAndTenantId(userId,tenantId);
return JsonResult.buildSuccessResultGeneric(userDetail);
}
......@@ -94,7 +95,7 @@ public class UserDetailController {
* @return
*/
@GetMapping("/phoneNo/{phoneNo}")
public JsonResult query(@PathVariable String phoneNo,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult query(@PathVariable String phoneNo,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
UserInfoEntity userDetail = userInfoRepository.findByPhoneNoAndTenantId(phoneNo,tenantId);
return JsonResult.buildSuccessResultGeneric(userDetail);
}
......
package cn.quantgroup.xyqb.controller.middleoffice.userext;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq;
import cn.quantgroup.xyqb.model.JsonResult;
......@@ -29,7 +30,7 @@ public class UserExtController {
//todo 保存失败的各种场景。
@PutMapping("/{userId}")
public JsonResult ext(@PathVariable Long userId, @RequestBody UserExtReq userExtReq,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult ext(@PathVariable Long userId, @RequestBody UserExtReq userExtReq,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
if (userExtReq.getEmail() != null) {
userInfoRepository.updateUserEmail(userExtReq.getEmail(),userId,tenantId);
}
......
package cn.quantgroup.xyqb.controller.middleoffice.wx;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.model.JsonResult;
......@@ -82,7 +83,7 @@ public class WxController {
}
@PatchMapping("/forbidden/{userId}")
public JsonResult forbidden(@PathVariable Long userId, String reason,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult forbidden(@PathVariable Long userId, String reason,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
int res = wechatService.forbiddenUserWeChat(userId,tenantId);
log.info("取消微信关联 userId:{},reason:{},结果:{}", userId, reason, res);
return JsonResult.buildSuccessResultGeneric(res);
......@@ -92,7 +93,7 @@ public class WxController {
*
*/
@PostMapping("/v1/getByOpenIdToUserIds")
public JsonResult getByOpenIdToUserIds(@RequestBody Map<String, Object> params, @RequestParam(required = false, defaultValue = "wuxi") String appName,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult getByOpenIdToUserIds(@RequestBody Map<String, Object> params, @RequestParam(required = false, defaultValue = "wuxi") String appName,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
log.info("根据userIds获取用户的openId {}, appName:{}", params, appName);
List<Integer> userIds = (List<Integer>) params.get("userIds");
if (userIds.isEmpty()) {
......
package cn.quantgroup.xyqb.controller.modifyphoneno;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.controller.modifyphoneno.req.*;
......@@ -52,7 +53,7 @@ public class ModifyPhoneNoController implements IBaseController {
* @return
*/
@PostMapping("/step_1")
public JsonResult step1(@Valid @RequestBody Step1Req step1Req,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult step1(@Valid @RequestBody Step1Req step1Req,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
User user = getCurrentUserFromRedis();
if (user == null) {
return JsonResult.buildErrorStateResult("系统错误", null);
......@@ -92,7 +93,7 @@ public class ModifyPhoneNoController implements IBaseController {
* 后台客服处理功能 - 人工审核
*/
@PostMapping("/audit")
public JsonResult audit(@Valid @RequestBody AuditReq auditReq,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
public JsonResult audit(@Valid @RequestBody AuditReq auditReq,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId) {
modifyPhoneNoService.audit(auditReq,tenantId);
return JsonResult.buildSuccessResult();
}
......@@ -162,7 +163,7 @@ public class ModifyPhoneNoController implements IBaseController {
}
@PostMapping("/rejectReason/save")
public JsonResult saveRejectReason(@Valid @RequestBody ModifyRejectRecord modifyRejectRecord,@RequestParam(value = "tenantId",defaultValue = UserConstant.defaultTenantIdString) Integer tenantId){
public JsonResult saveRejectReason(@Valid @RequestBody ModifyRejectRecord modifyRejectRecord,@RequestHeader(value = Constants.X_AUTH_TENANT,defaultValue = UserConstant.defaultTenantIdString) Integer tenantId){
modifyPhoneNoService.saveRejectReason(modifyRejectRecord,tenantId);
return JsonResult.buildSuccessResult("保存手机号修改失败原因成功");
}
......
......@@ -16,4 +16,9 @@ public class BizException extends RuntimeException {
this.msg = bizExceptionEnum.getMsg();
this.businessCode = bizExceptionEnum.getBusinessCode();
}
public BizException(BizExceptionEnum bizExceptionEnum,String attach) {
this.msg = bizExceptionEnum.getMsg()+attach;
this.businessCode = bizExceptionEnum.getBusinessCode();
}
}
......@@ -17,6 +17,8 @@ public enum BizExceptionEnum {
ERROR_SMS_CODE("1006","短信验证码错误"),
ERROR_OR_ENABLE_ERROR("1007","账号异常,请联系平台客服。"),
ERROR_DIRECT_LOGIN("1008","极验登录验证失败"),
ERROR_WECHAT_APP_ID("1009","请先配置微信appId"),
ERROR_WECHAT_LOGIN("1010","微信登录失败"),
// 验证码相关 20 开头
......
package cn.quantgroup.xyqb.model;
import lombok.Data;
@Data
public class WechatConfigBean {
private Integer tenantId;
private String appId;
private String appSecret;
/**
* 0:为小程序
*/
private Integer type;
}
package cn.quantgroup.xyqb.model;
import lombok.Data;
@Data
public class WechatPhoneBean {
private Integer errcode;
private String errmsg;
private Phone phone_info;
@Data
public static class Phone {
private String phoneNumber;
private String purePhoneNumber;
private String countryCode;
}
}
package cn.quantgroup.xyqb.model.v2.login;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class WechatMiniLoginParam extends BaseLoginParam{
/**
* 微信appId
*/
private String appId;
/**
* 微信login的code
*/
private String code;
}
package cn.quantgroup.xyqb.model.v2.login;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
@EqualsAndHashCode(callSuper = true)
@Data
public class WechatMiniPhoneLoginParam extends WechatMiniLoginParam {
/**
* 手机号获取凭证
*/
@NotNull
private String phoneCode;
}
package cn.quantgroup.xyqb.remote;
import cn.quantgroup.xyqb.model.WechatPhoneBean;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Map;
@FeignClient(name = "wechatRemoteService", url = "https://api.weixin.qq.com")
public interface WechatRemoteService {
@GetMapping(value = "/sns/jscode2session?grant_type=authorization_code",consumes = MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)
String login(@RequestParam("appid") String appid,@RequestParam("secret") String secret,@RequestParam("js_code") String jsCode);
@GetMapping("/cgi-bin/token?grant_type=client_credential")
Map<String,String> getAccessToken(@RequestParam("appid") String appid,@RequestParam("secret") String secret);
@PostMapping("/wxa/business/getuserphonenumber")
WechatPhoneBean getUserPhoneNumber(@RequestParam("access_token") String accessToken, @RequestBody Map<String,String> code);
}
\ No newline at end of file
package cn.quantgroup.xyqb.service.v2;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.config.data.WechatConfiguration;
import cn.quantgroup.xyqb.controller.req.v2.LoginReq;
import cn.quantgroup.xyqb.exception.BizException;
import cn.quantgroup.xyqb.exception.BizExceptionEnum;
import cn.quantgroup.xyqb.model.LoginBean;
import cn.quantgroup.xyqb.model.WechatConfigBean;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.v2.login.BaseLoginParam;
import cn.quantgroup.xyqb.model.v2.login.WechatMiniLoginParam;
import cn.quantgroup.xyqb.remote.WechatRemoteService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.lang.reflect.Type;
import java.util.Map;
/**
* 微信小程序登录
*/
@Service
@Slf4j
public class WechatMiniLoginStrategy implements LoginStrategy{
private final WechatRemoteService wechatRemoteService;
private final WechatConfiguration wechatConfiguration;
private final Gson gson;
public WechatMiniLoginStrategy(WechatRemoteService wechatRemoteService, WechatConfiguration wechatConfiguration, Gson gson) {
this.wechatRemoteService = wechatRemoteService;
this.wechatConfiguration = wechatConfiguration;
this.gson = gson;
}
@Override
public Integer getType() {
return 2101;
......@@ -18,12 +44,47 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
@Override
public LoginBean login(BaseLoginParam param) {
WechatMiniLoginParam loginParam = (WechatMiniLoginParam)param;
SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
//1、微信登录逻辑
WechatConfigBean wechatConfigBean = wechatConfiguration.getByAppIdAndTenantId(loginParam.getAppId(),sessionStruct.getTenantId());
String response =wechatRemoteService.login(wechatConfigBean.getAppId(),wechatConfigBean.getAppSecret(),((WechatMiniLoginParam) param).getCode());
Type resultType = new TypeToken<Map<String, String>>() {
}.getType();
Map<String, String> responseMap = gson.fromJson(response, resultType);
String openid,sessionKey,unionId;
assert responseMap != null;
if (responseMap.containsKey("errcode") && Integer.parseInt(responseMap.get("errcode")) != 0) {
log.error("code:{},errcode:{},errmsg:{}", ((WechatMiniLoginParam) param).getCode(), responseMap.get("errcode"),
responseMap.get("errmsg"));
throw new BizException(BizExceptionEnum.ERROR_WECHAT_LOGIN,responseMap.get("errmsg"));
} else {
openid = responseMap.get("openid");
if (responseMap.containsKey("session_key")) {
sessionKey = responseMap.get("session_key");
}
if (responseMap.containsKey("unionid")) {
unionId = responseMap.get("unionid");
}
}
//2、登录判断逻辑
return null;
}
@Override
public BaseLoginParam checkParam(LoginReq loginReq) {
return null;
WechatMiniLoginParam param = loginReq.getData().toJavaObject(WechatMiniLoginParam.class);
validator.validate(param);
return param;
}
}
......@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.v2;
import cn.quantgroup.xyqb.controller.req.v2.LoginReq;
import cn.quantgroup.xyqb.model.LoginBean;
import cn.quantgroup.xyqb.model.v2.login.BaseLoginParam;
import cn.quantgroup.xyqb.model.v2.login.WechatMiniPhoneLoginParam;
import org.springframework.stereotype.Service;
/**
......@@ -22,7 +23,9 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
@Override
public BaseLoginParam checkParam(LoginReq loginReq) {
return null;
WechatMiniPhoneLoginParam param = loginReq.getData().toJavaObject(WechatMiniPhoneLoginParam.class);
validator.validate(param);
return param;
}
}
package cn.quantgroup.xyqb.xxlJob;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.config.data.WechatConfiguration;
import cn.quantgroup.xyqb.remote.WechatRemoteService;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@Slf4j
public class WechatTokenReloadJobHandler {
private final WechatConfiguration configuration;
private final WechatRemoteService wechatRemoteService;
@Autowired
@Qualifier("stringRedisTemplate")
private RedisTemplate<String, String> redisTemplate;
public WechatTokenReloadJobHandler(WechatConfiguration configuration, WechatRemoteService wechatRemoteService) {
this.configuration = configuration;
this.wechatRemoteService = wechatRemoteService;
}
/**
* 目前是7200秒之内的值。定时任务需要小于2小时
*/
@XxlJob(value = "wechatTokenReloadJobHandler")
public void execute() {
configuration.getList().stream().filter(i->i.getType()==0).forEach(i->{
Map<String,String > result = wechatRemoteService.getAccessToken(i.getAppId(),i.getAppSecret());
if (result.containsKey("errcode")) {
log.error("微信获取token失败:{}", i.getAppId());
} else {
redisTemplate.opsForValue().set(Constants.WECHAT_ACCESS_TOKEN_REDIS+i.getAppId(),result.get("access_token"));
}
});
}
}
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