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