diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java index f90ef96aa..fd777d571 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java @@ -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:"; } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/controller/ZoneMemberController.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/controller/ZoneMemberController.java index a2fce12c6..b7e2edea9 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/controller/ZoneMemberController.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/controller/ZoneMemberController.java @@ -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)); } diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/domain/vo/ZoneMemberUpdateVo.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/domain/vo/ZoneMemberUpdateVo.java new file mode 100644 index 000000000..985be56da --- /dev/null +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/domain/vo/ZoneMemberUpdateVo.java @@ -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; + } +} diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/IZoneMemberService.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/IZoneMemberService.java index 70c1a43b6..666bfb206 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/IZoneMemberService.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/IZoneMemberService.java @@ -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); /** * 批量删除特色专区会员 diff --git a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java index 7808ea197..951a8440c 100644 --- a/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-zone/src/main/java/com/ruoyi/zone/member/service/impl/ZoneMemberServiceImpl.java @@ -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