Merge remote-tracking branch 'origin/master'

master
@t2652009480 11 months ago
commit c6eeba72ed

@ -36,8 +36,6 @@ public class StuExperimentTrainByCreditController {
public ResultEntity trainByPublicSave(@RequestBody StuMachineLearning learning){
return experimentTrainByCreditService.trainByPublicSave(learning);
}

@ -9,10 +9,7 @@ import com.sztzjy.digital_credit.util.ResultEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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 org.springframework.web.bind.annotation.*;
/**
* @author 17803
@ -43,4 +40,6 @@ public class StuUserPortraitController {
}

@ -1,9 +1,6 @@
package com.sztzjy.digital_credit.entity;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotBlank;
/**
*
*
@ -119,20 +116,21 @@ public class StuUserPortrait {
@ApiModelProperty("34")
private String stepNineD;
@ApiModelProperty("错误次数")
@ApiModelProperty("错误次数每个空最多扣一分错多次也是1分")
private Integer errorNumber;
@ApiModelProperty("用户ID-1 未提交 1已提交")
@NotBlank
@ApiModelProperty("用户ID")
private String userId;
@ApiModelProperty("提交状态")
@ApiModelProperty("提交状态0 未提交 1已提交")
private Integer subState;
@ApiModelProperty("归属模块(小模块)")
@NotBlank
private String module;
@ApiModelProperty("正确个数")
private Integer correctNumber;
public Integer getId() {
return id;
}
@ -452,4 +450,12 @@ public class StuUserPortrait {
public void setModule(String module) {
this.module = module == null ? null : module.trim();
}
public Integer getCorrectNumber() {
return correctNumber;
}
public void setCorrectNumber(Integer correctNumber) {
this.correctNumber = correctNumber;
}
}

@ -2873,6 +2873,66 @@ public class StuUserPortraitExample {
addCriterion("module not between", value1, value2, "module");
return (Criteria) this;
}
public Criteria andCorrectNumberIsNull() {
addCriterion("correct_number is null");
return (Criteria) this;
}
public Criteria andCorrectNumberIsNotNull() {
addCriterion("correct_number is not null");
return (Criteria) this;
}
public Criteria andCorrectNumberEqualTo(Integer value) {
addCriterion("correct_number =", value, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberNotEqualTo(Integer value) {
addCriterion("correct_number <>", value, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberGreaterThan(Integer value) {
addCriterion("correct_number >", value, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberGreaterThanOrEqualTo(Integer value) {
addCriterion("correct_number >=", value, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberLessThan(Integer value) {
addCriterion("correct_number <", value, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberLessThanOrEqualTo(Integer value) {
addCriterion("correct_number <=", value, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberIn(List<Integer> values) {
addCriterion("correct_number in", values, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberNotIn(List<Integer> values) {
addCriterion("correct_number not in", values, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberBetween(Integer value1, Integer value2) {
addCriterion("correct_number between", value1, value2, "correctNumber");
return (Criteria) this;
}
public Criteria andCorrectNumberNotBetween(Integer value1, Integer value2) {
addCriterion("correct_number not between", value1, value2, "correctNumber");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

@ -17,4 +17,5 @@ public interface StuUserPortraitControllerService {
ResultEntity userPortraitByModuleSave(StuUserPortrait userPortrait);
}

@ -3,9 +3,13 @@ package com.sztzjy.digital_credit.service.impl;/**
* @date 2024-04-23 14:11
*/
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
import com.sztzjy.digital_credit.entity.StuUser;
import com.sztzjy.digital_credit.entity.StuUserExample;
import com.sztzjy.digital_credit.entity.StuUserPortrait;
import com.sztzjy.digital_credit.entity.StuUserPortraitExample;
import com.sztzjy.digital_credit.mapper.StuUserMapper;
import com.sztzjy.digital_credit.mapper.StuUserPortraitMapper;
import com.sztzjy.digital_credit.service.StuUserPortraitControllerService;
import com.sztzjy.digital_credit.util.ResultEntity;
@ -14,6 +18,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.rmi.ServerException;
import java.util.HashMap;
import java.util.List;
@Service
@ -23,6 +30,9 @@ public class StuUserPortraitControllerServiceImpl implements StuUserPortraitCont
@Autowired
private StuUserPortraitMapper userPortraitMapper;
@Autowired
private StuUserMapper userMapper;
/**
* (module)
* @param userPortrait
@ -46,15 +56,93 @@ public class StuUserPortraitControllerServiceImpl implements StuUserPortraitCont
Integer id = portrait.getId();
BeanUtils.copyProperties(userPortrait,portrait);
portrait.setId(id);
//判断是否为提交状态,是提交状态
if (portrait.getSubState() == 1)
{
//根据model算正确分数
portrait = correctScoreCalculationByModule(portrait);
//将分数保存到用户表,如果重新实训将用户表数据删除
saveScoreToUser(portrait);
}
userPortraitMapper.updateByPrimaryKeySelective(portrait);
return new ResultEntity<>(HttpStatus.OK,"保存成功!");
}else {
//插入
userPortrait.setId((int) IdUtil.getSnowflakeNextId());
//判断是否为提交状态,是提交状态
if (userPortrait.getSubState() == 1)
{
//根据model算正确分数
userPortrait = correctScoreCalculationByModule(userPortrait);
//将分数保存到用户表,如果重新实训将用户表数据删除
saveScoreToUser(userPortrait);
}
userPortraitMapper.insertSelective(userPortrait);
//判断是否为提交状态,是提交状态将分数保存到用户表,如果重新实训将用户表数据删除
return new ResultEntity<>(HttpStatus.OK,"保存成功!");
}
}
//将分数保存到用户表,如果重新实训将用户表数据删除
private void saveScoreToUser(StuUserPortrait portrait) {
StuUserExample userExample = new StuUserExample();
userExample.createCriteria().andUserIdEqualTo(portrait.getUserId());
List<StuUser> stuUsers = userMapper.selectByExample(userExample);
if (!stuUsers.isEmpty())
{
//获取用户总分累加
BigDecimal caseUserProfileSocre = stuUsers.get(0).getCaseUserProfileSocre();
Integer correctNumber = portrait.getCorrectNumber();
stuUsers.get(0).setCaseUserProfileSocre(caseUserProfileSocre.add(Convert.toBigDecimal(correctNumber)));
userMapper.updateByPrimaryKeySelective(stuUsers.get(0));
}
throw new RuntimeException("用户信息不存在!");
}
//根据model算正确分数
private StuUserPortrait correctScoreCalculationByModule(StuUserPortrait portrait) {
HashMap<String, Integer> map = new HashMap<>();
map.put("违约情况",6);
map.put("性别与违约分析",11);
map.put("学历与违约分析",12);
map.put("婚姻状况与违约分析",12);
map.put("年龄与违约分析",17);
map.put("还款状况与违约分析",23);
map.put("信用额度与违约分析",19);
Integer currentCount = map.get(portrait.getModule());
int score = currentCount - portrait.getErrorNumber();
if (score <= 0)
{
score = 0;
}
portrait.setCorrectNumber(score);
return portrait;
}

@ -42,6 +42,7 @@
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="sub_state" jdbcType="INTEGER" property="subState" />
<result column="module" jdbcType="VARCHAR" property="module" />
<result column="correct_number" jdbcType="INTEGER" property="correctNumber" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -107,7 +108,7 @@
step_four_c, step_four_d, step_five_a, step_five_b, step_five_c, step_five_d, step_six_a,
step_six_b, step_six_c, step_six_d, step_seven_a, step_seven_b, step_seven_c, step_seven_d,
step_eight_a, step_eight_b, step_eight_c, step_eight_d, step_nine_a, step_nine_b,
step_nine_c, step_nine_d, error_number, user_id, sub_state, module
step_nine_c, step_nine_d, error_number, user_id, sub_state, module, correct_number
</sql>
<select id="selectByExample" parameterType="com.sztzjy.digital_credit.entity.StuUserPortraitExample" resultMap="BaseResultMap">
select
@ -153,7 +154,7 @@
step_eight_c, step_eight_d, step_nine_a,
step_nine_b, step_nine_c, step_nine_d,
error_number, user_id, sub_state,
module)
module, correct_number)
values (#{id,jdbcType=INTEGER}, #{stepOneA,jdbcType=VARCHAR}, #{stepOneB,jdbcType=VARCHAR},
#{stepOneC,jdbcType=VARCHAR}, #{stepOneD,jdbcType=VARCHAR}, #{stepTwoA,jdbcType=VARCHAR},
#{stepTwoB,jdbcType=VARCHAR}, #{stepTwoC,jdbcType=VARCHAR}, #{stepThreeA,jdbcType=VARCHAR},
@ -167,7 +168,7 @@
#{stepEightC,jdbcType=VARCHAR}, #{stepEightD,jdbcType=VARCHAR}, #{stepNineA,jdbcType=VARCHAR},
#{stepNineB,jdbcType=VARCHAR}, #{stepNineC,jdbcType=VARCHAR}, #{stepNineD,jdbcType=VARCHAR},
#{errorNumber,jdbcType=INTEGER}, #{userId,jdbcType=VARCHAR}, #{subState,jdbcType=INTEGER},
#{module,jdbcType=VARCHAR})
#{module,jdbcType=VARCHAR}, #{correctNumber,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.digital_credit.entity.StuUserPortrait">
insert into stu_user_portrait
@ -292,6 +293,9 @@
<if test="module != null">
module,
</if>
<if test="correctNumber != null">
correct_number,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -414,6 +418,9 @@
<if test="module != null">
#{module,jdbcType=VARCHAR},
</if>
<if test="correctNumber != null">
#{correctNumber,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.digital_credit.entity.StuUserPortraitExample" resultType="java.lang.Long">
@ -545,6 +552,9 @@
<if test="record.module != null">
module = #{record.module,jdbcType=VARCHAR},
</if>
<if test="record.correctNumber != null">
correct_number = #{record.correctNumber,jdbcType=INTEGER},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -591,7 +601,8 @@
error_number = #{record.errorNumber,jdbcType=INTEGER},
user_id = #{record.userId,jdbcType=VARCHAR},
sub_state = #{record.subState,jdbcType=INTEGER},
module = #{record.module,jdbcType=VARCHAR}
module = #{record.module,jdbcType=VARCHAR},
correct_number = #{record.correctNumber,jdbcType=INTEGER}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -716,6 +727,9 @@
<if test="module != null">
module = #{module,jdbcType=VARCHAR},
</if>
<if test="correctNumber != null">
correct_number = #{correctNumber,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
@ -759,7 +773,8 @@
error_number = #{errorNumber,jdbcType=INTEGER},
user_id = #{userId,jdbcType=VARCHAR},
sub_state = #{subState,jdbcType=INTEGER},
module = #{module,jdbcType=VARCHAR}
module = #{module,jdbcType=VARCHAR},
correct_number = #{correctNumber,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
Loading…
Cancel
Save