From 8676f4cb37ef31fa9fcfe2a7faf5f4c4ea77cc1a Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 29 一月 2026 09:46:05 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbom_dianjiang
---
server/web/src/main/java/com/doumee/api/web/LoginController.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/server/web/src/main/java/com/doumee/api/web/LoginController.java b/server/web/src/main/java/com/doumee/api/web/LoginController.java
new file mode 100644
index 0000000..e4a8040
--- /dev/null
+++ b/server/web/src/main/java/com/doumee/api/web/LoginController.java
@@ -0,0 +1,161 @@
+package com.doumee.api.web;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.annotation.LoginRequired;
+import com.doumee.config.jwt.JwtTokenUtil;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.dao.business.dto.LoginRequestNewParam;
+import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.model.SystemJob;
+import com.doumee.dao.vo.WebLoginUserVO;
+import com.doumee.service.business.CategoryService;
+import com.doumee.service.business.MemberService;
+import com.sun.deploy.net.HttpUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/07/09 12:00
+ */
+@Api(tags = "web鐧诲綍鐩稿叧鎺ュ彛")
+@Trace(exclude = true)
+@RestController
+@RequestMapping("/web/login")
+@Slf4j
+public class LoginController extends ApiController {
+
+ @Autowired
+ private CategoryService categoryService;
+
+ @Autowired
+ private JwtTokenUtil jwtTokenUtil;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private MemberService memberService;
+
+
+ @ApiOperation("UK鍗曠偣鐧诲綍")
+ @GetMapping("/ukLogin")
+ public void ukLogin(String tick, Object obj, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ LoginRequestNewParam requestParam = new LoginRequestNewParam();
+ /*// UK_ERROR_URL = "http://u.zhibang.com/sso/web/token/error";
+ String errorUrl =systemDictDataBiz.queryByCode(Constants.ZBOM_PARAM,Constants.ZBOM_UK_ERROR_URL).getCode();
+ try {
+ log.error("璇锋眰鍙傛暟TICK鏈�鍘熷===========锛�" + tick);
+ JSONObject urlParams = new JSONObject();
+ log.info("璇锋眰鍙傛暟锛�" + JSON.toJSONString(urlParams));
+ //TICKET_LOGIN_TEST = "http://testsso.zhibang.com:8080/esc-idm/api/v1/getUserInfo";
+ //TICKET_LOGIN = "https://sso.zbom.com/esc-idm/api/v1/getUserInfo";
+ String url = systemDictDataBiz.queryByCode(Constants.ZBOM_PARAM,Constants.ZBOM_TICKET_LOGIN_URL).getCode() + "?tick=" + URLEncoder.encode(tick,Constants.UTF);
+ String post = HttpsUtil.get(url,true);
+ log.info("杩斿洖鍙傛暟锛�" + post);
+ JSONObject json = JSONObject.parseObject(post);
+ if (StringUtils.equals(json.getString("code"), "0")) {
+ JSONObject userInfo = json.getJSONObject("data");
+ requestParam = JSONObject.toJavaObject(userInfo, LoginRequestNewParam.class);
+ } else {
+ log.error("妗堜緥搴撶郴缁熷崟鐐圭櫥褰曞け璐� 閿欒鍘熷洜鑾峰彇tick澶辫触" + json.getString("message"));
+ response.sendRedirect(errorUrl + "?title=" + enCode("鐧婚檰閿欒") + "&msg="+ enCode(json.getString("message")));
+ return;
+ }
+ } catch (Exception e) {
+ log.error("ticket鎺ュ彛璇锋眰閿欒锛�" + e.getMessage());
+ response.sendRedirect(errorUrl + "?title=" + enCode("鐧婚檰閿欒") + "&msg=" + enCode("绯荤粺绻佸繖锛岃绋嶅悗閲嶈瘯~"));
+ return;
+ }*/
+ requestParam.setRediUrl("http://localhost:10087/#/login");
+ WebLoginUserVO loginUserVO = new WebLoginUserVO();
+ loginUserVO.setId("123");
+ loginUserVO.setRoleType("admin");
+ loginUserVO.setZhanqu("1");
+ String token = jwtTokenUtil.generateToken(loginUserVO);
+ response.sendRedirect(requestParam.getRediUrl()+"?token="+token);
+ }
+
+
+ private String enCode(String string) {
+ // TODO Auto-generated method stub
+ String str = "";
+ try {
+ str = java.net.URLEncoder.encode(string, "utf-8");
+ } catch (UnsupportedEncodingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return str;
+ }
+
+ @LoginRequired
+ @ApiOperation("鑰佸笀鍒嗛〉鏌ヨ")
+ @PostMapping("/memberPage")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<PageData<Member>> memberPage(@RequestBody PageWrap<Member> pageWrap) {
+ WebLoginUserVO loginUserVO = this.getMemberResponse();
+ pageWrap.getModel().setQueryUserRole(loginUserVO.getRoleType());
+ pageWrap.getModel().setQueryZQCode(loginUserVO.getZhanqu());
+ return ApiResponse.success(memberService.findPage(pageWrap));
+ }
+
+
+
+ @LoginRequired
+ @ApiOperation("鑰佸笀璇︽儏")
+ @GetMapping("/memberDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<Member> memberPage(@RequestParam Integer id) {
+ WebLoginUserVO loginUserVO = this.getMemberResponse();
+ return ApiResponse.success(memberService.findDetailById(id,loginUserVO.getRoleType()));
+ }
+
+
+ @LoginRequired
+ @ApiOperation("鍒嗙被淇℃伅鏌ヨ")
+ @GetMapping("/categoryList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<List<Category>> categoryList(@RequestParam Integer type) {
+ return ApiResponse.success(categoryService.getCategoryList(type));
+ }
+
+
+
+}
--
Gitblit v1.9.3