package com.iamberry.rst.controllers.cm;

import com.iamberry.rst.core.cm.ComplaintQuestionInfo;
import com.iamberry.rst.faces.cm.ComplaintQuestionInfoService;
import com.iamberry.wechat.tools.ResponseJson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by wxm
 * 问题
 */
@Controller
public class AppComplaintQuestionInfoController {

    /**
     *  邮寄地址id
     */
    private Integer backOutQuestionId = 5;


    @Autowired
    private ComplaintQuestionInfoService complaintQuestionInfoService;


    /**
     * 进入客诉问题描述
     *
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping("/QA/{id}")
    public ModelAndView problem( @PathVariable("id") Integer id, HttpServletRequest request) throws Exception {
        if(id == backOutQuestionId){
            ModelAndView mv = new ModelAndView("wap/cm/send_message");
            return mv;
        }else{
            ModelAndView mv = new ModelAndView("wap/cm/request_message");
            mv.addObject("questionId", id);
            return mv;
        }
    }

    /**
     * 进入客诉问题描述
     *
     * @param request
     * @return
     * @throws Exception
     */
//    @RequestMapping("/address")
//    public ModelAndView adress(HttpServletRequest request) throws Exception {
//        ModelAndView mv = new ModelAndView("wap/cm/send_message");
//        return mv;
//    }

    /**
     * 查询退回短信客诉问题
     *
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/get_back_out_question")
    public ResponseJson getBackOutQuestion(HttpServletRequest request){
        ResponseJson msg = new ResponseJson();
        ComplaintQuestionInfo complaintQuestionInfo = complaintQuestionInfoService.getQuestionById(backOutQuestionId);
        if (complaintQuestionInfo  == null) {
            msg.setResultCode(500);
            msg.setReturnCode(500);
        } else {
            msg.setResultCode(200);
            msg.setReturnCode(200);
            msg.addResponseKeyValue("complaintQuestionInfo",complaintQuestionInfo);
        }
        return msg;
    }

    /**
     * 查询客诉问题
     *
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/get_question")
    public ResponseJson getQuestion(HttpServletRequest request, Integer questionId){
        ResponseJson msg = new ResponseJson();
        if(questionId == null){
            msg.setResultCode(500);
            msg.setReturnCode(500);
            return msg;
        }
        ComplaintQuestionInfo complaintQuestionInfo = complaintQuestionInfoService.getQuestionById(questionId);
        if (complaintQuestionInfo  == null) {
            msg.setResultCode(500);
            msg.setReturnCode(500);
        } else {
            msg.setResultCode(200);
            msg.setReturnCode(200);
            msg.addResponseKeyValue("complaintQuestionInfo",complaintQuestionInfo);
        }
        return msg;
    }

    /**
     * 修改是否已解决总数
     *
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/update_question_num")
    public ResponseJson updateQuestionNum(HttpServletRequest request, ComplaintQuestionInfo complaintQuestionInfo){
        ResponseJson msg = new ResponseJson();
        if(complaintQuestionInfo == null){
            msg.setResultCode(500);
            msg.setReturnCode(500);
            return msg;
        }
        Integer num = complaintQuestionInfoService.updateQuestionById(complaintQuestionInfo);
        if (num < 1) {
            msg.setResultCode(500);
            msg.setReturnCode(500);
        } else {
            msg.setResultCode(200);
            msg.setReturnCode(200);
        }
        return msg;
    }


}