From ebc6e7ee67f13e7aa311e737dfcb4c5caed112ee Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 15 八月 2024 18:23:57 +0800
Subject: [PATCH] ll
---
server/admin/src/main/java/com/doumee/api/business/PushController.java | 95 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 88 insertions(+), 7 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 9ee9794..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,37 +2,55 @@
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;
@@ -40,9 +58,11 @@
zbomIAMService.updateShopInfo(token,uuid,timestamp,shopList);
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("鎿嶄綔澶辫触");
@@ -51,12 +71,12 @@
}
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;
@@ -64,9 +84,11 @@
zbomIAMService.updateUserInfo(token,uuid,timestamp,upateUserModel);
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("鎿嶄綔澶辫触");
@@ -75,5 +97,64 @@
}
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