Java-Controller解析text格式参数

Java解析Text格式参数

package com.sf.XXX.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import com.sf.XWFS.constant.BoardConst;
import com.sf.XWFS.query.BoardDTO;
import com.sf.XWFS.service.BoardService;
import com.sf.XWFS.util.AESUtil;
import com.sf.XWFS.util.DESUtil;
import com.sf.XWFS.vo.BoardResponseParam;
import com.sf.XWFS.vo.BoardVO;
import com.sf.erui.common.response.Response;
import com.sf.erui.common.response.ResponseHelper;
import io.swagger.annotations.ApiOperation;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author: yachun
 * @description: 看板管理
 */

@RequestMapping("/board")
@RestController
public class BoardController {
    private Logger logger = LoggerFactory.getLogger(BoardController.class);
    @Resource
    private BoardService boardService;
    public String encryptKey = BoardConst.KANBAN_ENCRYPTKEY;
    public String ivParameter = BoardConst.KANBAN_IVPARAMETER;

    @PostMapping("/queryBoard")
    public String pushData(@RequestBody String param) {
        logger.info("进入到看板查询数据的接口了--------------------queryBoard-----------------------------");
        long startTm = System.currentTimeMillis();

        BoardResponseParam kbResponseParam = new BoardResponseParam();
        try {
            logger.info("--------queryBoard---------------kb请求参数:" + param);
            //解密
            String kbParam = AESUtil.getInstance().decrypt(param, "UTF-8", encryptKey, ivParameter);
            BoardDTO boardDto = JSON.parseObject(kbParam, BoardDTO.class);
            logger.info("kb请求参数解密:" + kbParam);
            boardDto.setPageNum(boardDto.getPageNum() != null ? boardDto.getPageNum() : 1);
            boardDto.setPageSize(boardDto.getPageSize() != null ? boardDto.getPageSize() : 500);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            boardDto.setStartTime2(boardDto.getStartTime() != null ? sdf.format(boardDto.getStartTime()) : null);
            boardDto.setEndTime2(boardDto.getEndTime()!= null ? sdf.format(boardDto.getEndTime()) : null);

            PageHelper.startPage(boardDto.getPageNum(), boardDto.getPageSize());
            List<BoardVO> kbList = boardService.queryBoard(boardDto);
            PageInfo<BoardVO> pageInfo = new PageInfo<>(kbList);
            kbResponseParam.setCode(1);
            kbResponseParam.setCurrentPage(pageInfo.getPageNum());
            kbResponseParam.setPageSize(pageInfo.getPageSize());
            kbResponseParam.setPageTotal(pageInfo.getPages());
            kbResponseParam.setQuantity(kbList.size());
            kbResponseParam.setDate(kbList);

            try {
                int pages = 0;
                int totalCount = boardService.queryBoardCount(boardDto);
                if (boardDto.getPageSize() != null) {
                    if (boardDto.getPageSize() > totalCount) {
                        pages = 1;
                    } else if (totalCount % pageInfo.getPageSize() == 0) {
                        pages = totalCount / pageInfo.getPageSize();
                    } else {
                        pages = totalCount / pageInfo.getPageSize() + 1;
                    }
                    kbResponseParam.setPageTotal(pages);
                }
            } catch (Exception e) {
                e.printStackTrace();
                logger.error("--------queryBoard--------------看板获取总页数错误:" + e);
            }

        } catch (Exception e) {
            logger.error("--------queryBoard--------------给看板传输数据错误:" + e);
            kbResponseParam.setCode(-1);
        }
        long endTm = System.currentTimeMillis() - startTm;
        logger.info("KB获取的查询数据的时间为" + endTm + "毫秒");

        return dealEncrypt(kbResponseParam);

    }

    private String dealEncrypt(BoardResponseParam kbResponseParam) {

        String encrypt = null;
        try {
            encrypt = AESUtil.getInstance().encrypt(JSONObject.toJSONString(kbResponseParam), "UTF-8", encryptKey, ivParameter);

            encrypt = encrypt.replaceAll("\r\n", "");
            encrypt = encrypt.replaceAll("\n", "");
        } catch (Exception e) {
            logger.error("对接看板返回数据加密出错,数据为:" + JSONObject.toJSONString(kbResponseParam));
            throw new RuntimeException(e);
        }
        return encrypt;
    }

}

接收参数BoardDTO

package com.sf.XWFS.query;

import java.util.Date;
/**
 * @author: yachun
 * @description: 看板管理
 */
public class BoardDTO {
    private String projectName;
    private Integer pageSize;
    private Date startTime;
    private Date endTime;
    private Integer pageNum;

    private String startTime2;
    private String endTime2;

响应BoardResponseParam

package com.sf.XWFS.vo;

import java.util.List;

/**
 * @author: yachun
 * @description: 看板管理
 */
public class BoardResponseParam {
    private Integer code;
    private Integer currentPage;
    private Integer quantity;
    private Integer pageTotal;
    private Integer pageSize;

    private List<BoardVO> date;

postMan访问格式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值