修改自测表

This commit is contained in:
wuchunlei
2025-01-22 09:28:43 +08:00
parent 851074a104
commit 313717d898
5 changed files with 201 additions and 46 deletions

View File

@@ -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<String,Object> 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<String,Object> params) {
@RequestMapping("/countForm")
public R countForm(@RequestBody Map<String,Object> params) {
R res = R.error();
List<Integer> 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<Integer> 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);
}
//自评表题目列表
@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);
return R.ok().put("total",total).put("status",status);
}
private static final Map<String, Object> yiyu;
// private static final Map<String, Object> jiaolv;
// private static final Map<String, Object> zibi;
// private static final Map<String, Object> zaokuang;
// private static final Map<String, Object> 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就自恋");
}
}

View File

@@ -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<SelfEvaluationForm> {
}

View File

@@ -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;
}

View File

@@ -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<SelfEvaluationForm> {
}

View File

@@ -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<SelfEvaluationFormDao, SelfEvaluationForm> implements SelfEvaluationFormService {
}