package com.chinacreator.video.restful.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.chinacreator.video.bean.OrderInfo;
import com.chinacreator.video.exception.BussinessException;
import com.chinacreator.video.restful.service.VivoProductService;
import com.chinacreator.video.restful.service.WoplusReqService;
import com.chinacreator.video.service.HandleService;
import org.springframework.beans.factory.annotation.Autowired;
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;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;

/**
 * @author yu.su
 * @date 2021.4.28
 */
@RestController
@RequestMapping(value = "/vivo")
public class VivoProductController {


    @Resource
    private VivoProductService vivoProductService;
    @Resource
    private HandleService handleService;

    private Logger logger=Logger.getLogger("vivoProduct");

//   @PostMapping("/queryMainProductList")
//    public Map<String,Object> queryMainProductList(@RequestBody Map<String,Object> params){
//       String resultCode="0";
//       String resultInfo="";
//       List<HashMap> hashMaps = null;
//
//       Map<String,Object> header = (Map<String, Object>) params.get("header");
//       String appId = (String) header.get("appId");
//       try {
//           hashMaps    = vivoProductService.queryMainProductList(appId);
//       } catch (Exception e) {
//            e.printStackTrace();
//            if (e instanceof BussinessException){
//                resultCode=((BussinessException) e).getCode();
//                resultInfo=e.getMessage();
//            }else {
//                resultCode="8000";
//                resultInfo="系统异常,请稍后再试";
//            }
//        }
//
//        Map<String, Object> res = new HashMap<>();
//        res.put("code",resultCode);
//        res.put("msg",resultInfo);
//        res.put("data",hashMaps);
//        res.put("sign",resultInfo);
//        logger.info("queryMainProductList请求参数=========="+params+"====queryMainProductList返回参数======"+res);
//        return res;
//    }
//    @PostMapping("/preCheckedProduct")
//    public Map<String,Object> preCheckedProduct(@RequestBody String params){
//        String resultCode="0";
//        String resultInfo="";
//        JSONObject jsonObject = JSON.parseObject(params);
//        JSONObject body = jsonObject.getJSONObject("body");
//        String userid =  body.getString("account");
//        String spid =  body.getString("productCode");
//
//        JSONObject header = jsonObject.getJSONObject("header");
//        String channel =  header.getString("appId");
//
//        OrderInfo orderInfo = new OrderInfo();
//        orderInfo.setUserid(userid);
//        String cpid = vivoProductService.getCpid(spid);
//        orderInfo.setCpid(cpid);
//        orderInfo.setSpid(spid);
//        orderInfo.setTimestamp(header.getString("timestamp"));
//        orderInfo.setInvokeface("preCheckedProduct");
//        orderInfo.setType("1");
//        orderInfo.setChannel(channel);
//        try {
//            vivoProductService.preCheckedProduct(orderInfo);
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (e instanceof BussinessException){
//                resultCode=((BussinessException) e).getCode();
//                resultInfo=e.getMessage();
//            }else {
//                resultCode="8000";
//                resultInfo="系统异常,请稍后再试";
//            }
//        }
//
//        Map<String, Object> res = new HashMap<>();
//        res.put("code",resultCode);
//        res.put("msg",resultInfo);
//        res.put("data",hashMaps);
//        res.put("sign",resultInfo);
//        logger.info("woplusReq请求参数=========="+params+"====woplusReq返回参数======"+params);
//        return res;
//    }
//
//    @PostMapping("/creatOrder")
//    public Map<String,Object> creatOrder(@RequestBody Map<String,Object> params){
//        String resultCode="0";
//        String resultInfo="";
//
//        Map<String,Object> body = (Map<String, Object>) params.get("body");
//        String userid = (String) body.get("account");
//        String spid = (String) body.get("productCode");
//
//        Map<String,Object> header = (Map<String, Object>) params.get("header");
//        String channel = (String) header.get("appId");
//
//        OrderInfo orderInfo = new OrderInfo();
//        orderInfo.setUserid(userid);
//        String cpid = vivoProductService.getCpid(spid);
//        orderInfo.setCpid(cpid);
//        orderInfo.setSpid(spid);
//        orderInfo.setInvokeface("creatOrder");
//        orderInfo.setType("1");
//        orderInfo.setChannel(channel);
//
//        try {
//            handleService.check(orderInfo);
//            vivoProductService.handle(orderInfo);
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (e instanceof BussinessException){
//                resultCode=((BussinessException) e).getCode();
//                resultInfo=e.getMessage();
//            }else {
//                resultCode="8000";
//                resultInfo="系统异常,请稍后再试";
//            }
//        }
//
//        Map<String, Object> res = new HashMap<>();
//        res.put("code",resultCode);
//        res.put("msg",resultInfo);
//        res.put("data",hashMaps);
//        res.put("sign",resultInfo);
//        logger.info("woplusReq请求参数=========="+params+"====woplusReq返回参数======"+params);
//        return res;
//    }
}
