@RequestMapping:用于处理请求url映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父类路径 一般用于控制层
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象
@ResponseBody:注解实现将一个控制层的方法返回对象转换成json对象返回给页面
@Controller
@RequestMapping("appraise")
@Slf4j
@Validated
@Api(value="AppraiseController",description="课程评价相关接口")
public class AppraiseController {
@Autowired
private AppraiseService appraiseService;
@GetMapping("getUserAppraises")
@ResponseBody
@ApiOperation(value = "查询用户可以评价的课程列表", notes = "查询用户可以评价的课程列表")
public EnumMap<ResultTrans, Object> getUserAppraises(@RequestParam Map<String,Object> whereMap, HttpServletRequest request){
EnumMap<ResultTrans, Object> map = new EnumMap<ResultTrans, Object>(ResultTrans.class);
String usercode = ServletUtil.getJwtLoginUserId(request);
Map<String,Object> dataMap = appraiseService.getUserAppraises(whereMap, usercode);
map.put(ResultTrans.SUCCESS, Global.SUCCESS);
map.put(ResultTrans.DATA,dataMap);
return map;
}
}
@Component :这将 java 类标记为 bean。它是任何 Spring 管理组件的通用构造型。spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境中。
@Controller :这将一个类标记为 Spring Web MVC 控制器。标有它的Bean 会自动导入到 IoC 容器中。
@Service :此注解是组件注解的特化。它不会对 @Component 注解提供任何其他行为。您可以在服务层类中使用@Service 而不是 @Component,因为它以更好的方式指定了意图。
@Repository :这个注解是具有类似用途和功能的
@Component 注解的特化。它为 DAO 提供了额外
的好处。它将 DAO 导入 IoC 容器,并使未经检查的异常有资格转换为 Spring DataAccessException。
@Require
@Resource
@Autowired
@Qualifier
@Transactional(rollbackFor = Exception.class) 回滚
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SysUserDTO dto) {
SysUserEntity entity = ConvertUtils.sourceToTarget(dto, SysUserEntity.class);
//密码加密
//密码加密
if(StringUtils.isBlank(dto.getPassword())){
entity.setPassword(null);
}else{
HmacRandom hr =new HmacRandom();
String uurandom =hr.getuuid(64, 16);
entity.setSalt(uurandom);
HmacSHA512Utils hmc = new HmacSHA512Utils();
String jianmopass = hmc.getjiamipassword(entity.getPassword(),uurandom);
entity.setJianmopass(jianmopass);
String password = PasswordUtils.encode(entity.getPassword());
entity.setPassword(password);
}
//更新用户
updateById(entity);
//更新角色用户关系
sysRoleUserService.saveOrUpdate(entity.getId(), dto.getRoleIdList());
//保存用户岗位关系
sysUserPostService.saveOrUpdate(entity.getId(), dto.getPostIdList());
}```
dto
```bash
@Data
@ApiModel(value = "考生信息")
public class ExamstuinfoDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "考生号")
private String ksh;
@ApiModelProperty(value = "证件号")
private String zjh;
@ApiModelProperty(value = "证件物理ID")
private String zjwlid;
@ApiModelProperty(value = "姓名")
private String xm;
@ApiModelProperty(value = "口试语种")
private Long ksyzdm;
@ApiModelProperty(value = "口试语种名称")
@TableField(exist = false)
private String ksyzmc;
@ApiModelProperty(value = "加试语种1")
private Long ksyzdm1;
@ApiModelProperty(value = "加试语种名称1")
@TableField(exist = false)
private String ksyzmc1;
@ApiModelProperty(value = "市(代码)")
private Long city;
@ApiModelProperty(value = "市名称")
@TableField(exist = false)
private String citymc;
@ApiModelProperty(value = "区县(代码)")
private Long county;
@ApiModelProperty(value = "区县名称")
@TableField(exist = false)
private String countymc;
@ApiModelProperty(value = "考点")
private Long kaoddm;
@ApiModelProperty(value = "考点代码")
@TableField(exist = false)
private String kaodyhdm;
@ApiModelProperty(value = "考点名称")
@TableField(exist = false)
private String kaodmc;
@ApiModelProperty(value = "考场")
private Long kaocdm;
@ApiModelProperty(value = "考场名称")
@TableField(exist = false)
private String kaocmc;
@ApiModelProperty(value = "学校")
private Long schooldm;
@ApiModelProperty(value = "学校代码")
@TableField(exist = false)
private String schoolyhdm;
@ApiModelProperty(value = "学校名称")
@TableField(exist = false)
private String schoolmc;
@ApiModelProperty(value = "班级")
private Long bjdm;
@ApiModelProperty(value = "班级名称")
@TableField(exist = false)
private String bjmc;
@ApiModelProperty(value = "创建者")
private Long creator;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date createDate;
@ApiModelProperty(value = "修改者")
private Long updater;
@ApiModelProperty(value = "修改时间")
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date updateDate;
@ApiModelProperty(value = "考试安排开始时间")
private Date ksapkssj;
@ApiModelProperty(value = "考试安排开始时间名称")
@TableField(exist = false)
private String ksapkssjmc;
@ApiModelProperty(value = "考试安排结束时间")
private Date ksapjssj;
@ApiModelProperty(value = "考试安排结束时间名称")
@TableField(exist = false)
private String ksapjssjmc;
@ApiModelProperty(value = "考试成绩录入时间")
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
@TableField(exist = false)
private Date kscjlrsj;
@ApiModelProperty(value = "考试成绩录入时间名称")
@TableField(exist = false)
private String kscjlrsjmc;
}
entity
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("tb_examstuinfo")
public class ExamstuinfoEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 考生号
*/
private String ksh;
/**
* 证件号
*/
private String zjh;
/**
* 证件物理ID
*/
private String zjwlid;
/**
* 姓名
*/
private String xm;
/**
* 口试语种
*/
private Long ksyzdm;
@TableField(exist = false)
private String ksyzmc;
private Long ksyzdm1;
@TableField(exist = false)
private String ksyzmc1;
/**
* 市
*/
private Long city;
@TableField(exist = false)
private String citymc;
/**
* 区县
*/
private Long county;
@TableField(exist = false)
private String countymc;
/**
* 考点
*/
private Long kaoddm;
@TableField(exist = false)
private String kaodyhdm;
@TableField(exist = false)
private String kaodmc;
/**
* 考场
*/
private Long kaocdm;
@TableField(exist = false)
private String kaocmc;
/**
* 学校
*/
private Long schooldm;
@TableField(exist = false)
private String schoolyhdm;
@TableField(exist = false)
private String schoolmc;
/**
* 班级
*/
private Long bjdm;
@TableField(exist = false)
private String bjmc;
/**
* 修改者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updater;
/**
* 修改时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date updateDate;
//考试安排开始时间
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date ksapkssj;
@TableField(exist = false)
private String ksapkssjmc;
//考试安排结束时间
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date ksapjssj;
@TableField(exist = false)
private String ksapjssjmc;
//考试成绩录入时间
@TableField(exist = false)
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
private Date kscjlrsj;
@TableField(exist = false)
private String kscjlrsjmc;
}