#Springboot电子商务平台代码解析与模拟登录和抢单

模拟代码

public void invoke() throws InterruptedException {
       // System.out.println("123");

        //模拟抢单
        MultiValueMap<String,Object> map = new LinkedMultiValueMap<String,Object>();

        //Map jsonMap = this.restTemplate.getForObject("https://pigeon.nyfwypt.com/dmaier-iot/iotcollect/deviceData", map.getClass(), map);

        //登录参数
        MultiValueMap<String,Object> loginMap = new LinkedMultiValueMap<String,Object>();

        //准备接口地址
        String qiangUrl =  "http://localhost:17080/m.api" ;

        //准备多个用户的参数信息
        String[] users= new String[]{"6"};
        String[] phones= new String[]{"13762328824"};
        //准备订单号
        map.add("roundId",16);
        map.add("spuId",294);
        map.add("channel","android");
        map.add("_gp","order");
        map.add("_mt","qiangOrder");

        loginMap.add("_gp","user");
        loginMap.add("_mt","login");
        loginMap.add("password",Base64.getEncoder().encode("12345678".getBytes()));

        Map<String,Object> skuListObj = new HashMap<String,Object>();
        List skuList= new ArrayList<Object>();
        Map<String,Object> skumap = new HashMap<>();
        List intArr= new ArrayList<Object>();
        intArr.add(1);
        intArr.add(2);
        intArr.add(16);
        skumap.put("skuId",298);
        skumap.put("num",1);
        skumap.put("title","测试抢购-818002");
        skumap.put("freightTemplateId","1");
        skumap.put("originalPrice",100000);
        skumap.put("price",100000);
        skumap.put("vipPrice",100000);
        skumap.put("skuTitle","默认选择");
        skumap.put("stock",999999999);
        skumap.put("spuId",294);
        skumap.put("spuType",1);
        skumap.put("orderSpuType",1);
        skumap.put("orderType",1);

        skumap.put("roundId",16);
        skumap.put("categoryId",16);
        skumap.put("categoryIdList",intArr);
        skumap.put("weight",200);
        skuList.add(skumap);

       // JsonParser jsonParser = new JsonParser();

        skuListObj.put("skuList", skuList);
        skuListObj.put("totalOriginalPrice",100000);
        skuListObj.put("totalPrice",100000);
        skuListObj.put("mono","");
        skuListObj.put("takeWay","buy");
        skuListObj.put("freightPrice",0);
        skuListObj.put("addressId",21);
        skuListObj.put("userId",130);
        skuListObj.put("roundId",16);
        skuListObj.put("spuType",1);
        skuListObj.put("orderType",1);
        skuListObj.put("orderSpuType",1);
        skuListObj.put("exceptPrice",100000);

        map.add("orderRequest",skuListObj);


        HttpHeaders headers=new HttpHeaders();
        headers.add("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");



        //启动多线程调用抢单
        for(int i=0;i<users.length;i++){
            skumap.put("userId",130);
            map.add("userId",users[i]);
            loginMap.add("phone",Base64.getEncoder().encode(phones[i].getBytes()));

            System.out.println(map.toString());
            System.out.println(loginMap.toString());
            new Thread(()->{
                //执行登录
                Map loginResMap = this.restTemplate.postForObject(qiangUrl, loginMap,HashMap.class);
                //System.out.println(loginResMap);
                HashMap<String,Object> loginData = (HashMap<String,Object>)loginResMap.get("data");
                String accessToken = loginData.get("accessToken").toString();
                System.out.println(accessToken);
                headers.add("ACCESSTOKEN",accessToken);

                HttpEntity<MultiValueMap> multiValueMapHttpEntity = new HttpEntity<MultiValueMap>(map, headers);

                Map jsonMap = this.restTemplate.postForObject(qiangUrl, multiValueMapHttpEntity,HashMap.class);

                System.out.println(jsonMap);

                try {
                    Thread.sleep(1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }).start();
            Thread.sleep(1);
        }




    }