Commit 69fec016 authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents 36a48804 9f9e259a
......@@ -38,6 +38,10 @@
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
......
......@@ -33,6 +33,8 @@ import java.util.stream.Collectors;
@Transactional(rollbackFor = Exception.class)
public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
private static final String WX_TYPE="wx";
private static final String QQ_TYPE="q";
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
@Override
......@@ -224,4 +226,36 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public List<Integer> findAllExistUserIds(){
return mapper.selectAllExistUserIds();
}
/**
* 检查第三方是否绑定
* @param wxOpenId
* @param wxUnionId
* @param openId
* @return
*/
public boolean checkThirdPartyBindingState(String wxOpenId, String wxUnionId, String openId) {
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setWxOpenid(wxOpenId);
appUserLogin.setUnionid(wxUnionId);
appUserLogin.setOpenid(openId);
return mapper.selectOne(appUserLogin) != null;
}
@CacheClear(pre = "user{2}")
public void unBindThirdPartyByType(String type,String username,Integer userId) {
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setId(userId);
//微信解绑
if (WX_TYPE.equals(type)){
appUserLogin.setWxOpenid("");
appUserLogin.setUnionid("");
mapper.updateByPrimaryKeySelective(appUserLogin);
}
//qq解绑
if (QQ_TYPE.equals(type)){
appUserLogin.setOpenid("");
mapper.updateByPrimaryKeySelective(appUserLogin);
}
}
}
......@@ -9,6 +9,8 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
......@@ -18,8 +20,10 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import java.util.List;
import java.util.Map;
......@@ -59,6 +63,8 @@ public class AppUserController extends CommonBaseController {
@Autowired
private MyWaterBiz myWaterBiz;
@GetMapping("page")
public TableResultResponse list(@RequestParam Map<String, Object> params) {
Query query = new Query(params);
......@@ -187,6 +193,58 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.succ();
}
/**
* 第三方登录绑定
* @param wxOpenId
* @param wxUnionId
* @param openId
* @param request
* @return
*/
@PutMapping("/third_party_binding")
public ObjectRestResponse bindingThirdParty(@RequestParam(value = "wxOpenId",required = false) String wxOpenId,
@RequestParam(value="wxUnionId",required = false) String wxUnionId,
@RequestParam(value = "openId",required = false) String openId,
HttpServletRequest request){
try {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request));
String userId = infoFromToken.getId();
boolean isBinding = appUserLoginBiz.checkThirdPartyBindingState(wxOpenId,wxUnionId,openId);
if (isBinding){
return ObjectRestResponse.createFailedResult(400,"该微信已经绑定过");
}else {
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setId(Integer.valueOf(userId));
appUserLogin.setWxOpenid(wxOpenId);
appUserLogin.setUnionid(wxUnionId);
appUserLogin.setOpenid(openId);
appUserLoginBiz.bindOpenid(appUserLogin);
}
} catch (Exception e) {
throw new BaseException(e);
}
return ObjectRestResponse.succ();
}
/**
* 第三方登录解绑
* @param request
* @return
*/
@PutMapping("third_party_unbind")
public ObjectRestResponse unBindingThirdParty(@RequestParam("type") String type , HttpServletRequest request){
try {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request));
appUserLoginBiz.unBindThirdPartyByType(type,infoFromToken.getUniqueName(),Integer.valueOf(infoFromToken.getId()));
} catch (Exception e) {
throw new BaseException(e);
}
return ObjectRestResponse.succ();
}
/**
* 更新用户信息
* @param username
......
......@@ -138,6 +138,6 @@ public class IntegralRule{
private String btnWord;
@Transient
private Boolean integralStatus;
private Boolean integralStatus = false;
}
\ No newline at end of file
......@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.entity.IntegralUserStatus;
import com.xxfc.platform.activity.mapper.IntegralUserStatusMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -14,6 +15,7 @@ import java.util.TimeZone;
@Service
@Transactional
@Slf4j
public class IntegralUserStatusBiz extends BaseBiz<IntegralUserStatusMapper, IntegralUserStatus> {
public ObjectRestResponse save(IntegralUserStatus integralUserStatus) {
......@@ -32,11 +34,13 @@ public class IntegralUserStatusBiz extends BaseBiz<IntegralUserStatusMapper, Int
if(!StringUtils.isAllBlank(code, userId + "")) {
long current = System.currentTimeMillis();
long startTime = current / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset();
IntegralUserStatus integralUserStatus = new IntegralUserStatus();
integralUserStatus.setIntegralRuleCode(code);
integralUserStatus.setUserId(userId);
integralUserStatus.setStartTime(startTime);
integralUserStatus.setEndTime(startTime + 24 * 60 * 60 * 1000 - 1);
log.info("获取用户积分状态:" + integralUserStatus.toString());
return mapper.selectByUserAndCode(integralUserStatus);
}
return null;
......
package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz;
......@@ -49,8 +50,9 @@ public class OrderVehicleCrosstownController {
@ApiOperation(value = "根据订单Id获取所有记录信息")
public ObjectRestResponse<List<OrderVehicleCrosstownDto>> getByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
UserDTO userDTO = userInfoBiz.getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
AppUserDTO appUserDTO = userInfoBiz.getUserInfo();
if (userDTO == null && appUserDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
}
if (orderVehicleCrosstownDto == null) {
return ObjectRestResponse.createFailedResult(500, "参数orderId为空");
......
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