feat(特色专区会员聚合功能开发): 完成接口实现:修改特色专区会员

关联Issue:https://www.gitlink.org.cn/Gitlink/forgeplus/issues/2958
This commit is contained in:
otto 2023-05-18 09:14:38 +08:00
parent 6dab3a0745
commit a89b0bbe1a
5 changed files with 55 additions and 16 deletions

View File

@ -74,4 +74,8 @@ public class CacheConstants
* 特色专区会员邀请Token前缀
*/
public final static String ZONE_MEMBER_INVITATION_TOKEN_KEY = "zone_member_invitation_token:";
/**
* 特色专区会员邀请前缀
*/
public final static String ZONE_MEMBER_INVITATION_KEY = "zone_member_invitation:";
}

View File

@ -8,10 +8,7 @@ import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.zone.member.domain.ZoneMember;
import com.ruoyi.zone.member.domain.vo.AuditInputVo;
import com.ruoyi.zone.member.domain.vo.GitLinkUserSearchVo;
import com.ruoyi.zone.member.domain.vo.ZoneMemberInputVo;
import com.ruoyi.zone.member.domain.vo.ZoneMemberSearchVo;
import com.ruoyi.zone.member.domain.vo.*;
import com.ruoyi.zone.member.service.IZoneMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -92,9 +89,10 @@ public class ZoneMemberController extends BaseController {
*/
@RequiresPermissions("zone:member:edit")
@Log(title = "特色专区会员", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ZoneMember zoneMember) {
return toAjax(zoneMemberService.updateZoneMember(zoneMember));
@PutMapping("/{id}")
@ApiOperation("修改特色专区会员")
public AjaxResult edit(@PathVariable("id") Long id, @RequestBody ZoneMemberUpdateVo zoneMemberUpdateVo) {
return toAjax(zoneMemberService.updateZoneMember(id, zoneMemberUpdateVo));
}
/**
@ -114,6 +112,7 @@ public class ZoneMemberController extends BaseController {
@RequiresPermissions("zone:member:remove")
@Log(title = "特色专区会员", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
@ApiOperation("审核特色专区会员")
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(zoneMemberService.deleteZoneMemberByIds(ids));
}

View File

@ -0,0 +1,25 @@
package com.ruoyi.zone.member.domain.vo;
import com.ruoyi.zone.member.domain.ZoneMember;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author otto
*/
@Data
@ApiModel("会员聚合更新对象")
public class ZoneMemberUpdateVo {
@ApiModelProperty(value = "专区会员类型")
private Long memberTypeId;
@ApiModelProperty(value = "专区会员等级")
private Long level;
public ZoneMember toZoneProjectZoneMember(ZoneMember zoneMember) {
zoneMember.setMemberTypeId(this.memberTypeId);
zoneMember.setLevel(this.level);
return zoneMember;
}
}

View File

@ -3,10 +3,7 @@ package com.ruoyi.zone.member.service;
import com.ruoyi.common.core.web.page.GenericsTableDataInfo;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.zone.member.domain.ZoneMember;
import com.ruoyi.zone.member.domain.vo.AuditInputVo;
import com.ruoyi.zone.member.domain.vo.GitLinkUserSearchVo;
import com.ruoyi.zone.member.domain.vo.ZoneMemberInputVo;
import com.ruoyi.zone.member.domain.vo.ZoneMemberSearchVo;
import com.ruoyi.zone.member.domain.vo.*;
import java.util.List;
@ -44,10 +41,11 @@ public interface IZoneMemberService {
/**
* 修改特色专区会员
*
* @param zoneMember 特色专区会员
* @param id
* @param zoneMemberUpdateVo 特色专区会员
* @return 结果
*/
public int updateZoneMember(ZoneMember zoneMember);
public int updateZoneMember(Long id, ZoneMemberUpdateVo zoneMemberUpdateVo);
/**
* 批量删除特色专区会员

View File

@ -105,6 +105,7 @@ public class ZoneMemberServiceImpl implements IZoneMemberService {
//生成随机Token存储到Redis中Token有效期为邀请链接有效时长
String invitationToken = IdUtils.simpleUUID();
//将生成的Token存储到Redis中便于用户进行确认邀请操作时识别用户身份
redisService.setCacheObject(getZoneMemberInvitationKey(invitationToken), receiver, invitationLinkExpirationTime, TimeUnit.DAYS);
redisService.setCacheObject(getZoneMemberInvitationTokenKey(invitationToken), receiver, invitationLinkExpirationTime, TimeUnit.DAYS);
String toUrl = gitLinkUrl + invitationPagePath + "?invitationToken=" + invitationToken + "&zoneId=" + zoneDetail.getId();
params.put("to_url", ZoneGitLinkRequestUrl.removeExtraSlashOfUrl(toUrl));
@ -119,6 +120,10 @@ public class ZoneMemberServiceImpl implements IZoneMemberService {
return CacheConstants.ZONE_MEMBER_INVITATION_TOKEN_KEY + invitationToken;
}
private String getZoneMemberInvitationKey(String memberId) {
return CacheConstants.ZONE_MEMBER_INVITATION_KEY + memberId;
}
/**
* 新增特色专区会员
*
@ -161,11 +166,14 @@ public class ZoneMemberServiceImpl implements IZoneMemberService {
/**
* 修改特色专区会员
*
* @param zoneMember 特色专区会员
* @param id
* @param zoneMemberUpdateVo 特色专区会员
* @return 结果
*/
@Override
public int updateZoneMember(ZoneMember zoneMember) {
public int updateZoneMember(Long id, ZoneMemberUpdateVo zoneMemberUpdateVo) {
ZoneMember zoneMember = selectZoneMemberById(id);
zoneMember = zoneMemberUpdateVo.toZoneProjectZoneMember(zoneMember);
zoneMember.setUpdateTime(DateUtils.getNowDate());
return zoneMemberMapper.updateZoneMember(zoneMember);
}
@ -178,6 +186,10 @@ public class ZoneMemberServiceImpl implements IZoneMemberService {
*/
@Override
public int deleteZoneMemberByIds(Long[] ids) {
for (Long id : ids) {
ZoneMember zoneMember = selectZoneMemberById(id);
}
return zoneMemberMapper.deleteZoneMemberByIds(ids);
}
@ -233,7 +245,8 @@ public class ZoneMemberServiceImpl implements IZoneMemberService {
zoneMember.setIsAudit(ZoneConstants.AUDIT_FAILED);
}
redisService.deleteObject(getZoneMemberInvitationTokenKey(invitationToken));
return updateZoneMember(zoneMember) > 0;
zoneMember.setUpdateTime(DateUtils.getNowDate());
return zoneMemberMapper.updateZoneMember(zoneMember) > 0;
}
@Override