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

Commit a160c9d1 authored by Tice's avatar Tice

演出授权

parent d64fc751
package com.liquidnet.service.merchant.dto.param;
import com.liquidnet.commons.lang.constant.LnsRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@ApiModel(value = "MerchantAuthorizationPermissionParam", description = "授权权限")
@Data
public class MerchantAuthorizationPermissionParam implements java.io.Serializable {
private static final long serialVersionUID = -8463419578205447151L;
@ApiModelProperty(position = 10, required = true, value = "权限ID")
@NotBlank
private String permissionId;
@ApiModelProperty(position = 11, required = false, value = "授权开始时间[yyyy-MM-dd HH:mm:ss]", example = "2021-05-10 20:20:20")
@Pattern(regexp = LnsRegex.Valid.DATETIME_FULL, message = "时间格式有误")
private String startTime;
@ApiModelProperty(position = 12, required = false, value = "授权结束时间[yyyy-MM-dd HH:mm:ss]", example = "2021-05-17 20:20:20")
@Pattern(regexp = LnsRegex.Valid.DATETIME_FULL, message = "时间格式有误")
private String endTime;
}
package com.liquidnet.service.merchant.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@ApiModel(value = "MerchantAuthorizationRecordParam", description = "授权验票统计入参")
@Data
public class MerchantAuthorizationRecordParam implements java.io.Serializable{
private static final long serialVersionUID = -673681507332688410L;
@ApiModelProperty(position = 10, required = true, value = "演出ID")
@NotBlank
private String performanceId;
@ApiModelProperty(position = 11, required = true, value = "权利人演出角色 checker,目前仅验票员")
@NotBlank
private String uidRole;
@ApiModelProperty(position = 12, required = true, value = "权利人UID")
@NotBlank
private String uid;
@ApiModelProperty(position = 13, required = true, value = "权利人手机号")
@NotBlank
private String mobile;
@ApiModelProperty(position = 14, required = true, value = "权利人姓名")
@NotBlank
private String name;
@ApiModelProperty(position = 15, required = true, value = "授权权限")
@NotEmpty
private List<MerchantAuthorizationPermissionParam> permissions;
}
...@@ -30,7 +30,7 @@ public class MerchantFieldApplyParam implements java.io.Serializable { ...@@ -30,7 +30,7 @@ public class MerchantFieldApplyParam implements java.io.Serializable {
private String background; private String background;
@ApiModelProperty(position = 14, required = true, value = "介绍[1000]", example = "这是一段介绍文字") @ApiModelProperty(position = 14, required = true, value = "介绍[1000]", example = "这是一段介绍文字")
private String description; private String description;
@ApiModelProperty(position = 15, required = true, value = "建立日期[YYYY-MM-DD]", example = "2021-05-17") @ApiModelProperty(position = 15, required = true, value = "建立日期[yyyy-MM-dd]", example = "2021-05-17")
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "建立日期格式有误") @Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "建立日期格式有误")
private String builtDate; private String builtDate;
......
...@@ -24,23 +24,28 @@ public class MerchantSponsorApplyParam implements java.io.Serializable { ...@@ -24,23 +24,28 @@ public class MerchantSponsorApplyParam implements java.io.Serializable {
@NotBlank(message = "名称不能为空") @NotBlank(message = "名称不能为空")
private String name; private String name;
@ApiModelProperty(position = 12, required = true, value = "logo图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png") @ApiModelProperty(position = 12, required = true, value = "logo图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
@NotNull(message = "logo图不能为空") @NotBlank(message = "logo图不能为空")
private String logo; private String logo;
@ApiModelProperty(position = 13, required = true, value = "背景图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png") @ApiModelProperty(position = 13, required = true, value = "背景图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
@NotNull(message = "背景图不能为空") @NotBlank(message = "背景图不能为空")
private String background; private String background;
@ApiModelProperty(position = 14, required = true, value = "介绍[1000]", example = "这是一段介绍文字") @ApiModelProperty(position = 14, required = true, value = "介绍[1000]", example = "这是一段介绍文字")
private String description; private String description;
@ApiModelProperty(position = 15, required = true, value = "联系人姓名", example = "张三") @ApiModelProperty(position = 15, required = true, value = "联系人姓名", example = "张三")
@NotBlank
private String contactName; private String contactName;
@ApiModelProperty(position = 16, required = true, value = "联系人身份证号码", example = "102030199012120101") @ApiModelProperty(position = 16, required = true, value = "联系人身份证号码", example = "102030199012120101")
@NotBlank
private String contactIdentity; private String contactIdentity;
@ApiModelProperty(position = 17, required = true, value = "联系人身份证正面照") @ApiModelProperty(position = 17, required = true, value = "联系人身份证正面照")
@NotBlank
private String contactIdentityObverse; private String contactIdentityObverse;
@ApiModelProperty(position = 18, required = true, value = "联系人身份证反面照") @ApiModelProperty(position = 18, required = true, value = "联系人身份证反面照")
@NotBlank
private String contactIdentityReverse; private String contactIdentityReverse;
@ApiModelProperty(position = 19, required = true, value = "联系人邮箱", example = "zhangsan@zhengzai.tv") @ApiModelProperty(position = 19, required = true, value = "联系人邮箱", example = "zhangsan@zhengzai.tv")
@NotNull
private String contactEmail; private String contactEmail;
@ApiModelProperty(position = 20, required = false, value = "企业名称") @ApiModelProperty(position = 20, required = false, value = "企业名称")
......
package com.liquidnet.service.merchant.service; package com.liquidnet.service.merchant.service;
import com.liquidnet.service.merchant.dto.param.MerchantAuthorizationRecordParam;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo; import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import java.util.List; import java.util.List;
public interface IMerchantAuthorizationRecordsService { public interface IMerchantAuthorizationRecordsService {
void performanceCheckerAdd(String cuid, String performanceId, String uid, String mobile, String name, boolean statistics); String performanceCheckerAdd(String cuid, MerchantAuthorizationRecordParam parameter);
void performanceCheckerDel(String cuid, String performanceId, String uid); void performanceCheckerDel(String cuid, String authorizationRecordId);
List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId); List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId);
} }
...@@ -4,11 +4,9 @@ import com.liquidnet.service.merchant.dto.param.MerchantFieldApplyParam; ...@@ -4,11 +4,9 @@ import com.liquidnet.service.merchant.dto.param.MerchantFieldApplyParam;
import com.liquidnet.service.merchant.dto.vo.MerchantFieldAppliesVo; import com.liquidnet.service.merchant.dto.vo.MerchantFieldAppliesVo;
public interface IMerchantFieldAppliesService { public interface IMerchantFieldAppliesService {
String apply(String uid, MerchantFieldApplyParam parameter); String apply(String uid, MerchantFieldApplyParam parameter);
void applyDel(String uid, String fieldApplyId); void applyDel(String uid, String fieldApplyId);
MerchantFieldAppliesVo applyInfo(String uid, String fieldApplyId); MerchantFieldAppliesVo applyInfo(String uid, String fieldApplyId);
} }
...@@ -4,11 +4,9 @@ import com.liquidnet.service.merchant.dto.param.MerchantSponsorApplyParam; ...@@ -4,11 +4,9 @@ import com.liquidnet.service.merchant.dto.param.MerchantSponsorApplyParam;
import com.liquidnet.service.merchant.dto.vo.MerchantSponsorAppliesVo; import com.liquidnet.service.merchant.dto.vo.MerchantSponsorAppliesVo;
public interface IMerchantSponsorAppliesService { public interface IMerchantSponsorAppliesService {
String apply(String uid, MerchantSponsorApplyParam parameter); String apply(String uid, MerchantSponsorApplyParam parameter);
void applyDel(String uid, String sponsorApplyId); void applyDel(String uid, String sponsorApplyId);
MerchantSponsorAppliesVo applyInfo(String uid, String sponsorApplyId); MerchantSponsorAppliesVo applyInfo(String uid, String sponsorApplyId);
} }
...@@ -5,7 +5,5 @@ import com.liquidnet.service.merchant.dto.vo.MerchantStationsVo; ...@@ -5,7 +5,5 @@ import com.liquidnet.service.merchant.dto.vo.MerchantStationsVo;
import java.util.List; import java.util.List;
public interface IMerchantStationsService { public interface IMerchantStationsService {
List<MerchantStationsVo> stationsList(String uid); List<MerchantStationsVo> stationsList(String uid);
} }
...@@ -123,7 +123,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -123,7 +123,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
creatorAuthorizationPermissions.setAuthorizationRecordId(creatorAuthorizationRecords.getAuthorizationRecordId()); creatorAuthorizationPermissions.setAuthorizationRecordId(creatorAuthorizationRecords.getAuthorizationRecordId());
creatorAuthorizationPermissions.setPermissionId(permissionId); creatorAuthorizationPermissions.setPermissionId(permissionId);
creatorAuthorizationPermissions.setStartTime(now); creatorAuthorizationPermissions.setStartTime(now);
creatorAuthorizationPermissions.setEndTime(now.plusYears(99)); creatorAuthorizationPermissions.setEndTime(now.plusYears(10));
creatorAuthorizationPermissions.setCreatedAt(now); creatorAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(creatorAuthorizationPermissions); authorizationPermissionsArrayList.add(creatorAuthorizationPermissions);
// vo // vo
...@@ -242,7 +242,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -242,7 +242,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
fielderAuthorizationPermissions.setAuthorizationRecordId(fielderAuthorizationRecords.getAuthorizationRecordId()); fielderAuthorizationPermissions.setAuthorizationRecordId(fielderAuthorizationRecords.getAuthorizationRecordId());
fielderAuthorizationPermissions.setPermissionId(permissionId); fielderAuthorizationPermissions.setPermissionId(permissionId);
fielderAuthorizationPermissions.setStartTime(now); fielderAuthorizationPermissions.setStartTime(now);
fielderAuthorizationPermissions.setEndTime(now.plusYears(99)); fielderAuthorizationPermissions.setEndTime(now.plusYears(10));
fielderAuthorizationPermissions.setCreatedAt(now); fielderAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(fielderAuthorizationPermissions); authorizationPermissionsArrayList.add(fielderAuthorizationPermissions);
...@@ -288,7 +288,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -288,7 +288,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
checkerAuthorizationPermissions.setAuthorizationRecordId(checkerAuthorizationRecords.getAuthorizationRecordId()); checkerAuthorizationPermissions.setAuthorizationRecordId(checkerAuthorizationRecords.getAuthorizationRecordId());
checkerAuthorizationPermissions.setPermissionId(permissionId); checkerAuthorizationPermissions.setPermissionId(permissionId);
checkerAuthorizationPermissions.setStartTime(now); checkerAuthorizationPermissions.setStartTime(now);
checkerAuthorizationPermissions.setEndTime(now.plusYears(99)); checkerAuthorizationPermissions.setEndTime(now.plusYears(10));
checkerAuthorizationPermissions.setCreatedAt(now); checkerAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(checkerAuthorizationPermissions); authorizationPermissionsArrayList.add(checkerAuthorizationPermissions);
...@@ -412,7 +412,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me ...@@ -412,7 +412,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
sponsorAuthorizationPermissions.setAuthorizationRecordId(sponsorAuthorizationRecords.getAuthorizationRecordId()); sponsorAuthorizationPermissions.setAuthorizationRecordId(sponsorAuthorizationRecords.getAuthorizationRecordId());
sponsorAuthorizationPermissions.setPermissionId(permissionId); sponsorAuthorizationPermissions.setPermissionId(permissionId);
sponsorAuthorizationPermissions.setStartTime(now); sponsorAuthorizationPermissions.setStartTime(now);
sponsorAuthorizationPermissions.setEndTime(now.plusYears(99)); sponsorAuthorizationPermissions.setEndTime(now.plusYears(10));
sponsorAuthorizationPermissions.setCreatedAt(now); sponsorAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(sponsorAuthorizationPermissions); authorizationPermissionsArrayList.add(sponsorAuthorizationPermissions);
......
...@@ -52,7 +52,7 @@ public class MerchantMongoUtil { ...@@ -52,7 +52,7 @@ public class MerchantMongoUtil {
return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName()); return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
} }
public List<MerchantAuthorizationRecordsVo> getCheckersAuthorizationRecordsVosByCuid(String cuid, String performanceId) { public List<MerchantAuthorizationRecordsVo> getAuthorizationRecordsCheckersVosByCuid(String cuid, String performanceId) {
return mongoTemplate.find(Query.query(Criteria.where("uidRole").is(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole()).and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName()); return mongoTemplate.find(Query.query(Criteria.where("uidRole").is(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole()).and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
} }
} }
package com.liquidnet.service.merchant.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.merchant.dto.param.MerchantAuthorizationRecordParam;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* <p>
* 授权 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-11-18
*/
@ApiSupport(order = 10003)
@Api(tags = "授权")
@Slf4j
@Validated
@RestController
@RequestMapping("authorizations")
public class MerchantAuthorizationsController {
@Autowired
IMerchantAuthorizationRecordsService authorizationRecordsService;
@ApiOperationSupport(order = 10)
@ApiOperation(value = "授权记录列表")
@GetMapping("records")
public ResponseDto<List<MerchantAuthorizationRecordsVo>> recordsCheckers(@RequestParam(required = true) String performanceId) {
String currentUid = CurrentUtil.getCurrentUid();
return ResponseDto.success(authorizationRecordsService.performanceCheckers(currentUid, performanceId));
}
@ApiOperationSupport(order = 11)
@ApiOperation(value = "添加授权记录")
@PostMapping("records/add")
public ResponseDto<Object> recordsCheckerAdd(@Valid @RequestBody MerchantAuthorizationRecordParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
authorizationRecordsService.performanceCheckerAdd(currentUid, parameter);
return ResponseDto.success();
}
@ApiOperationSupport(order = 12)
@ApiOperation(value = "删除授权记录")
@PostMapping("records/del")
public ResponseDto<Object> recordsCheckerDel(@RequestParam(required = true) String authorizationRecordId) {
String currentUid = CurrentUtil.getCurrentUid();
authorizationRecordsService.performanceCheckerDel(currentUid, authorizationRecordId);
return ResponseDto.success();
}
}
...@@ -31,11 +31,15 @@ public class MerchantMongoService { ...@@ -31,11 +31,15 @@ public class MerchantMongoService {
return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName()); return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
} }
public MerchantAuthorizationRecordsVo getAuthorizationRecordsVoByAuthorizationRecordId(String authorizationRecordId) {
return mongoTemplate.findOne(Query.query(Criteria.where("authorizationRecordId").is(authorizationRecordId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
}
public List<MerchantAuthorizationRecordsVo> getAuthorizationRecordsVosByUid(String uid, String performanceId) { public List<MerchantAuthorizationRecordsVo> getAuthorizationRecordsVosByUid(String uid, String performanceId) {
return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName()); return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
} }
public List<MerchantAuthorizationRecordsVo> getCheckersAuthorizationRecordsVosByCuid(String cuid, String performanceId) { public List<MerchantAuthorizationRecordsVo> getAuthorizationRecordsCheckersVosByCuid(String cuid, String performanceId) {
return mongoTemplate.find(Query.query(Criteria.where("uidRole").is(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole()).and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName()); return mongoTemplate.find(Query.query(Criteria.where("uidRole").is(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole()).and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
} }
} }
...@@ -2,19 +2,30 @@ package com.liquidnet.service.merchant.service.impl; ...@@ -2,19 +2,30 @@ package com.liquidnet.service.merchant.service.impl;
import com.liquidnet.common.exception.LiquidnetServiceException; import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.merchant.constant.MerchantAuthorizationConst; import com.liquidnet.service.merchant.constant.MerchantAuthorizationConst;
import com.liquidnet.service.merchant.dto.param.MerchantAuthorizationPermissionParam;
import com.liquidnet.service.merchant.dto.param.MerchantAuthorizationRecordParam;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationPermissionsVo; import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationPermissionsVo;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo; import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsService; import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsService;
import com.liquidnet.service.merchant.service.MerchantMongoService; import com.liquidnet.service.merchant.service.MerchantMongoService;
import com.liquidnet.service.merchant.util.QueueUtil;
import lombok.extern.slf4j.Slf4j; 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.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
...@@ -24,66 +35,170 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori ...@@ -24,66 +35,170 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
@Autowired @Autowired
MerchantMongoService merchantMongoService; MerchantMongoService merchantMongoService;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
QueueUtil queueUtils;
@Override @Override
public void performanceCheckerAdd(String cuid, String performanceId, String uid, String mobile, String name, boolean statistics) { public String performanceCheckerAdd(String cuid, MerchantAuthorizationRecordParam parameter) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
MerchantAuthorizationConst.PerformanceRole maxPerformanceRole = this.getMaxPerformanceRole(cuid, performanceId); // 目前仅授权 验票 统计
MerchantAuthorizationPermissionParam checkPermissionParam = null;
MerchantAuthorizationPermissionParam salesPermissionParam = null;
for (MerchantAuthorizationPermissionParam permissionParam: parameter.getPermissions()) {
if (permissionParam.getPermissionId().equals(MerchantAuthorizationConst.PerformancePermission.CHECK.getId())) {
checkPermissionParam = permissionParam;
}
if (permissionParam.getPermissionId().equals(MerchantAuthorizationConst.PerformancePermission.SALES.getId())) {
salesPermissionParam = permissionParam;
}
}
if (null == checkPermissionParam && null == salesPermissionParam) {
// 无授权权限
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13301");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
// 获取最大权限角色
MerchantAuthorizationConst.PerformanceRole maxPerformanceRole = this.getMaxPerformanceRole(cuid, parameter.getPerformanceId());
if (null == maxPerformanceRole || maxPerformanceRole.getLevel() <= MerchantAuthorizationConst.PerformanceRole.CHECKER.getLevel()) { if (null == maxPerformanceRole || maxPerformanceRole.getLevel() <= MerchantAuthorizationConst.PerformanceRole.CHECKER.getLevel()) {
// 无授权权限 // 无授权权限
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13301"); ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13301");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage()); throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
} }
if (statistics && maxPerformanceRole.getLevel() <= MerchantAuthorizationConst.PerformanceRole.FIELDER.getLevel()) { if (null != salesPermissionParam && maxPerformanceRole.getLevel() <= MerchantAuthorizationConst.PerformanceRole.FIELDER.getLevel()) {
// 无权限授于统计权限 // 无权限授于统计权限
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13302"); ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13302");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage()); throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
} }
// 验票员 授权记录 vo
MerchantAuthorizationRecordsVo checkerAuthorizationRecordsVo = MerchantAuthorizationRecordsVo.getNew(); MerchantAuthorizationRecordsVo checkerAuthorizationRecordsVo = MerchantAuthorizationRecordsVo.getNew();
checkerAuthorizationRecordsVo.setAuthorizationRecordId(IDGenerator.nextSnowId()); checkerAuthorizationRecordsVo.setAuthorizationRecordId(IDGenerator.nextSnowId());
checkerAuthorizationRecordsVo.setPerformanceId(performanceId); checkerAuthorizationRecordsVo.setPerformanceId(parameter.getPerformanceId());
checkerAuthorizationRecordsVo.setUidRole(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole()); checkerAuthorizationRecordsVo.setUidRole(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole());
checkerAuthorizationRecordsVo.setUid(uid); checkerAuthorizationRecordsVo.setUid(parameter.getUid());
checkerAuthorizationRecordsVo.setMobile(mobile); checkerAuthorizationRecordsVo.setMobile(parameter.getMobile());
checkerAuthorizationRecordsVo.setName(name); checkerAuthorizationRecordsVo.setName(parameter.getName());
checkerAuthorizationRecordsVo.setCuid("cuid"); checkerAuthorizationRecordsVo.setCuid(cuid);
checkerAuthorizationRecordsVo.setCuidRole(maxPerformanceRole.getRole()); checkerAuthorizationRecordsVo.setCuidRole(maxPerformanceRole.getRole());
checkerAuthorizationRecordsVo.setCreatedAt(now); checkerAuthorizationRecordsVo.setCreatedAt(now);
// 验票员 授权权限 // 验票员 授权权限 vos
String[] checkerPermissionIds = {
MerchantAuthorizationConst.PerformancePermission.CHECK.getId()
};
// 验票员 授权权限 entity vo
ArrayList<MerchantAuthorizationPermissionsVo> checkerAuthorizationPermissionsVos = new ArrayList<>(); ArrayList<MerchantAuthorizationPermissionsVo> checkerAuthorizationPermissionsVos = new ArrayList<>();
for (String permissionId : checkerPermissionIds) { if (null != checkPermissionParam) {
MerchantAuthorizationPermissionsVo checkerAuthorizationPermissionsVo = MerchantAuthorizationPermissionsVo.getNew(); MerchantAuthorizationPermissionsVo checkAuthorizationPermissionsVo = MerchantAuthorizationPermissionsVo.getNew();
checkerAuthorizationPermissionsVo.setAuthorizationPermissionId(IDGenerator.nextSnowId()); checkAuthorizationPermissionsVo.setAuthorizationPermissionId(IDGenerator.nextSnowId());
checkerAuthorizationPermissionsVo.setAuthorizationRecordId(checkerAuthorizationRecordsVo.getAuthorizationRecordId()); checkAuthorizationPermissionsVo.setAuthorizationRecordId(checkerAuthorizationRecordsVo.getAuthorizationRecordId());
checkerAuthorizationPermissionsVo.setPermissionId(permissionId); checkAuthorizationPermissionsVo.setPermissionId(MerchantAuthorizationConst.PerformancePermission.CHECK.getId());
checkerAuthorizationPermissionsVo.setStartTime(now); checkAuthorizationPermissionsVo.setStartTime(now);
checkerAuthorizationPermissionsVo.setEndTime(now.plusYears(99)); checkAuthorizationPermissionsVo.setEndTime(now.plusYears(10));
checkerAuthorizationPermissionsVo.setCreatedAt(now); checkAuthorizationPermissionsVo.setCreatedAt(now);
checkerAuthorizationPermissionsVos.add(checkAuthorizationPermissionsVo);
checkerAuthorizationPermissionsVos.add(checkerAuthorizationPermissionsVo); }
if (null != salesPermissionParam) {
LocalDateTime startTime = LocalDateTime.parse(salesPermissionParam.getStartTime(), DateTimeFormatter.ofPattern(DateUtil.DATE_FULL_STR));
LocalDateTime endTime = LocalDateTime.parse(salesPermissionParam.getEndTime(), DateTimeFormatter.ofPattern(DateUtil.DATE_FULL_STR));
if (!startTime.isBefore(endTime)) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13303");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
MerchantAuthorizationPermissionsVo salesAuthorizationPermissionsVo = MerchantAuthorizationPermissionsVo.getNew();
salesAuthorizationPermissionsVo.setAuthorizationPermissionId(IDGenerator.nextSnowId());
salesAuthorizationPermissionsVo.setAuthorizationRecordId(checkerAuthorizationRecordsVo.getAuthorizationRecordId());
salesAuthorizationPermissionsVo.setPermissionId(MerchantAuthorizationConst.PerformancePermission.SALES.getId());
salesAuthorizationPermissionsVo.setStartTime(startTime);
salesAuthorizationPermissionsVo.setEndTime(endTime);
salesAuthorizationPermissionsVo.setCreatedAt(now);
checkerAuthorizationPermissionsVos.add(salesAuthorizationPermissionsVo);
} }
checkerAuthorizationRecordsVo.setPermissionsVos(checkerAuthorizationPermissionsVos); checkerAuthorizationRecordsVo.setPermissionsVos(checkerAuthorizationPermissionsVos);
// mongo
long s = System.currentTimeMillis();
mongoTemplate.insert(checkerAuthorizationRecordsVo, MerchantAuthorizationRecordsVo.class.getSimpleName());
log.debug("#MONGO耗时:{}ms", System.currentTimeMillis() - s);
// sql
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> authorizationRecordsInsertObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> authorizationPermissionsInsertObjs = CollectionUtil.linkedListObjectArr();
// 授权记录 sql
toMqSqls.add(SqlMapping.get("merchant_authorization_records.insert"));
authorizationRecordsInsertObjs.add(new Object[]{
checkerAuthorizationRecordsVo.getAuthorizationRecordId(), checkerAuthorizationRecordsVo.getPerformanceId(),
checkerAuthorizationRecordsVo.getUidRole(), checkerAuthorizationRecordsVo.getUid(), checkerAuthorizationRecordsVo.getMobile(), checkerAuthorizationRecordsVo.getName(),
checkerAuthorizationRecordsVo.getCuidRole(), checkerAuthorizationRecordsVo.getCuid(),
checkerAuthorizationRecordsVo.getCreatedAt()
});
// 授权权限 sql
toMqSqls.add(SqlMapping.get("merchant_authorization_permissions.insert"));
for (MerchantAuthorizationPermissionsVo authorizationPermissionsVo : checkerAuthorizationPermissionsVos) {
authorizationPermissionsInsertObjs.add(new Object[]{
authorizationPermissionsVo.getAuthorizationPermissionId(), authorizationPermissionsVo.getAuthorizationRecordId(),
authorizationPermissionsVo.getPermissionId(), authorizationPermissionsVo.getStartTime(), authorizationPermissionsVo.getEndTime(),
authorizationPermissionsVo.getCreatedAt()
});
}
// mq
s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(
MQConst.MerchantQueue.SQL_MERCHANT_FIELD.getKey(),
SqlMapping.gets(toMqSqls, authorizationRecordsInsertObjs, authorizationPermissionsInsertObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
return checkerAuthorizationRecordsVo.getAuthorizationRecordId();
} }
@Override @Override
public void performanceCheckerDel(String cuid, String performanceId, String uid) { public void performanceCheckerDel(String cuid, String authorizationRecordId) {
LocalDateTime now = LocalDateTime.now();
// 查询授权记录
MerchantAuthorizationRecordsVo authorizationRecordsVo = merchantMongoService.getAuthorizationRecordsVoByAuthorizationRecordId(authorizationRecordId);
if (null == authorizationRecordsVo || !authorizationRecordsVo.getCuid().equals(cuid) || !authorizationRecordsVo.getUidRole().equals(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole())) {
// 无授权权限
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13301");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
// 授权记录 vo
authorizationRecordsVo.setUpdatedAt(now);
authorizationRecordsVo.setDeletedAt(now);
// mongo
long s = System.currentTimeMillis();
mongoTemplate.remove(Query.query(Criteria.where("authorizationRecordId").is(authorizationRecordId)), MerchantAuthorizationRecordsVo.class.getSimpleName());
log.debug("#MONGO耗时:{}ms", System.currentTimeMillis() - s);
// sql
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> authorizationRecordsUpdateObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("merchant_authorization_records.update"));
authorizationRecordsUpdateObjs.add(new Object[]{
authorizationRecordsVo.getUpdatedAt(), authorizationRecordsVo.getDeletedAt(), authorizationRecordsVo.getAuthorizationRecordId()
});
// mq
s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(
MQConst.MerchantQueue.SQL_MERCHANT_FIELD.getKey(),
SqlMapping.gets(toMqSqls, authorizationRecordsUpdateObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
@Override @Override
public List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId) { public List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId) {
List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = merchantMongoService.getCheckersAuthorizationRecordsVosByCuid(cuid, performanceId); List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = merchantMongoService.getAuthorizationRecordsCheckersVosByCuid(cuid, performanceId);
return authorizationRecordsVos; return authorizationRecordsVos;
} }
private MerchantAuthorizationConst.PerformanceRole getMaxPerformanceRole(String uid, String performanceId) { private MerchantAuthorizationConst.PerformanceRole getMaxPerformanceRole(String uid, String performanceId) {
List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = merchantMongoService.getAuthorizationRecordsVosByUid(uid, performanceId); List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = merchantMongoService.getAuthorizationRecordsVosByUid(uid, performanceId);
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
# 演出授权 # 演出授权
13301=无授权权限 13301=无授权权限
13302=无权限授于统计权限 13302=无权限授于统计权限
13303=授权时间有误
......
...@@ -10,6 +10,14 @@ merchant_field_checkers.update=UPDATE merchant_field_checkers SET cuid = ?, upda ...@@ -10,6 +10,14 @@ merchant_field_checkers.update=UPDATE merchant_field_checkers SET cuid = ?, upda
# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
merchant_sponsor_applies.insert=INSERT INTO merchant_sponsor_applies (sponsor_apply_id, apply_status, apply_type, reject, uid, name, logo, background, description, contact_name, contact_identity, contact_identity_obverse, contact_identity_reverse, contact_email, company_name, license_code, license_img, legal_name, legal_identity, legal_identity_obverse, legal_identity_reverse, created_at) VALUE (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) merchant_sponsor_applies.insert=INSERT INTO merchant_sponsor_applies (sponsor_apply_id, apply_status, apply_type, reject, uid, name, logo, background, description, contact_name, contact_identity, contact_identity_obverse, contact_identity_reverse, contact_email, company_name, license_code, license_img, legal_name, legal_identity, legal_identity_obverse, legal_identity_reverse, created_at) VALUE (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
merchant_sponsor_applies.update=UPDATE merchant_sponsor_applies SET updated_at = ?, delete_at = ? WHERE sponsor_apply_id = ? merchant_sponsor_applies.update=UPDATE merchant_sponsor_applies SET updated_at = ?, delete_at = ? WHERE sponsor_apply_id = ?
# ---------------------------------------------------------------------------------------------------------------------
merchant_authorization_records.insert=INSERT INTO merchant_authorization_records (authorization_record_id, performance_id, uid_role, uid, mobile, name, cuid_role, cuid, created_at) VALUE (?, ?, ?, ?, ?, ?, ?, ?, ?)
merchant_authorization_records.update=UPDATE merchant_authorization_records SET updated_at = ?, delete_at = ? WHERE authorization_record_id = ?
# ---------------------------------------------------------------------------------------------------------------------
merchant_authorization_permissions.insert=INSERT INTO merchant_authorization_permissions (authorization_permission_id, authorization_record_id, permission_id, start_time, end_time, created_at) VALUE (?, ?, ?, ?, ?, ?)
......
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