2021-07-13项目实训小程序选座后端第三周(1)
本周任务
本周任务是继续进行开发,尝试和前端同学对接
遇到问题
在从数据库中读取用户注册时间时,输出的时间与存储的时间不一致(数据库中存储格式为date),经过查询,是由于时差产生的错误,timezone是用于调整时区的属性(东八区),不加的话得到的时间会比实际的少8个小时
需要添加注释如下:
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
加上之后显示正常:
批量将用户加入黑名单
使用@RequestBody注解,接收Blacklistinfo对象,实现批量加入黑名单
接收实体类Blacklistinfo如下:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class Blacklistinfo {
@ApiModelProperty("用户openid的数组")
String[] user_openid;
@ApiModelProperty("用户所属黑名单类型")
String isall;
@ApiModelProperty("活动id数组")
int[] act_ids;
}
下面是service层对blacklistinfo进行操作。
public String addblacklist(Blacklistinfo blacklistinfo){
//根据blacklistinfo的限制活动列表生成限制活动字符串ids
String ids = "";
for (int i=0; i<blacklistinfo.getAct_ids().length;i++) {
if (i<blacklistinfo.getAct_ids().length-1){
ids=ids+blacklistinfo.getAct_ids()[i]+",";
}else
ids=ids+blacklistinfo.getAct_ids()[i];
}
//遍历blacklistinfo的用户openid数组,插入黑名单
for (int i =0; i<blacklistinfo.getUser_openid().length;i++){
//判断该用户是否已经在黑名单中
if (userManageMapper.isInBlackList(blacklistinfo.getUser_openid()[i])!=null){
//如果在则update记录
if(userManageMapper.updateblacklist(blacklistinfo.getUser_openid()[i],blacklistinfo.getIsall(),ids)!=1)
return "fail";
}
else
//如果不在黑名单中,则插入
if(userManageMapper.addblacklist(blacklistinfo.getUser_openid()[i],blacklistinfo.getIsall(),ids)!=1)
return "fail";
}
return "success";
}