记得上下班打卡 | git大法好,push需谨慎

Commit c43bc066 authored by wangyifan's avatar wangyifan

草莓护照- 支持批量领取徽章

parent 5779f1da
......@@ -5,12 +5,14 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
@ApiModel("草莓徽章-认领参数")
public class AdamCaomeiBadgeClaimParam {
@NotBlank(message = "徽章ID不能为空")
@ApiModelProperty(value = "徽章ID", required = true)
private String badgeId;
@NotEmpty(message = "徽章ID列表不能为空")
@ApiModelProperty(value = "徽章ID列表", required = true)
private List<@NotBlank(message = "徽章ID不能为空") String> badgeIds;
}
......@@ -14,7 +14,7 @@ public interface IAdamCaomeiBadgeUserService {
/**
* 认领徽章
*/
ResponseDto<String> claimBadge(String badgeId, String uid);
ResponseDto<List<String>> claimBadges(List<String> badgeIds, String uid);
/**
* 补签申请记录列表(用户端)
......
......@@ -87,6 +87,18 @@ public interface AdamCaomeiBadgeMapper extends BaseMapper<AdamCaomeiBadge> {
@Select("select count(1) from adam_caomei_user_badge where user_id = #{userId} and badge_id = #{badgeId}")
int checkUserBadgeExists(@Param("userId") String userId, @Param("badgeId") String badgeId);
@Select({
"<script>",
"select badge_id from adam_caomei_user_badge",
"where user_id = #{userId} and badge_id in",
"<foreach collection='badgeIds' item='badgeId' open='(' separator=',' close=')'>",
"#{badgeId}",
"</foreach>",
"</script>"
})
List<String> selectClaimedBadgeIdsByUserAndBadgeIds(@Param("userId") String userId,
@Param("badgeIds") List<String> badgeIds);
@Insert({
"insert into adam_caomei_user_badge (user_id, badge_id, source, created_at) ",
"values (#{userId}, #{badgeId}, #{source}, now())"
......
......@@ -36,9 +36,9 @@ public class AdamCaomeiBadgeUserController {
@ApiOperationSupport(order = 1)
@ApiOperation("认领徽章")
@PostMapping("claim")
public ResponseDto<String> claim(@Valid @RequestBody AdamCaomeiBadgeClaimParam param) {
public ResponseDto<List<String>> claim(@Valid @RequestBody AdamCaomeiBadgeClaimParam param) {
String uid = CurrentUtil.getCurrentUid();
return adamCaomeiBadgeUserService.claimBadge(param.getBadgeId(), uid);
return adamCaomeiBadgeUserService.claimBadges(param.getBadgeIds(), uid);
}
@ApiOperationSupport(order = 2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment