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

Commit ed2a96c0 authored by Tice's avatar Tice

update

parent ef6398de
......@@ -4,14 +4,12 @@ public class MerchantPermissionConst {
// 某演出通过审核后,分配演出权限,场地方审核演出为'待审核的演出'与'演出'不同
public enum PerformancePermission {
READ("1", "查看"),
EDIT("2", "编辑"),
SUBMIT("3", "提交"),
ONLINE("4", "上线"),
OFFLINE("5", "下线"),
SALES("6", "销售"),
CHECK("7", "验票"),
ACCREDIT("8", "授权");
READ("1", "查看详情"),
EDIT("2", "编辑提交"),
ONOFF("3", "上下线"),
SALES("4", "销售统计"),
CHECK("5", "验票"),
ACCREDIT("6", "授权");
private final String id;
private final String name;
......
......@@ -2,11 +2,16 @@ package com.liquidnet.service.merchant.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
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 lombok.Data;
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;
@ApiModelProperty(value = "authorization_permission_id")
......@@ -29,4 +34,31 @@ public class MerchantAuthorizationPermissionsVo implements java.io.Serializable
private LocalDateTime createdAt;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
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;
import com.fasterxml.jackson.annotation.JsonFormat;
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 lombok.Data;
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;
@ApiModelProperty(value = "authorization_record_id")
......@@ -33,10 +39,44 @@ public class MerchantAuthorizationRecordsVo implements java.io.Serializable{
@ApiModelProperty(value = "授权人")
private String cuid;
@ApiModelProperty(value = "授权的权限")
private List<MerchantAuthorizationPermissionsVo> permissionsVos;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime deletedAt;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
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;
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;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
......@@ -44,18 +45,22 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
IMerchantAuthorizationPermissionsAdminService authorizationPermissionsAdminService;
@Override
@Transactional
public void authorizationInit(String performanceId, String cuid, String fieldId, String sponsorId) {
// 创建者
this.performanceCreator(performanceId, cuid);
// 场地方
MerchantFieldsVo fieldsVo = merchantRedisUtil.getFieldsVoByFieldId(fieldId);
// 主办方
MerchantSponsorsVo sponsorsVo = merchantRedisUtil.getSponsorsVoBySponsorId(sponsorId);
this.performanceFielder(performanceId, cuid, fieldId);
// 主办方
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);
authorizationRecordsLambdaQueryWrapper.eq(MerchantAuthorizationRecords::getPerformanceId, performanceId);
......@@ -63,12 +68,61 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecordsLambdaQueryWrapper.eq(MerchantAuthorizationRecords::getDeletedAt, null);
MerchantAuthorizationRecords authorizationRecords = getOne(authorizationRecordsLambdaQueryWrapper);
// 是否已存在权限
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
// 是否已存在权限
if (null != authorizationRecords) {
if (1 == fieldsVo.getClaimStatus() && authorizationRecords.getUid().equals(fieldsVo.getUid())) {
if (authorizationRecords.getUid().equals(fieldsVo.getUid())) {
// 前后 场地方一致 不处理
return true;
}
......@@ -115,7 +169,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw new LiquidnetServiceException();
}
// mongo
// todo mongo
}
// 是否添加权限
......@@ -189,8 +243,19 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
}
}
saveBatch(authorizationRecordsArrayList);
authorizationPermissionsAdminService.saveBatch(authorizationPermissionsArrayList);
// mysql
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;
......@@ -240,10 +305,53 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
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
public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthorizationRecordsService {
@Override
public void checkerAdd(String cuid, String performanceId, String uid, boolean statistics) {
public void performanceCheckerAdd(String cuid, String performanceId, String uid, boolean statistics) {
}
@Override
public void checkerDel(String cuid, String performanceId, String uid) {
public void performanceCheckerDel(String cuid, String performanceId, String uid) {
}
@Override
public void checkers(String cuid, String performanceId) {
public void performanceCheckers(String cuid, String performanceId) {
}
}
......@@ -86,7 +86,7 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService {
// 若认领,查询验证场地
MerchantFieldsVo fieldsVo = null;
if (!parameter.getFieldId().isEmpty()) {
if (null != parameter.getFieldId() && !parameter.getFieldId().isEmpty()) {
fieldsVo = merchantRdmService.getFieldsVoByFieldId(parameter.getFieldId());
if (null == fieldsVo) {
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