From b0a4d23b83b9cdbdee15263acdd4e7353a8286a1 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 07 八月 2024 18:19:48 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbomyoujia

---
 server/admin/src/main/java/com/doumee/api/business/PushController.java |  105 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 94 insertions(+), 11 deletions(-)

diff --git a/server/admin/src/main/java/com/doumee/api/business/PushController.java b/server/admin/src/main/java/com/doumee/api/business/PushController.java
index f599904..8aff700 100644
--- a/server/admin/src/main/java/com/doumee/api/business/PushController.java
+++ b/server/admin/src/main/java/com/doumee/api/business/PushController.java
@@ -2,76 +2,159 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.biz.zbom.ZbomIAMService;
-import com.doumee.biz.zbom.model.IamUpateShopModel;
-import com.doumee.biz.zbom.model.IamUpateUserModel;
+import com.doumee.biz.zbom.model.IamUpdateRoleModel;
+import com.doumee.biz.zbom.model.IamUpdateShopModel;
+import com.doumee.biz.zbom.model.IamUpdateUserModel;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
+import com.doumee.service.business.UsersService;
 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.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
 import java.util.List;
 
 /**
  * @author 姹熻箘韫�
  * @date 2024/07/04 14:40
  */
-@Api(tags = "瀵瑰鎻愪緵鎺ュ彛")
+@Api(tags = "瀵瑰銆怚AM銆丳AD绔�戞帹閫佹彁渚涙帴鍙�")
 @RestController
+@Slf4j
 @RequestMapping("/push")
 public class PushController extends BaseController {
     @Autowired
     private ZbomIAMService zbomIAMService;
-    @ApiOperation("缁勭粐淇℃伅鏇存柊鎺ㄩ��")
+    @Autowired
+    private UsersService usersService;
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @ApiOperation("銆怚AM銆戠粍缁囦俊鎭洿鏂版帹閫�")
     @PostMapping("/iam/updateShopInfo")
     public ApiResponse<String> updateShopInfo(@RequestHeader(name = "token") String token,
                                       @RequestHeader(name = "uuid") String uuid ,
                                       @RequestHeader(name = "timestamp") String timestamp,
-                                      @RequestBody List<IamUpateShopModel> shopList,
+                                      @RequestBody List<IamUpdateShopModel> shopList,
                                       HttpServletRequest request ) {
         int success = Constants.ZERO;
         ApiResponse<String> r = null;
         try {
             zbomIAMService.updateShopInfo(token,uuid,timestamp,shopList);
-            r  = ApiResponse.success("鎿嶄綔鎴愬姛");
+            r  = ApiResponse.successIam("鎿嶄綔鎴愬姛");
         }catch (BusinessException e){
+            log.error("銆怚AM銆戠粍缁囦俊鎭洿鏂版帹閫�===澶辫触锛�"+e.getMessage());
             success = Constants.ONE;
             r = ApiResponse.failed(StringUtils.defaultString(e.getMessage(),"鎿嶄綔澶辫触"));
         }catch (Exception e){
+            log.error("銆怚AM銆戠粍缁囦俊鎭洿鏂版帹閫�===澶辫触锛�"+e.getMessage());
+            e.printStackTrace();
             success = Constants.ONE;
             r = ApiResponse.failed("鎿嶄綔澶辫触");
         }finally {
-            zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo","IAM鎺ㄩ�佷汉鍛樿处鍙蜂俊鎭�", token, uuid, timestamp, shopList,success, JSONObject.toJSONString(r));
+            zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo",Constants.ONE,"IAM鎺ㄩ�佺粍缁囦俊鎭�", token, uuid, timestamp, shopList,success, JSONObject.toJSONString(r));
         }
         return r;
     }
-    @ApiOperation("浜哄憳璐﹀彿淇℃伅鏇存柊鎺ㄩ��")
+    @ApiOperation("銆怚AM銆戜汉鍛樿处鍙蜂俊鎭洿鏂版帹閫�")
     @PostMapping("/iam/updateUserInfo")
     public ApiResponse<String> updateUserInfo(@RequestHeader(name = "token") String token,
                                       @RequestHeader(name = "uuid") String uuid ,
                                       @RequestHeader(name = "timestamp") String timestamp,
-                                      @RequestBody IamUpateUserModel upateUserModel,
+                                      @RequestBody IamUpdateUserModel upateUserModel,
                                       HttpServletRequest request) {
         int success = Constants.ZERO;
         ApiResponse<String> r = null;
         try {
             zbomIAMService.updateUserInfo(token,uuid,timestamp,upateUserModel);
-            r  = ApiResponse.success("鎿嶄綔鎴愬姛");
+            r  = ApiResponse.successIam("鎿嶄綔鎴愬姛");
         }catch (BusinessException e){
+            log.error("銆怚AM銆戜汉鍛樿处鍙蜂俊鎭洿鏂版帹閫�===澶辫触锛�"+e.getMessage());
               success = Constants.ONE;
             r = ApiResponse.failed(StringUtils.defaultString(e.getMessage(),"鎿嶄綔澶辫触"));
         }catch (Exception e){
+            log.error("銆怚AM銆戜汉鍛樿处鍙蜂俊鎭洿鏂版帹閫�===澶辫触锛�"+e.getMessage());
             success = Constants.ONE;
+            e.getMessage();
             r = ApiResponse.failed("鎿嶄綔澶辫触");
         }finally {
-            zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo","IAM鎺ㄩ�佷汉鍛樿处鍙蜂俊鎭�", token, uuid, timestamp, upateUserModel,success, JSONObject.toJSONString(r));
+            zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo",Constants.ONE,"IAM鎺ㄩ�佷汉鍛樿处鍙蜂俊鎭�", token, uuid, timestamp, upateUserModel,success, JSONObject.toJSONString(r));
         }
         return r;
     }
+    @ApiOperation("銆怚AM銆戣鑹蹭俊鎭洿鏂版帹閫�")
+    @PostMapping("/iam/updateRoleInfo")
+    public ApiResponse<String> updateRoleInfo(@RequestHeader(name = "token") String token,
+                                      @RequestHeader(name = "uuid") String uuid ,
+                                      @RequestHeader(name = "timestamp") String timestamp,
+                                      @RequestBody IamUpdateRoleModel upateModel,
+                                      HttpServletRequest request) {
+        int success = Constants.ZERO;
+        ApiResponse<String> r = null;
+        try {
+            zbomIAMService.updateRoleInfo(token,uuid,timestamp,upateModel);
+            r  = ApiResponse.successIam("鎿嶄綔鎴愬姛");
+        }catch (BusinessException e){
+            log.error("銆怚AM銆戣鑹蹭俊鎭洿鏂版帹閫�===澶辫触锛�"+e.getMessage());
+              success = Constants.ONE;
+            r = ApiResponse.failed(StringUtils.defaultString(e.getMessage(),"鎿嶄綔澶辫触"));
+        }catch (Exception e){
+            log.error("銆怚AM銆戣鑹蹭俊鎭洿鏂版帹閫�===澶辫触锛�"+e.getMessage());
+            success = Constants.ONE;
+            e.getMessage();
+            r = ApiResponse.failed("鎿嶄綔澶辫触");
+        }finally {
+            zbomIAMService.saveInterfaceLog("/push/iam/updateRoleInfo",Constants.ONE,"IAM鎺ㄩ�佽鑹茶处鍙蜂俊鎭�", token, uuid, timestamp, upateModel,success, JSONObject.toJSONString(r));
+        }
+        return r;
+    }
+
+    @PreventRepeat(lockTime = 2000)
+    @ApiOperation(value = "鐢熸垚娑堣垂鑰匔绔皬绋嬪簭鐮侊紙鍙甫鍙傛暟锛�", notes = "鐢熸垚娑堣垂鑰匔绔皬绋嬪簭鐮侊紝鐢熸垚涓氬姟绫诲瀷锛�0:浜у搧;1:妗堜緥;2:瀹炴櫙涓夌瀵瑰簲鍐呭璇︽儏椤电殑鍒嗕韩鐮侊紝绛惧悕浣跨敤鍙傛暟APPKEY锛岃鑱旂郴绯荤粺绠$悊鍛樿幏鍙�")
+    @PostMapping("/pad/getQrCode")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "sign", value = "绛惧悕锛堜娇鐢╰imestamp+appkey杩涜md5鍔犲瘑锛�", required = true),
+            @ApiImplicitParam(paramType = "header", dataType = "Long", name = "timestamp", value = "鏃堕棿鎴筹紙褰撳墠鏃堕棿姣锛�2灏忔椂鍐呮湁鏁堬級", required = true),
+    })
+    public void getQrCode(@RequestParam(value = "sign")String sign,
+                          @RequestParam(value = "timestamp")Long timestamp,
+                          @RequestBody GenerateQRCodeRequest generateQRCodeRequest, HttpServletResponse response) {
+        if(StringUtils.isBlank(sign) || timestamp == null){
+            throw  new BusinessException(com.doumee.core.constants.ResponseStatus.BAD_REQUEST);
+        }
+        String interfaceKey = systemDictDataBiz.queryByCode(Constants.ZBOM,Constants.ZBOM_PAD_INTERFACE_KEY).getCode();
+        //鍒ゆ柇鏃堕棿鎴虫槸鍚﹁秴杩囦袱灏忔椂
+        if(System.currentTimeMillis()-timestamp > 2 * 60 * 3600 * 1000){
+            throw new BusinessException(com.doumee.core.constants.ResponseStatus.NOT_ALLOWED.getCode(),"token宸插け鏁�!");
+        }
+        String token = DigestUtils.md5Hex(timestamp+interfaceKey);
+        if(!token.equals(sign)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"token宸插け鏁�!");
+        }
+        try{
+            response.setHeader("Cache-Control", "no-store, no-cache");
+            response.setContentType("image/jpeg");
+            InputStream inputStream = usersService.getQrCode(generateQRCodeRequest);
+            ImageIO.write(ImageIO.read(inputStream),"png",response.getOutputStream());
+        }catch (Exception e){
+            log.error("鐢熸垚娑堣垂鑰匔绔皬绋嬪簭鐮�===澶辫触锛�"+e.getMessage());
+            e.printStackTrace();
+        }
+    }
 
 }

--
Gitblit v1.9.3