概述
本开发文档详细描述了MIS系统中的修改活动接口的设计与实现。通过该接口,用户可以提交需要修改的活动信息,系统会更新数据库中的活动记录。
功能需求
- 修改活动:用户可以通过提交活动的详细信息来修改现有活动。
- 权限控制:确保只有具有特定权限的用户可以访问此接口并修改活动。
接口详情
修改活动接口
接口路径
/mis_user/updateActivity
请求方法
POST
接口描述
该接口用于修改现有的活动信息。用户提交活动的详细信息后,系统会根据活动ID更新数据库中的活动记录。
POST 修改活动
POST /mis_user/updateActivity
前端返回修改后的活动信息,后端更新互动信息
Body 请求参数
{
"id": 5,
"name": "修改测试活动",
"description": "修改测试活动",
"requirements": "修改测试活动",
"startTime": "2010-01-02",
"endTime": "2030-01-03",
"reward": "修改奖励",
"status": "2",
"picture": "http://dummyimage.com/400x400"
}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
Token | header | string | 否 | none |
body | body | object | 否 | none |
» id | body | integer | 是 | none |
» name | body | string | 是 | none |
» description | body | string | 是 | none |
» requirements | body | string | 是 | none |
» startTime | body | string | 是 | none |
» endTime | body | string | 是 | none |
» reward | body | string | 是 | none |
» status | body | string | 是 | none |
» picture | body | string | 是 | none |
返回示例
成功
{
"msg": "success",
"code": 200
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回数据结构
状态码 200
名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
---|---|---|---|---|---|
» code | string | true | none | none | |
» msg | string | true | none | none |
实现细节
控制器代码
@PostMapping("/updateActivity")
@SaCheckLogin
@SaCheckPermission(value = {"ROOT", "ACTIVITY:UPDATE"}, mode = SaMode.OR)
public R updateActivity(@RequestBody @Valid InsertOrUpdateActivityForm form) {
Map param = BeanUtil.beanToMap(form);
boolean flag = misUserService.updateActivity(param);
if (flag){
return R.ok();
}else {
return R.error("修改活动出错");
}
表单验证类
@Data
public class InsertOrUpdateActivityForm {
private Integer id;
@NotNull(message = "活动名称不能为空")
@Size(max = 20, message = "活动名称长度不能超过20个字符")
private String name;
@NotNull(message = "描述不能为空")
@Size(max = 200, message = "描述长度不能超过200个字符")
private String description;
@NotNull(message = "要求不能为空")
@Size(max = 255, message = "要求长度不能超过255个字符")
private String requirements;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private DateTime startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private DateTime endTime;
@NotNull(message = "奖励不能为空")
@Size(max = 255, message = "奖励长度不能超过255个字符")
private String reward;
@NotNull(message = "图片不能为空")
private String picture;
@NotNull(message = "status状态码不能为空")
@Range(min = 0, max = 2, message = "status状态码不正确,0未开始,1进行中,2已结束")
private Byte status;
@NotNull(message = "countDay状态码不能为空")
private Integer countDay;
}
Mapper XML
<update id="updateActivity" parameterType="Map">
UPDATE activity
<set>
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="description != null and description != ''">
description = #{description},
</if>
<if test="requirements != null and requirements != ''">
requirements = #{requirements},
</if>
<if test="startTime != null">
start_time = #{startTime},
</if>
<if test="endTime != null">
end_time = #{endTime},
</if>
<if test="reward != null and reward != ''">
reward = #{reward},
</if>
<if test="picture != null and picture != ''">
picture = #{picture},
</if>
<if test="status != null">
status = #{status}
</if>
</set>
WHERE id = #{id}
</update>