1. 程式人生 > >將redis中的json轉換成物件

將redis中的json轉換成物件

JSONArray parse = (JSONArray) JSONObject.parse(ogj); List seckills = parse.toJavaList(Seckill.class); 將json轉成list物件

JSONObject.toJavaObject(JSONObject.parseObject(ogj),Seckill.class); json轉換成物件

實體類要和redis中的json相互對應
package com.spring.test.dm;


import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;

import java.io.Serializable;
import java.util.Date;

@TableName("seckill")
public class Seckill  extends  Model<Seckill> {
    private static final long serialVersionUID = 1L;
    private Long id;
    private String name;
    private Integer number;
    @TableField("start_time")
    private Date startTime;
    @TableField("end_time")
    private Date endTime;
    @TableField("create_time")
    private Date createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public  String  toString(){
        return "Seckill{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", number=" + number +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", createTime=" + createTime +
                '}';
    }
    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}

 @Override
    public List<SeckillRes> getSeckillList(SeckillReq req) {
        Object obj = jedisClient.get("seckill");
        List<SeckillRes> seckillRes =new List<SeckillRes>() {
            @Override
            public int size() {
                return 0;
            }

            @Override
            public boolean isEmpty() {
                return false;
            }

            @Override
            public boolean contains(Object o) {
                return false;
            }

            @Override
            public Iterator<SeckillRes> iterator() {
                return null;
            }

            @Override
            public Object[] toArray() {
                return new Object[0];
            }

            @Override
            public <T> T[] toArray(T[] a) {
                return null;
            }

            @Override
            public boolean add(SeckillRes seckillRes) {
                return false;
            }

            @Override
            public boolean remove(Object o) {
                return false;
            }

            @Override
            public boolean containsAll(Collection<?> c) {
                return false;
            }

            @Override
            public boolean addAll(Collection<? extends SeckillRes> c) {
                return false;
            }

            @Override
            public boolean addAll(int index, Collection<? extends SeckillRes> c) {
                return false;
            }

            @Override
            public boolean removeAll(Collection<?> c) {
                return false;
            }

            @Override
            public boolean retainAll(Collection<?> c) {
                return false;
            }

            @Override
            public void clear() {

            }

            @Override
            public SeckillRes get(int index) {
                return null;
            }

            @Override
            public SeckillRes set(int index, SeckillRes element) {
                return null;
            }

            @Override
            public void add(int index, SeckillRes element) {

            }

            @Override
            public SeckillRes remove(int index) {
                return null;
            }

            @Override
            public int indexOf(Object o) {
                return 0;
            }

            @Override
            public int lastIndexOf(Object o) {
                return 0;
            }

            @Override
            public ListIterator<SeckillRes> listIterator() {
                return null;
            }

            @Override
            public ListIterator<SeckillRes> listIterator(int index) {
                return null;
            }

            @Override
            public List<SeckillRes> subList(int fromIndex, int toIndex) {
                return null;
            }
        };

        if (obj==null) {
            EntityWrapper<Seckill> ew = new EntityWrapper<Seckill>();
            /*ew.eq("name","1000元秒殺iphone6");*/
            List<Seckill> a = seckillMapper.selectList(ew);
            String ogj=    jedisClient.set("seckill",JSON.toJSONString(a));
            jedisClient.expire("seckill",100);
            JSONArray parse = (JSONArray) JSONObject.parse(ogj);
            List<Seckill> seckills = parse.toJavaList(Seckill.class);
//            Seckill seckill =     JSONObject.toJavaObject(JSONObject.parseObject(ogj),Seckill.class);
            List<SeckillRes> b = zDozerBeanUtil.convertList(seckills, SeckillRes.class);
            return  b;
        }else {
           String json =   jedisClient.get("seckill");
            JSONArray parse = (JSONArray) JSONObject.parse(json);
            List<Seckill> seckills = parse.toJavaList(Seckill.class);
            List<SeckillRes> b = zDozerBeanUtil.convertList(seckills, SeckillRes.class);
            return  b;
        }
    }