diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java new file mode 100644 index 0000000..0937414 --- /dev/null +++ b/src/main/java/com/sztzjy/digital_credit/controller/StuUserPortraitController.java @@ -0,0 +1,46 @@ +package com.sztzjy.digital_credit.controller; + +import com.sztzjy.digital_credit.annotation.AnonymousAccess; +import com.sztzjy.digital_credit.entity.StuMachineLearning; +import com.sztzjy.digital_credit.entity.StuUserPortrait; +import com.sztzjy.digital_credit.service.StuExperimentTrainByCreditService; +import com.sztzjy.digital_credit.service.StuUserPortraitControllerService; +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; + +/** + * @author 17803 + * @date 2024-04-23 9:38 + */ + +@RestController +@RequestMapping("api/stu/userPortrait") +@Api(tags = "用户画像:用户画像") +public class StuUserPortraitController { + + + + @Autowired + private StuUserPortraitControllerService userPortraitControllerService; + + + @ApiOperation("自动保存接口(根据module分类,传参包括错误次数)") + @AnonymousAccess + @PostMapping("/userPortraitByModuleSave") + public ResultEntity userPortraitByModuleSave(@RequestBody StuUserPortrait userPortrait){ + + return userPortraitControllerService.userPortraitByModuleSave(userPortrait); + + } + + + + + +} diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearning.java b/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearning.java index 3212dff..7ce2473 100644 --- a/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearning.java +++ b/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearning.java @@ -113,10 +113,10 @@ public class StuMachineLearning { @ApiModelProperty("33") private String stepNineC; - @ApiModelProperty("34") - private String stepNineD; + @ApiModelProperty("错误次数") + private Integer errorNumber; - @ApiModelProperty("用户ID") + @ApiModelProperty("用户ID(-1 未提交 1已提交)") private String userId; @ApiModelProperty("提交状态") @@ -405,12 +405,12 @@ public class StuMachineLearning { this.stepNineC = stepNineC == null ? null : stepNineC.trim(); } - public String getStepNineD() { - return stepNineD; + public Integer getErrorNumber() { + return errorNumber; } - public void setStepNineD(String stepNineD) { - this.stepNineD = stepNineD == null ? null : stepNineD.trim(); + public void setErrorNumber(Integer errorNumber) { + this.errorNumber = errorNumber; } public String getUserId() { diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearningExample.java b/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearningExample.java index e47f8ed..93f5043 100644 --- a/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearningExample.java +++ b/src/main/java/com/sztzjy/digital_credit/entity/StuMachineLearningExample.java @@ -2544,73 +2544,63 @@ public class StuMachineLearningExample { return (Criteria) this; } - public Criteria andStepNineDIsNull() { - addCriterion("step_nine_d is null"); + public Criteria andErrorNumberIsNull() { + addCriterion("error_number is null"); return (Criteria) this; } - public Criteria andStepNineDIsNotNull() { - addCriterion("step_nine_d is not null"); + public Criteria andErrorNumberIsNotNull() { + addCriterion("error_number is not null"); return (Criteria) this; } - public Criteria andStepNineDEqualTo(String value) { - addCriterion("step_nine_d =", value, "stepNineD"); + public Criteria andErrorNumberEqualTo(Integer value) { + addCriterion("error_number =", value, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDNotEqualTo(String value) { - addCriterion("step_nine_d <>", value, "stepNineD"); + public Criteria andErrorNumberNotEqualTo(Integer value) { + addCriterion("error_number <>", value, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDGreaterThan(String value) { - addCriterion("step_nine_d >", value, "stepNineD"); + public Criteria andErrorNumberGreaterThan(Integer value) { + addCriterion("error_number >", value, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDGreaterThanOrEqualTo(String value) { - addCriterion("step_nine_d >=", value, "stepNineD"); + public Criteria andErrorNumberGreaterThanOrEqualTo(Integer value) { + addCriterion("error_number >=", value, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDLessThan(String value) { - addCriterion("step_nine_d <", value, "stepNineD"); + public Criteria andErrorNumberLessThan(Integer value) { + addCriterion("error_number <", value, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDLessThanOrEqualTo(String value) { - addCriterion("step_nine_d <=", value, "stepNineD"); + public Criteria andErrorNumberLessThanOrEqualTo(Integer value) { + addCriterion("error_number <=", value, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDLike(String value) { - addCriterion("step_nine_d like", value, "stepNineD"); + public Criteria andErrorNumberIn(List values) { + addCriterion("error_number in", values, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDNotLike(String value) { - addCriterion("step_nine_d not like", value, "stepNineD"); + public Criteria andErrorNumberNotIn(List values) { + addCriterion("error_number not in", values, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDIn(List values) { - addCriterion("step_nine_d in", values, "stepNineD"); + public Criteria andErrorNumberBetween(Integer value1, Integer value2) { + addCriterion("error_number between", value1, value2, "errorNumber"); return (Criteria) this; } - public Criteria andStepNineDNotIn(List values) { - addCriterion("step_nine_d not in", values, "stepNineD"); - return (Criteria) this; - } - - public Criteria andStepNineDBetween(String value1, String value2) { - addCriterion("step_nine_d between", value1, value2, "stepNineD"); - return (Criteria) this; - } - - public Criteria andStepNineDNotBetween(String value1, String value2) { - addCriterion("step_nine_d not between", value1, value2, "stepNineD"); + public Criteria andErrorNumberNotBetween(Integer value1, Integer value2) { + addCriterion("error_number not between", value1, value2, "errorNumber"); return (Criteria) this; } diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortrait.java b/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortrait.java index eb00b13..4767df9 100644 --- a/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortrait.java +++ b/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortrait.java @@ -1,6 +1,9 @@ package com.sztzjy.digital_credit.entity; import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotBlank; + /** * 综合案例:用户画像 * @@ -116,13 +119,18 @@ public class StuUserPortrait { @ApiModelProperty("34") private String stepNineD; - @ApiModelProperty("用户ID") + @ApiModelProperty("错误次数") + private Integer errorNumber; + + @ApiModelProperty("用户ID(-1 未提交 1已提交)") + @NotBlank private String userId; @ApiModelProperty("提交状态") private Integer subState; @ApiModelProperty("归属模块(小模块)") + @NotBlank private String module; public Integer getId() { @@ -413,6 +421,14 @@ public class StuUserPortrait { this.stepNineD = stepNineD == null ? null : stepNineD.trim(); } + public Integer getErrorNumber() { + return errorNumber; + } + + public void setErrorNumber(Integer errorNumber) { + this.errorNumber = errorNumber; + } + public String getUserId() { return userId; } diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortraitExample.java b/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortraitExample.java index 1767095..f97a580 100644 --- a/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortraitExample.java +++ b/src/main/java/com/sztzjy/digital_credit/entity/StuUserPortraitExample.java @@ -2614,6 +2614,66 @@ public class StuUserPortraitExample { return (Criteria) this; } + public Criteria andErrorNumberIsNull() { + addCriterion("error_number is null"); + return (Criteria) this; + } + + public Criteria andErrorNumberIsNotNull() { + addCriterion("error_number is not null"); + return (Criteria) this; + } + + public Criteria andErrorNumberEqualTo(Integer value) { + addCriterion("error_number =", value, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberNotEqualTo(Integer value) { + addCriterion("error_number <>", value, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberGreaterThan(Integer value) { + addCriterion("error_number >", value, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberGreaterThanOrEqualTo(Integer value) { + addCriterion("error_number >=", value, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberLessThan(Integer value) { + addCriterion("error_number <", value, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberLessThanOrEqualTo(Integer value) { + addCriterion("error_number <=", value, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberIn(List values) { + addCriterion("error_number in", values, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberNotIn(List values) { + addCriterion("error_number not in", values, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberBetween(Integer value1, Integer value2) { + addCriterion("error_number between", value1, value2, "errorNumber"); + return (Criteria) this; + } + + public Criteria andErrorNumberNotBetween(Integer value1, Integer value2) { + addCriterion("error_number not between", value1, value2, "errorNumber"); + return (Criteria) this; + } + public Criteria andUserIdIsNull() { addCriterion("user_id is null"); return (Criteria) this; diff --git a/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java b/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java new file mode 100644 index 0000000..d75ba31 --- /dev/null +++ b/src/main/java/com/sztzjy/digital_credit/service/StuUserPortraitControllerService.java @@ -0,0 +1,20 @@ +package com.sztzjy.digital_credit.service; + +import com.sztzjy.digital_credit.entity.StuUserPortrait; +import com.sztzjy.digital_credit.util.ResultEntity; + +/** + * @author 17803 + * @date 2024-04-23 14:11 + */ +public interface StuUserPortraitControllerService { + /** + * 自动保存接口(根据module分类) + * @param userPortrait + * @return + */ + + ResultEntity userPortraitByModuleSave(StuUserPortrait userPortrait); + + +} diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java new file mode 100644 index 0000000..c974f47 --- /dev/null +++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuUserPortraitControllerServiceImpl.java @@ -0,0 +1,61 @@ +package com.sztzjy.digital_credit.service.impl;/** + * @author 17803 + * @date 2024-04-23 14:11 + */ + +import cn.hutool.core.util.IdUtil; +import com.sztzjy.digital_credit.entity.StuUserPortrait; +import com.sztzjy.digital_credit.entity.StuUserPortraitExample; +import com.sztzjy.digital_credit.mapper.StuUserPortraitMapper; +import com.sztzjy.digital_credit.service.StuUserPortraitControllerService; +import com.sztzjy.digital_credit.util.ResultEntity; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class StuUserPortraitControllerServiceImpl implements StuUserPortraitControllerService { + + + @Autowired + private StuUserPortraitMapper userPortraitMapper; + + /** + * 自动保存接口(根据module分类) + * @param userPortrait + * @return + */ + + @Override + public ResultEntity userPortraitByModuleSave(StuUserPortrait userPortrait) { + + StuUserPortraitExample portraitExample = new StuUserPortraitExample(); + portraitExample.createCriteria().andUserIdEqualTo(userPortrait.getUserId()).andModuleEqualTo(userPortrait.getModule()); + List userPortraitList = userPortraitMapper.selectByExample(portraitExample); + if (!userPortraitList.isEmpty()) { + + if (userPortraitList.get(0).getSubState() == 1) + { + return new ResultEntity<>(HttpStatus.OK,"保存成功!"); + } + //更新 + StuUserPortrait portrait = userPortraitList.get(0); + Integer id = portrait.getId(); + BeanUtils.copyProperties(userPortrait,portrait); + portrait.setId(id); + userPortraitMapper.updateByPrimaryKeySelective(portrait); + return new ResultEntity<>(HttpStatus.OK,"保存成功!"); + + }else { + //插入 + userPortrait.setId((int) IdUtil.getSnowflakeNextId()); + userPortraitMapper.insertSelective(userPortrait); + return new ResultEntity<>(HttpStatus.OK,"保存成功!"); + } + } + + +} diff --git a/src/main/resources/mappers/StuMachineLearningMapper.xml b/src/main/resources/mappers/StuMachineLearningMapper.xml index 38e466c..c8a4149 100644 --- a/src/main/resources/mappers/StuMachineLearningMapper.xml +++ b/src/main/resources/mappers/StuMachineLearningMapper.xml @@ -37,7 +37,7 @@ - + @@ -106,7 +106,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, user_id, sub_state, module + step_nine_c, error_number, user_id, sub_state, module select @@ -151,8 +152,8 @@ 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, - user_id, sub_state, module - ) + error_number, user_id, sub_state, + module) 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}, @@ -165,8 +166,8 @@ #{stepSevenD,jdbcType=VARCHAR}, #{stepEightA,jdbcType=VARCHAR}, #{stepEightB,jdbcType=VARCHAR}, #{stepEightC,jdbcType=VARCHAR}, #{stepEightD,jdbcType=VARCHAR}, #{stepNineA,jdbcType=VARCHAR}, #{stepNineB,jdbcType=VARCHAR}, #{stepNineC,jdbcType=VARCHAR}, #{stepNineD,jdbcType=VARCHAR}, - #{userId,jdbcType=VARCHAR}, #{subState,jdbcType=INTEGER}, #{module,jdbcType=VARCHAR} - ) + #{errorNumber,jdbcType=INTEGER}, #{userId,jdbcType=VARCHAR}, #{subState,jdbcType=INTEGER}, + #{module,jdbcType=VARCHAR}) insert into stu_user_portrait @@ -279,6 +280,9 @@ step_nine_d, + + error_number, + user_id, @@ -398,6 +402,9 @@ #{stepNineD,jdbcType=VARCHAR}, + + #{errorNumber,jdbcType=INTEGER}, + #{userId,jdbcType=VARCHAR}, @@ -526,6 +533,9 @@ step_nine_d = #{record.stepNineD,jdbcType=VARCHAR}, + + error_number = #{record.errorNumber,jdbcType=INTEGER}, + user_id = #{record.userId,jdbcType=VARCHAR}, @@ -578,6 +588,7 @@ step_nine_b = #{record.stepNineB,jdbcType=VARCHAR}, step_nine_c = #{record.stepNineC,jdbcType=VARCHAR}, step_nine_d = #{record.stepNineD,jdbcType=VARCHAR}, + error_number = #{record.errorNumber,jdbcType=INTEGER}, user_id = #{record.userId,jdbcType=VARCHAR}, sub_state = #{record.subState,jdbcType=INTEGER}, module = #{record.module,jdbcType=VARCHAR} @@ -693,6 +704,9 @@ step_nine_d = #{stepNineD,jdbcType=VARCHAR}, + + error_number = #{errorNumber,jdbcType=INTEGER}, + user_id = #{userId,jdbcType=VARCHAR}, @@ -742,6 +756,7 @@ step_nine_b = #{stepNineB,jdbcType=VARCHAR}, step_nine_c = #{stepNineC,jdbcType=VARCHAR}, step_nine_d = #{stepNineD,jdbcType=VARCHAR}, + error_number = #{errorNumber,jdbcType=INTEGER}, user_id = #{userId,jdbcType=VARCHAR}, sub_state = #{subState,jdbcType=INTEGER}, module = #{module,jdbcType=VARCHAR}