|
@@ -11,6 +11,7 @@ import com.huimv.env.admin.entity.AccountGroup;
|
|
import com.huimv.env.admin.entity.BaseFarm;
|
|
import com.huimv.env.admin.entity.BaseFarm;
|
|
import com.huimv.env.admin.entity.Farm;
|
|
import com.huimv.env.admin.entity.Farm;
|
|
import com.huimv.env.admin.entity.SysAccountMultilevel;
|
|
import com.huimv.env.admin.entity.SysAccountMultilevel;
|
|
|
|
+import com.huimv.env.admin.mapper.SysAccountMultilevelMapper;
|
|
import com.huimv.env.admin.service.IAccountGroupService;
|
|
import com.huimv.env.admin.service.IAccountGroupService;
|
|
import com.huimv.env.admin.service.IBaseFarmService;
|
|
import com.huimv.env.admin.service.IBaseFarmService;
|
|
import com.huimv.env.admin.service.ISysAccountGroupService;
|
|
import com.huimv.env.admin.service.ISysAccountGroupService;
|
|
@@ -20,7 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
+import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
+import org.springframework.web.util.UriComponentsBuilder;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
@@ -44,6 +47,8 @@ public class SysAccountMultilevelController {
|
|
private ISysAccountMultilevelService accountMultilevelService;
|
|
private ISysAccountMultilevelService accountMultilevelService;
|
|
@Autowired
|
|
@Autowired
|
|
private IBaseFarmService farmService;
|
|
private IBaseFarmService farmService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysAccountMultilevelMapper sysAccountMultilevelMapper;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private IAccountGroupService accountGroupService;
|
|
private IAccountGroupService accountGroupService;
|
|
@@ -102,12 +107,14 @@ public class SysAccountMultilevelController {
|
|
BaseFarm farm = farmService.getById(lastFarmId);
|
|
BaseFarm farm = farmService.getById(lastFarmId);
|
|
String token = TokenSign.sign(sysAccountMultilevel.getAccount(), sysAccountMultilevel.getId(), sysAccountMultilevel.getFarmIds(), null, null,farm.getLng(),farm.getLat());
|
|
String token = TokenSign.sign(sysAccountMultilevel.getAccount(), sysAccountMultilevel.getId(), sysAccountMultilevel.getFarmIds(), null, null,farm.getLng(),farm.getLat());
|
|
accessToken.setToken(token);
|
|
accessToken.setToken(token);
|
|
-
|
|
|
|
|
|
+ accessToken.setNickName(sysAccountMultilevel.getNickName());
|
|
|
|
+ accessToken.setAvatarUrl(sysAccountMultilevel.getAvatarUrl());
|
|
accessToken.setId(sysAccountMultilevel.getId());
|
|
accessToken.setId(sysAccountMultilevel.getId());
|
|
accessToken.setLoginIp(remoteHost);
|
|
accessToken.setLoginIp(remoteHost);
|
|
accessToken.setType(sysAccountMultilevel.getType());
|
|
accessToken.setType(sysAccountMultilevel.getType());
|
|
accessToken.setLat(farm.getLat());
|
|
accessToken.setLat(farm.getLat());
|
|
accessToken.setLng(farm.getLng());
|
|
accessToken.setLng(farm.getLng());
|
|
|
|
+ accessToken.setWechatId(sysAccountMultilevel.getWechatId());
|
|
accessToken.setUserName(sysAccountMultilevel.getUserName());
|
|
accessToken.setUserName(sysAccountMultilevel.getUserName());
|
|
return new Result(ResultCode.SUCCESS,accessToken);
|
|
return new Result(ResultCode.SUCCESS,accessToken);
|
|
|
|
|
|
@@ -189,4 +196,91 @@ public class SysAccountMultilevelController {
|
|
public Result getDetail(HttpServletRequest httpServletRequest){
|
|
public Result getDetail(HttpServletRequest httpServletRequest){
|
|
return new Result(ResultCode.SUCCESS,accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest)));
|
|
return new Result(ResultCode.SUCCESS,accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest)));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private RestTemplate restTemplate;
|
|
|
|
+
|
|
|
|
+ @GetMapping("/wechatLogin")
|
|
|
|
+ public String wechatLogin(@RequestParam(name = "js_code")String js_code){
|
|
|
|
+ //TODO 等一个AppID
|
|
|
|
+ String URL = "https://api.weixin.qq.com/sns/jscode2session";
|
|
|
|
+ String appid = "wx707fcfd7d09e02eb";
|
|
|
|
+ String secret = "cf69d556bbc962fa60a59b0fece3fa95";
|
|
|
|
+ String grant_type = "authorization_code";
|
|
|
|
+
|
|
|
|
+ UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(URL)
|
|
|
|
+ .queryParam("appid", appid)
|
|
|
|
+ .queryParam("secret", secret)
|
|
|
|
+ .queryParam("grant_type", grant_type)
|
|
|
|
+ .queryParam("js_code", js_code);
|
|
|
|
+
|
|
|
|
+ String urlWithParams = builder.toUriString();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ String forObject = restTemplate.getForObject(urlWithParams, String.class);
|
|
|
|
+ System.out.println(forObject);
|
|
|
|
+ return forObject;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ // 处理异常,例如记录日志、返回错误信息等
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ // 根据需要返回错误信息或处理逻辑
|
|
|
|
+ System.out.println(e.getMessage());
|
|
|
|
+ return "Error occurred: " + e.getMessage();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping("/saveWechat")
|
|
|
|
+ public Result saveWechat(HttpServletRequest request,@RequestBody Map<String,String> map){
|
|
|
|
+ String wechatId = map.get("wechatId");
|
|
|
|
+ String avatarUrl = map.get("avatarUrl");
|
|
|
|
+ String nickName = map.get("nickName");
|
|
|
|
+ String farmId = map.get("farmId");
|
|
|
|
+ String remoteHost = request.getRemoteHost();
|
|
|
|
+
|
|
|
|
+ BaseFarm farm = farmService.getById(farmId);
|
|
|
|
+
|
|
|
|
+ Integer userId = TokenSign.getMemberIdByJwtToken(request);
|
|
|
|
+ SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(userId);
|
|
|
|
+ sysAccountMultilevel.setWechatId(wechatId);
|
|
|
|
+ sysAccountMultilevel.setAvatarUrl(avatarUrl);
|
|
|
|
+ sysAccountMultilevel.setNickName(nickName);
|
|
|
|
+ sysAccountMultilevel.setSubscribe(0);
|
|
|
|
+ sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
|
|
|
|
+
|
|
|
|
+ AccessToken accessToken = new AccessToken();
|
|
|
|
+ accessToken.setCreated(new Date());
|
|
|
|
+ accessToken.setAccountName(sysAccountMultilevel.getAccount());
|
|
|
|
+ accessToken.setFarmId(sysAccountMultilevel.getFarmIds());
|
|
|
|
+ accessToken.setLastFarmId(sysAccountMultilevel.getLastFarmId());
|
|
|
|
+ String token = TokenSign.sign(sysAccountMultilevel.getUserName(), userId, sysAccountMultilevel.getFarmIds(), null, null,farm.getLng(),farm.getLat());
|
|
|
|
+ accessToken.setToken(token);
|
|
|
|
+ accessToken.setNickName(sysAccountMultilevel.getNickName());
|
|
|
|
+ accessToken.setAvatarUrl(sysAccountMultilevel.getAvatarUrl());
|
|
|
|
+ accessToken.setId(sysAccountMultilevel.getId());
|
|
|
|
+ accessToken.setLoginIp(remoteHost);
|
|
|
|
+ accessToken.setType(sysAccountMultilevel.getType());
|
|
|
|
+ accessToken.setLat(farm.getLat());
|
|
|
|
+ accessToken.setLng(farm.getLng());
|
|
|
|
+ accessToken.setWechatId(wechatId);
|
|
|
|
+ accessToken.setUserName(sysAccountMultilevel.getUserName());
|
|
|
|
+ return Result.SUCCESS();
|
|
|
|
+ }
|
|
|
|
+ @PostMapping("/getSubscribe")
|
|
|
|
+ public Result getSubscribe(HttpServletRequest request){
|
|
|
|
+ Integer memberIdByJwtToken = TokenSign.getMemberIdByJwtToken(request);
|
|
|
|
+ SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(memberIdByJwtToken);
|
|
|
|
+ if (ObjectUtil.isNull(sysAccountMultilevel.getSubscribe())){
|
|
|
|
+ sysAccountMultilevel.setSubscribe(0);
|
|
|
|
+ }
|
|
|
|
+ sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
|
|
|
|
+ return new Result(ResultCode.SUCCESS,sysAccountMultilevel.getSubscribe());
|
|
|
|
+ }
|
|
|
|
+ @PostMapping("/subscribe")
|
|
|
|
+ public Result subscribe(HttpServletRequest request){
|
|
|
|
+ Integer memberIdByJwtToken = TokenSign.getMemberIdByJwtToken(request);
|
|
|
|
+ SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(memberIdByJwtToken);
|
|
|
|
+ sysAccountMultilevel.setSubscribe(1);
|
|
|
|
+ sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
|
|
|
|
+ return Result.SUCCESS();
|
|
|
|
+ }
|
|
}
|
|
}
|