diff --git a/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java b/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java index f8d8c781..c0fbd7ed 100644 --- a/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java +++ b/src/main/java/com/peanut/modules/common/controller/SelfEvaluationFormController.java @@ -1,12 +1,17 @@ package com.peanut.modules.common.controller; import com.peanut.common.utils.R; +import com.peanut.common.utils.ShiroUtils; +import com.peanut.modules.common.entity.SelfEvaluationForm; +import com.peanut.modules.common.service.SelfEvaluationFormService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -18,26 +23,54 @@ import java.util.Map; @RequestMapping("common/selfEvaluationForm") public class SelfEvaluationFormController { -/* -中国大陆用户 -SDS的评定结果以标准分来定: -标准分小于52分为无抑郁;标准分大于等于52分且小于62分为轻微至轻度抑郁;标准分大于等于62分且小于72分为中至重度抑郁;标准分大于等于72分为重度抑郁。 + @Autowired + private SelfEvaluationFormService selfEvaluationFormService; -其它国家和地区 -标准分小于50分为无抑郁;标准分大于等于50分且小于60分为轻微至轻度抑郁;标准分大于等于60分且小于70分为中至重度抑郁;标准分大于等于70分为重度抑郁。 -计分规则: -SDS评定采用1—4制记分,评分时间为过去一周内。 -正向题,依次评为粗分1、2、3、4分   (1 3 4 7 8 9 10 13 15 19) -反向题,依次评为粗分4、3、2、1分   (2 5 6 11 12 14 16 17 18 20) -20项相加得到原始分,原始分分乘以1.25以后取整,得到标准分。 + //自测表列表 + @RequestMapping("/formList") + public R formList() { + List res = new ArrayList(); + res.add(yiyu); +// res.add(jiaolv); +// res.add(zibi); +// res.add(zaokuang); +// res.add(zilian); + return R.ok().put("formList",res); + } -*/ + //题目列表 + @RequestMapping("/formSubjectList") + public R formSubjectList(@RequestBody Map params) { + List list = null; + if ("yiyu".equals(params.get("type").toString())){ + list = yiyuList; + } + return R.ok().put("list",list); + } //打分 - @RequestMapping("/calculationForm") - public R calculationForm(@RequestBody Map params) { + @RequestMapping("/countForm") + public R countForm(@RequestBody Map params) { + R res = R.error(); List list = (List) params.get("resList"); + String country = params.get("country").toString(); + String city = params.get("city").toString(); + if ("yiyu".equals(params.get("type").toString())){ + res = countyiyu(list,country); + } + SelfEvaluationForm f = new SelfEvaluationForm(); + f.setType(params.get("type").toString()); + f.setUserId(ShiroUtils.getUId()); + f.setCountry(country); + f.setCity(city); + f.setStatus(res.get("status").toString()); + selfEvaluationFormService.save(f); + return res; + } + + + public R countyiyu(List list,String country) { int total = 0; for (int i=0;i < list.size(); i++) { //反向题 @@ -56,47 +89,117 @@ SDS评定采用1—4制记分,评分时间为过去一周内。 } } total = (int)(total*1.25); - String country = params.get("country").toString(); - if ("CN".equals(country)){ + if ("中国".equals(country)){ total = total - 2; } - String res ="无抑郁"; + String status ="无抑郁"; if (total>=70){ - res ="重度抑郁"; + status ="重度抑郁"; }else if (total >= 60) { - res ="中至重度抑郁"; + status ="中至重度抑郁"; }else if (total >= 50) { - res ="轻微至轻度抑郁"; + status ="轻微至轻度抑郁"; } - return R.ok().put("res",res); + return R.ok().put("total",total).put("status",status); } - //自评表题目列表 - @RequestMapping("/getSelfEvaluationFormList") - public R getSelfEvaluationFormList() { - List list = new ArrayList(); - list.add("我觉得闷闷不乐,情绪低沉"); - list.add("我觉得一天之中早晨最好"); - list.add("我一阵阵哭出来或觉得想哭"); - list.add("我晚上睡眠不好"); - list.add("我吃得跟平常一样多"); - list.add("我与异性密切接触时和以往一样感到愉快"); - list.add("我发觉我的体重下降"); - list.add("我有便秘的苦恼"); - list.add("我心跳比平时快"); - list.add("我无缘无故地感到疲乏"); - list.add("我的头脑跟平常一样清楚"); - list.add("觉得经常做的事情并没有困难"); - list.add("我觉得不安而平静不下来"); - list.add("我对将来抱有希望"); - list.add("我比平常容易生气激动"); - list.add("我觉得作出决定是容易的"); - list.add("我觉得自己是个有用的人,有人需要我"); - list.add("我的生活过得很有意思"); - list.add("我认为如果我死了别人会生活得好些"); - list.add("我平常感兴趣的事我仍然照样感兴趣"); - return R.ok().put("list",list); + + + + + + private static final Map yiyu; +// private static final Map jiaolv; +// private static final Map zibi; +// private static final Map zaokuang; +// private static final Map zilian; + private static final List yiyuList; +// private static final List jiaolvList; +// private static final List zibiList; +// private static final List zaokuangList; +// private static final List zilianList; + + static { + yiyu = new HashMap<>(); + yiyu.put("title","SDS抑郁自评量表"); + yiyu.put("des","抑郁自测量表SDS由W.K.Zung编制于1965年,为美国教育卫生福利部推荐的用于精神药理学研究的量表之一。因使用简便,能相当直观地反映病人抑郁的主观感受及其在治疗中的变化,当前已广泛应用于抑郁测试。"); + yiyu.put("num","20道题目"); + yiyu.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。"); + yiyu.put("cnRes","SDS的评定结果以标准分来定:\n" + + "标准分小于52分为无抑郁;\n" + + "标准分大于等于52分且小于62分为轻微至轻度抑郁;\n" + + "标准分大于等于62分且小于72分为中至重度抑郁;\n" + + "标准分大于等于72分为重度抑郁。\n" + + "抑郁评定的临界值为T分52,分值越高,抑郁倾向越明显"); + yiyu.put("worldRes","SDS的评定结果以标准分来定:\n" + + "标准分小于50分为无抑郁;\n" + + "标准分大于等于50分且小于60分为轻微至轻度抑郁;\n" + + "标准分大于等于60分且小于70分为中至重度抑郁;\n" + + "标准分大于等于70分为重度抑郁。\n" + + "抑郁评定的临界值为T分50,分值越高,抑郁倾向越明显。"); + yiyu.put("role","SDS评定采用1—4制记分,评分时间为过去一周内。\n" + + "正向题,依次评为粗分1、2、3、4分   (1 3 4 7 8 9 10 13 15 19)\n" + + "反向题,依次评为粗分4、3、2、1分   (2 5 6 11 12 14 16 17 18 20)\n" + + "20项相加得到原始分,原始分分乘以1.25以后取整,得到标准分。"); + yiyuList = new ArrayList(); + yiyuList.add("我觉得闷闷不乐,情绪低沉"); + yiyuList.add("我觉得一天之中早晨最好"); + yiyuList.add("我一阵阵哭出来或觉得想哭"); + yiyuList.add("我晚上睡眠不好"); + yiyuList.add("我吃得跟平常一样多"); + yiyuList.add("我与异性密切接触时和以往一样感到愉快"); + yiyuList.add("我发觉我的体重下降"); + yiyuList.add("我有便秘的苦恼"); + yiyuList.add("我心跳比平时快"); + yiyuList.add("我无缘无故地感到疲乏"); + yiyuList.add("我的头脑跟平常一样清楚"); + yiyuList.add("觉得经常做的事情并没有困难"); + yiyuList.add("我觉得不安而平静不下来"); + yiyuList.add("我对将来抱有希望"); + yiyuList.add("我比平常容易生气激动"); + yiyuList.add("我觉得作出决定是容易的"); + yiyuList.add("我觉得自己是个有用的人,有人需要我"); + yiyuList.add("我的生活过得很有意思"); + yiyuList.add("我认为如果我死了别人会生活得好些"); + yiyuList.add("我平常感兴趣的事我仍然照样感兴趣"); + +// jiaolv = new HashMap<>(); +// jiaolv.put("title","焦虑量表"); +// jiaolv.put("des","你焦虑吗"); +// jiaolv.put("num","20道题目"); +// jiaolv.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。"); +// jiaolv.put("cnRes","否"); +// jiaolv.put("worldRes","否"); +// jiaolv.put("role","大于0就焦虑"); + +// zibi = new HashMap<>(); +// zibi.put("title","自闭量表"); +// zibi.put("des","你自闭了吗"); +// zibi.put("num","20道题目"); +// zibi.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。"); +// zibi.put("cnRes","否"); +// zibi.put("worldRes","否"); +// zibi.put("role","大于0就自闭"); + +// zaokuang = new HashMap<>(); +// zaokuang.put("title","躁狂量表"); +// zaokuang.put("des","不要躁狂"); +// zaokuang.put("num","20道题目"); +// zaokuang.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。"); +// zaokuang.put("cnRes","否"); +// zaokuang.put("worldRes","否"); +// zaokuang.put("role","大于0就躁狂"); + +// zilian = new HashMap<>(); +// zilian.put("title","自恋型人格量表"); +// zilian.put("des","我很帅"); +// zilian.put("num","20道题目"); +// zilian.put("tip","请仔细阅读每道题目,把意思弄明白,然后根据最近一周的实际感觉,选择适当的选项。"); +// zilian.put("cnRes","否"); +// zilian.put("worldRes","否"); +// zilian.put("role","大于0就自恋"); } + } diff --git a/src/main/java/com/peanut/modules/common/dao/SelfEvaluationFormDao.java b/src/main/java/com/peanut/modules/common/dao/SelfEvaluationFormDao.java new file mode 100644 index 00000000..ed9871c3 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/SelfEvaluationFormDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.common.entity.SelfEvaluationForm; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SelfEvaluationFormDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/SelfEvaluationForm.java b/src/main/java/com/peanut/modules/common/entity/SelfEvaluationForm.java new file mode 100644 index 00000000..4f1e002f --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/SelfEvaluationForm.java @@ -0,0 +1,23 @@ +package com.peanut.modules.common.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("self_evaluation_form") +public class SelfEvaluationForm implements Serializable { + private static final long serialVersionUID = 1L; @TableId + + private Integer id; + private String type; + private String country; + private String city; + private String status; + private Integer userId; + private Date createTime; + +} diff --git a/src/main/java/com/peanut/modules/common/service/SelfEvaluationFormService.java b/src/main/java/com/peanut/modules/common/service/SelfEvaluationFormService.java new file mode 100644 index 00000000..713374d2 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/SelfEvaluationFormService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.SelfEvaluationForm; + +public interface SelfEvaluationFormService extends IService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/SelfEvaluationFormServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/SelfEvaluationFormServiceImpl.java new file mode 100644 index 00000000..855440c6 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/SelfEvaluationFormServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.SelfEvaluationFormDao; +import com.peanut.modules.common.entity.SelfEvaluationForm; +import com.peanut.modules.common.service.SelfEvaluationFormService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("commonSelfEvaluationFormService") +public class SelfEvaluationFormServiceImpl extends ServiceImpl implements SelfEvaluationFormService { +}