| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.malk.lianan.controller;
- import cn.hutool.crypto.digest.MD5;
- import com.alibaba.fastjson.JSONObject;
- import com.malk.server.common.McR;
- import com.malk.utils.PublicUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- @RestController
- @RequestMapping("/budget/")
- @Slf4j
- public class LianAnBudgetController {
- private static String SIGN_KEY="be56e057f20f883e";
- @PostMapping("datasync")
- public McR dataSync(@RequestBody JSONObject param){
- log.info("全面预算接口:{}",param);
- if(PublicUtil.isNull(param,"timestamp","sign","msgType","data")){
- return McR.error("201","参数校验不通过!");
- }
- if(!signCheck(param)){
- return McR.error("202","签名校验不通过!");
- }
- String msgType = param.getString("msgType");
- if("T01".equals(msgType)){
- log.info("科目数据:{}",param.get("data"));
- }else if("T02".equals(msgType)){
- log.info("产品数据:{}",param.get("data"));
- }else if("T03".equals(msgType)){
- log.info("项目数据:{}",param.get("data"));
- }else if("Y01".equals(msgType)){
- log.info("预算数据:{}",param.get("data"));
- }else{
- return McR.error("203","msgType错误!");
- }
- return McR.success();
- }
- private static boolean signCheck(JSONObject param){
- String data=SIGN_KEY+param.getString("timestamp")+param.getString("data");
- MD5 md5 = new MD5();
- String digestHex = md5.digestHex(data);
- return digestHex.equals(param.getString("sign"));
- }
- }
|