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

Commit ed2a96c0 authored by Tice's avatar Tice

update

parent ef6398de
...@@ -4,14 +4,12 @@ public class MerchantPermissionConst { ...@@ -4,14 +4,12 @@ public class MerchantPermissionConst {
// 某演出通过审核后,分配演出权限,场地方审核演出为'待审核的演出'与'演出'不同 // 某演出通过审核后,分配演出权限,场地方审核演出为'待审核的演出'与'演出'不同
public enum PerformancePermission { public enum PerformancePermission {
READ("1", "查看"), READ("1", "查看详情"),
EDIT("2", "编辑"), EDIT("2", "编辑提交"),
SUBMIT("3", "提交"), ONOFF("3", "上下线"),
ONLINE("4", "上线"), SALES("4", "销售统计"),
OFFLINE("5", "下线"), CHECK("5", "验票"),
SALES("6", "销售"), ACCREDIT("6", "授权");
CHECK("7", "验票"),
ACCREDIT("8", "授权");
private final String id; private final String id;
private final String name; private final String name;
......
...@@ -2,11 +2,16 @@ package com.liquidnet.service.merchant.dto.vo; ...@@ -2,11 +2,16 @@ package com.liquidnet.service.merchant.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.merchant.entity.MerchantAuthorizationPermissions;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
public class MerchantAuthorizationPermissionsVo implements java.io.Serializable { @ApiModel(value = "MerchantAuthorizationPermissionsVo", description = "授权记录关联")
@Data
public class MerchantAuthorizationPermissionsVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = -771282476240311975L; private static final long serialVersionUID = -771282476240311975L;
@ApiModelProperty(value = "authorization_permission_id") @ApiModelProperty(value = "authorization_permission_id")
...@@ -29,4 +34,31 @@ public class MerchantAuthorizationPermissionsVo implements java.io.Serializable ...@@ -29,4 +34,31 @@ public class MerchantAuthorizationPermissionsVo implements java.io.Serializable
private LocalDateTime createdAt; private LocalDateTime createdAt;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
private static final MerchantAuthorizationPermissionsVo obj = new MerchantAuthorizationPermissionsVo();
public static MerchantAuthorizationPermissionsVo getNew() {
try {
return (MerchantAuthorizationPermissionsVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new MerchantAuthorizationPermissionsVo();
}
public MerchantAuthorizationPermissionsVo copy(MerchantAuthorizationPermissions source) {
if (null == source) return this;
this.setAuthorizationPermissionId(source.getAuthorizationPermissionId());
this.setAuthorizationRecordId(source.getAuthorizationRecordId());
this.setPermissionId(source.getPermissionId());
this.setStartTime(source.getStartTime());
this.setEndTime(source.getEndTime());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
} }
...@@ -2,11 +2,17 @@ package com.liquidnet.service.merchant.dto.vo; ...@@ -2,11 +2,17 @@ package com.liquidnet.service.merchant.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.merchant.entity.MerchantAuthorizationRecords;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
public class MerchantAuthorizationRecordsVo implements java.io.Serializable{ @ApiModel(value = "MerchantAuthorizationRecordsVo", description = "授权记录")
@Data
public class MerchantAuthorizationRecordsVo implements java.io.Serializable, Cloneable{
private static final long serialVersionUID = 5851793907387626205L; private static final long serialVersionUID = 5851793907387626205L;
@ApiModelProperty(value = "authorization_record_id") @ApiModelProperty(value = "authorization_record_id")
...@@ -33,10 +39,44 @@ public class MerchantAuthorizationRecordsVo implements java.io.Serializable{ ...@@ -33,10 +39,44 @@ public class MerchantAuthorizationRecordsVo implements java.io.Serializable{
@ApiModelProperty(value = "授权人") @ApiModelProperty(value = "授权人")
private String cuid; private String cuid;
@ApiModelProperty(value = "授权的权限")
private List<MerchantAuthorizationPermissionsVo> permissionsVos;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime deletedAt; private LocalDateTime deletedAt;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt; private LocalDateTime createdAt;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
private static final MerchantAuthorizationRecordsVo obj = new MerchantAuthorizationRecordsVo();
public static MerchantAuthorizationRecordsVo getNew() {
try {
return (MerchantAuthorizationRecordsVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new MerchantAuthorizationRecordsVo();
}
public MerchantAuthorizationRecordsVo copy(MerchantAuthorizationRecords source) {
if (null == source) return this;
this.setAuthorizationRecordId(source.getAuthorizationRecordId());
this.setPerformanceId(source.getPerformanceId());
this.setUidRole(source.getUidRole());
this.setUid(source.getUid());
this.setMobile(source.getMobile());
this.setName(source.getName());
this.setCuid(source.getCuidRole());
this.setCuid(source.getCuid());
this.setDeletedAt(source.getDeletedAt());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this;
}
} }
package com.liquidnet.service.merchant.service; package com.liquidnet.service.merchant.service;
public interface IMerchantAuthorizationRecordsService { public interface IMerchantAuthorizationRecordsService {
void checkerAdd(String cuid, String performanceId, String uid, boolean statistics); void performanceCheckerAdd(String cuid, String performanceId, String uid, boolean statistics);
void checkerDel(String cuid, String performanceId, String uid); void performanceCheckerDel(String cuid, String performanceId, String uid);
void checkers(String cuid, String performanceId); void performanceCheckers(String cuid, String performanceId);
} }
...@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -44,18 +45,22 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -44,18 +45,22 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
IMerchantAuthorizationPermissionsAdminService authorizationPermissionsAdminService; IMerchantAuthorizationPermissionsAdminService authorizationPermissionsAdminService;
@Override @Override
@Transactional
public void authorizationInit(String performanceId, String cuid, String fieldId, String sponsorId) { public void authorizationInit(String performanceId, String cuid, String fieldId, String sponsorId) {
// 创建者 // 创建者
this.performanceCreator(performanceId, cuid);
// 场地方 // 场地方
MerchantFieldsVo fieldsVo = merchantRedisUtil.getFieldsVoByFieldId(fieldId); this.performanceFielder(performanceId, cuid, fieldId);
// 主办方
MerchantSponsorsVo sponsorsVo = merchantRedisUtil.getSponsorsVoBySponsorId(sponsorId);
// 主办方
this.performanceSponsor(performanceId, cuid, sponsorId);
} }
private void performanceCreator(String performanceId, String cuid, String uid) { // 创建者
private boolean performanceCreator(String performanceId, String cuid) {
LocalDateTime now = LocalDateTime.now();
// 查询已有权限 // 查询已有权限
LambdaQueryWrapper<MerchantAuthorizationRecords> authorizationRecordsLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantAuthorizationRecords.class); LambdaQueryWrapper<MerchantAuthorizationRecords> authorizationRecordsLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantAuthorizationRecords.class);
authorizationRecordsLambdaQueryWrapper.eq(MerchantAuthorizationRecords::getPerformanceId, performanceId); authorizationRecordsLambdaQueryWrapper.eq(MerchantAuthorizationRecords::getPerformanceId, performanceId);
...@@ -63,12 +68,61 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -63,12 +68,61 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecordsLambdaQueryWrapper.eq(MerchantAuthorizationRecords::getDeletedAt, null); authorizationRecordsLambdaQueryWrapper.eq(MerchantAuthorizationRecords::getDeletedAt, null);
MerchantAuthorizationRecords authorizationRecords = getOne(authorizationRecordsLambdaQueryWrapper); MerchantAuthorizationRecords authorizationRecords = getOne(authorizationRecordsLambdaQueryWrapper);
// 是否已存在权限
if (null != authorizationRecords) { if (null != authorizationRecords) {
if (!authorizationRecords.getUid().equals(cuid)) {
// 前后 创建方一致 不处理
return true;
}
// 前后 创建方不一致的情况不存在
throw new LiquidnetServiceException();
}
// 添加权限
ArrayList<MerchantAuthorizationRecords> authorizationRecordsArrayList = new ArrayList<>();
ArrayList<MerchantAuthorizationPermissions> authorizationPermissionsArrayList = new ArrayList<>();
// 授权记录
// todo 用户信息
MerchantAuthorizationRecords creatorAuthorizationRecords = new MerchantAuthorizationRecords();
creatorAuthorizationRecords.setAuthorizationRecordId(IDGenerator.nextSnowId());
creatorAuthorizationRecords.setPerformanceId(performanceId);
creatorAuthorizationRecords.setUidRole("creator");
creatorAuthorizationRecords.setUid(cuid);
creatorAuthorizationRecords.setMobile("");
creatorAuthorizationRecords.setName("");
creatorAuthorizationRecords.setCuid(cuid);
creatorAuthorizationRecords.setCuidRole("creator");
creatorAuthorizationRecords.setCreatedAt(now);
authorizationRecordsArrayList.add(creatorAuthorizationRecords);
// 授权权限
String[] fielderPermissionIds = {
MerchantPermissionConst.PerformancePermission.READ.getId(),
MerchantPermissionConst.PerformancePermission.EDIT.getId(),
MerchantPermissionConst.PerformancePermission.ONOFF.getId(),
MerchantPermissionConst.PerformancePermission.CHECK.getId(),
MerchantPermissionConst.PerformancePermission.SALES.getId(),
MerchantPermissionConst.PerformancePermission.ACCREDIT.getId()
};
for (String permissionId : fielderPermissionIds) {
MerchantAuthorizationPermissions creatorAuthorizationPermissions = new MerchantAuthorizationPermissions();
creatorAuthorizationPermissions.setAuthorizationPermissionId(IDGenerator.nextSnowId());
creatorAuthorizationPermissions.setAuthorizationRecordId(creatorAuthorizationRecords.getAuthorizationRecordId());
creatorAuthorizationPermissions.setPermissionId(permissionId);
creatorAuthorizationPermissions.setStartTime(now);
creatorAuthorizationPermissions.setEndTime(now.plusYears(99));
creatorAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(creatorAuthorizationPermissions);
} }
// mysql
saveBatch(authorizationRecordsArrayList);
authorizationPermissionsAdminService.saveBatch(authorizationPermissionsArrayList);
// todo mongo
return true;
} }
// 授权场地方 // 授权场地方
...@@ -87,7 +141,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -87,7 +141,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
// 是否已存在权限 // 是否已存在权限
if (null != authorizationRecords) { if (null != authorizationRecords) {
if (1 == fieldsVo.getClaimStatus() && authorizationRecords.getUid().equals(fieldsVo.getUid())) { if (authorizationRecords.getUid().equals(fieldsVo.getUid())) {
// 前后 场地方一致 不处理 // 前后 场地方一致 不处理
return true; return true;
} }
...@@ -115,7 +169,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -115,7 +169,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw new LiquidnetServiceException(); throw new LiquidnetServiceException();
} }
// mongo // todo mongo
} }
// 是否添加权限 // 是否添加权限
...@@ -189,8 +243,19 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -189,8 +243,19 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
} }
} }
saveBatch(authorizationRecordsArrayList); // mysql
authorizationPermissionsAdminService.saveBatch(authorizationPermissionsArrayList); boolean success = saveBatch(authorizationRecordsArrayList);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
success = authorizationPermissionsAdminService.saveBatch(authorizationPermissionsArrayList);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// todo mongo
} }
return true; return true;
...@@ -240,10 +305,53 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -240,10 +305,53 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw new LiquidnetServiceException(); throw new LiquidnetServiceException();
} }
// mongo // todo mongo
} }
// 是否添加权限
if (!sponsorsVo.getUid().isEmpty()) {
ArrayList<MerchantAuthorizationRecords> authorizationRecordsArrayList = new ArrayList<>();
ArrayList<MerchantAuthorizationPermissions> authorizationPermissionsArrayList = new ArrayList<>();
return false; // 授权记录
// todo 用户信息
MerchantAuthorizationRecords sponsorAuthorizationRecords = new MerchantAuthorizationRecords();
sponsorAuthorizationRecords.setAuthorizationRecordId(IDGenerator.nextSnowId());
sponsorAuthorizationRecords.setPerformanceId(performanceId);
sponsorAuthorizationRecords.setUidRole("sponsor");
sponsorAuthorizationRecords.setUid(sponsorsVo.getUid());
sponsorAuthorizationRecords.setMobile("");
sponsorAuthorizationRecords.setName("");
sponsorAuthorizationRecords.setCuid(cuid);
sponsorAuthorizationRecords.setCuidRole("creator");
sponsorAuthorizationRecords.setCreatedAt(now);
authorizationRecordsArrayList.add(sponsorAuthorizationRecords);
// 授权权限
String[] fielderPermissionIds = {
MerchantPermissionConst.PerformancePermission.READ.getId(),
MerchantPermissionConst.PerformancePermission.CHECK.getId(),
MerchantPermissionConst.PerformancePermission.SALES.getId(),
MerchantPermissionConst.PerformancePermission.ACCREDIT.getId()
};
for (String permissionId : fielderPermissionIds) {
MerchantAuthorizationPermissions sponsorAuthorizationPermissions = new MerchantAuthorizationPermissions();
sponsorAuthorizationPermissions.setAuthorizationPermissionId(IDGenerator.nextSnowId());
sponsorAuthorizationPermissions.setAuthorizationRecordId(sponsorAuthorizationRecords.getAuthorizationRecordId());
sponsorAuthorizationPermissions.setPermissionId(permissionId);
sponsorAuthorizationPermissions.setStartTime(now);
sponsorAuthorizationPermissions.setEndTime(now.plusYears(99));
sponsorAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(sponsorAuthorizationPermissions);
}
// mysql
saveBatch(authorizationRecordsArrayList);
authorizationPermissionsAdminService.saveBatch(authorizationPermissionsArrayList);
// todo mongo
}
return true;
} }
} }
...@@ -4,17 +4,17 @@ import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsServi ...@@ -4,17 +4,17 @@ import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsServi
public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthorizationRecordsService { public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthorizationRecordsService {
@Override @Override
public void checkerAdd(String cuid, String performanceId, String uid, boolean statistics) { public void performanceCheckerAdd(String cuid, String performanceId, String uid, boolean statistics) {
} }
@Override @Override
public void checkerDel(String cuid, String performanceId, String uid) { public void performanceCheckerDel(String cuid, String performanceId, String uid) {
} }
@Override @Override
public void checkers(String cuid, String performanceId) { public void performanceCheckers(String cuid, String performanceId) {
} }
} }
...@@ -86,7 +86,7 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService { ...@@ -86,7 +86,7 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService {
// 若认领,查询验证场地 // 若认领,查询验证场地
MerchantFieldsVo fieldsVo = null; MerchantFieldsVo fieldsVo = null;
if (!parameter.getFieldId().isEmpty()) { if (null != parameter.getFieldId() && !parameter.getFieldId().isEmpty()) {
fieldsVo = merchantRdmService.getFieldsVoByFieldId(parameter.getFieldId()); fieldsVo = merchantRdmService.getFieldsVoByFieldId(parameter.getFieldId());
if (null == fieldsVo) { if (null == fieldsVo) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13101"); ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13101");
......
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