package com.rf.psychological.scale.resultBusiness.scaleResult;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.rf.psychological.utils.Constant;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @description 自信心测试
 */
public class CFDScale extends BaseScale {
    public CFDScale(JSONArray jsonArray, JSONObject resultJson) {
        super(jsonArray, resultJson);
    }

    public JSONObject scaleCalculate() throws Exception {
        //得分
        int score = 0;

        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject1 = jsonArray.getJSONObject(i);
            if (jsonObject1.getString("scoreDirection").equals("1")) {
                if (jsonObject1.getString("checkItems").equals("是")) {
                    score += 1;
                } else if (jsonObject1.getString("checkItems").equals("否")) {
                    score += 0;
                }
            }else {
                if (jsonObject1.getString("checkItems").equals("是")) {
                    score += 0;
                } else if (jsonObject1.getString("checkItems").equals("否")) {
                    score += 1;
                }
            }
        }
        //得分列表
        Map<String, String> resultMap = new LinkedHashMap<>();
        resultMap.put("总分", String.valueOf(score));
        resultJson.put("总分", String.valueOf(score));

        if (score <= 40 && score >= 25) {
            resultMap.put("结论", "说明你对自己自信心十足，明白自己的优点，同时也清楚自己的缺点。不过，在此警告你一声：如果你得分将近40的话，别人可能会认为你很自大狂傲，甚至气焰太胜。你不妨在别人面前谦虚一点，这样人缘才会好。");
            resultJson.put("结论", "说明你对自己自信心十足，明白自己的优点，同时也清楚自己的缺点。不过，在此警告你一声：如果你得分将近40的话，别人可能会认为你很自大狂傲，甚至气焰太胜。你不妨在别人面前谦虚一点，这样人缘才会好。");
        } else if (score <= 24 && score >= 12) {
            resultMap.put("结论", "说明你对自己颇有自信，但是你仍或多或少缺乏安全感，对自己产生怀疑。你不妨提醒自己，在优点和长处各方面并不输入，特别强调自己的才能和成就。");
            resultJson.put("结论", "说明你对自己颇有自信，但是你仍或多或少缺乏安全感，对自己产生怀疑。你不妨提醒自己，在优点和长处各方面并不输入，特别强调自己的才能和成就。");
        } else if (score <= 11) {
            resultMap.put("结论", "说明你对自己显然不太有信心。你过于谦虚和自我压抑，因此经常受人支配。从现在起，尽管不要去想自己的弱点，多往好的一面去衡量；先学会看重自己，别人才会真正看重你。");
            resultJson.put("结论", "说明你对自己显然不太有信心。你过于谦虚和自我压抑，因此经常受人支配。从现在起，尽管不要去想自己的弱点，多往好的一面去衡量；先学会看重自己，别人才会真正看重你。");
        }

        List<Map<String, String>> resultMapList = new ArrayList<>();
        resultMapList.add(resultMap);

        JSONObject returnJson = new JSONObject(true);
        returnJson.put("resultMapList", resultMapList);
        returnJson.put("scaleName", Constant.SHEET_NAME_CFD);
        returnJson.put("resultJson", resultJson);

        return returnJson;
    }
}
