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

Commit 23dedf23 authored by Tice's avatar Tice

申请添加 mongo

parent 6676ce6e
......@@ -23,10 +23,10 @@ public class MerchantFieldApplyParam implements java.io.Serializable {
@NotBlank(message = "名称不能为空")
private String name;
@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;
@ApiModelProperty(position = 13, required = true, value = "背景图", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
@NotNull(message = "背景图不能为空")
@NotBlank(message = "背景图不能为空")
private String background;
@ApiModelProperty(position = 14, required = true, value = "介绍[1000]", example = "这是一段介绍文字")
private String description;
......@@ -35,28 +35,38 @@ public class MerchantFieldApplyParam implements java.io.Serializable {
private String builtDate;
@ApiModelProperty(position = 16, required = true, value = "省id")
@NotNull(message = "省id不能为null")
private String provinceId;
@ApiModelProperty(position = 17, required = true, value = "省名称")
@NotNull(message = "省名称不能为null")
private String provinceName;
@ApiModelProperty(position = 18, required = true, value = "城市id")
@NotNull(message = "城市id不能为null")
private String cityId;
@ApiModelProperty(position = 19, required = true, value = "城市名称")
@NotNull(message = "城市名称不能为null")
private String cityName;
@ApiModelProperty(position = 20, required = true, value = "县id")
@NotNull(message = "县id不能为null")
private String districtId;
@ApiModelProperty(position = 21, required = true, value = "县名称")
@NotNull(message = "县名称不能为null")
private String districtName;
@ApiModelProperty(position = 22, required = true, value = "详细地址[100]", example = "广渠路1号创1958园区")
@Size(max = 100, message = "已超出详细地址长度限制")
private String address;
@ApiModelProperty(position = 23, required = true, value = "经度")
@NotNull()
private String longitude;
@ApiModelProperty(position = 24, required = true, value = "纬度")
@NotNull()
private String latitude;
@ApiModelProperty(position = 25, required = true, value = "联系人姓名", example = "张三")
@NotNull()
private String contactName;
@ApiModelProperty(position = 26, required = true, value = "联系人邮箱", example = "zhangsan@zhengzai.tv")
@NotNull()
private String contactEmail;
@ApiModelProperty(position = 27, required = true, value = "企业名称")
......
package com.liquidnet.service.merchant.service;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import java.util.List;
public interface IMerchantAuthorizationRecordsService {
void performanceCheckerAdd(String cuid, String performanceId, String uid, boolean statistics);
void performanceCheckerAdd(String cuid, String performanceId, String uid, String mobile, String name, boolean statistics);
void performanceCheckerDel(String cuid, String performanceId, String uid);
void performanceCheckers(String cuid, String performanceId);
List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId);
}
......@@ -95,12 +95,11 @@ public class MerchantFieldAppliesController extends BaseController {
@RequiresPermissions("merchant:field:apply:approve")
@PostMapping("/approve")
@ResponseBody
public AjaxResult approve(@RequestParam(required = true) String uid,
@RequestParam(required = true) String fieldApplyId) {
public AjaxResult approve(@RequestParam(required = true) String fieldApplyId) {
String authUid = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
return toAjax(merchantFieldAppliesAdminService.applyApprove(uid, fieldApplyId, authUid, authName));
return toAjax(merchantFieldAppliesAdminService.applyApprove(fieldApplyId, authUid, authName));
}
@ApiOperation(value = "审核驳回")
......@@ -108,12 +107,11 @@ public class MerchantFieldAppliesController extends BaseController {
@RequiresPermissions("merchant:field:apply:reject")
@PostMapping("/reject")
@ResponseBody
public AjaxResult reject(@RequestParam(required = true) String uid,
@RequestParam(required = true) String fieldApplyId,
public AjaxResult reject(@RequestParam(required = true) String fieldApplyId,
@RequestParam(required = true) String reject) {
String authUid = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
return toAjax(merchantFieldAppliesAdminService.applyReject(uid, fieldApplyId, authUid, authName, reject));
return toAjax(merchantFieldAppliesAdminService.applyReject(fieldApplyId, authUid, authName, reject));
}
}
......@@ -76,12 +76,11 @@ public class MerchantSponsorAppliesController extends BaseController {
@RequiresPermissions("merchant:sponsor:apply:approve")
@PostMapping("/approve")
@ResponseBody
public AjaxResult approve(@RequestParam(required = true) String uid,
@RequestParam(required = true) String sponsorApplyId) {
public AjaxResult approve(@RequestParam(required = true) String sponsorApplyId) {
String authUid = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
return toAjax(merchantSponsorAppliesAdminService.applyApprove(uid, sponsorApplyId, authUid, authName));
return toAjax(merchantSponsorAppliesAdminService.applyApprove(sponsorApplyId, authUid, authName));
}
@ApiOperation(value = "审核驳回")
......@@ -89,12 +88,11 @@ public class MerchantSponsorAppliesController extends BaseController {
@RequiresPermissions("merchant:sponsor:apply:reject")
@PostMapping("/reject")
@ResponseBody
public AjaxResult reject(@RequestParam(required = true) String uid,
@RequestParam(required = true) String sponsorApplyId,
public AjaxResult reject(@RequestParam(required = true) String sponsorApplyId,
@RequestParam(required = true) String reject) {
String authUid = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
return toAjax(merchantSponsorAppliesAdminService.applyReject(uid, sponsorApplyId, authUid, authName, reject));
return toAjax(merchantSponsorAppliesAdminService.applyReject(sponsorApplyId, authUid, authName, reject));
}
}
......@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.merchant.entity.MerchantFieldApplies;
public interface IMerchantFieldAppliesAdminService extends IService<MerchantFieldApplies> {
boolean applyApprove(String uid, String fieldApplyId, String auditUid, String auditName);
boolean applyApprove(String fieldApplyId, String auditUid, String auditName);
boolean applyReject(String uid, String fieldApplyId, String auditUid, String auditName, String reject);
boolean applyReject(String fieldApplyId, String auditUid, String auditName, String reject);
}
......@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.merchant.entity.MerchantSponsorApplies;
public interface IMerchantSponsorAppliesAdminService extends IService<MerchantSponsorApplies> {
boolean applyApprove(String uid, String sponsorApplyId, String auditUid, String auditName);
boolean applyApprove(String sponsorApplyId, String auditUid, String auditName);
boolean applyReject(String uid, String sponsorApplyId, String auditUid, String auditName, String reject);
boolean applyReject(String sponsorApplyId, String auditUid, String auditName, String reject);
}
......@@ -251,7 +251,6 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
String[] checkerPermissionIds = {
MerchantPermissionConst.PerformancePermission.CHECK.getId()
};
for (MerchantFieldCheckersVo fieldCheckersVo: fieldCheckersVos) {
// 验票员 授权记录 entity
MerchantAuthorizationRecords checkerAuthorizationRecords = new MerchantAuthorizationRecords();
......
......@@ -26,12 +26,9 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.IntStream;
@Slf4j
@Service
......@@ -56,84 +53,71 @@ public class MerchantFieldAppliesAdminServiceImpl extends ServiceImpl<MerchantFi
@Override
@Transactional
public boolean applyApprove(String uid, String fieldApplyId, String auditUid, String auditName) {
List<MerchantFieldAppliesVo> fieldAppliesVos = merchantRedisUtil.getFieldAppliesVosByUid(uid);
if (CollectionUtils.isEmpty(fieldAppliesVos)) {
// todo error
throw new LiquidnetServiceException();
}
int idx = IntStream.range(0, fieldAppliesVos.size())
.filter(i -> fieldAppliesVos.get(i).getFieldApplyId().equals(fieldApplyId))
.findFirst()
.orElse(-1);
if (idx < 0) {
// todo error
throw new LiquidnetServiceException();
}
MerchantFieldAppliesVo fieldAppliesVo = fieldAppliesVos.get(idx);
if (0 != fieldAppliesVo.getApplyStatus()) {
public boolean applyApprove(String fieldApplyId, String auditUid, String auditName) {
LocalDateTime now = LocalDateTime.now();
// 场地申请 entity
LambdaQueryWrapper<MerchantFieldApplies> fieldAppliesLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantFieldApplies.class);
fieldAppliesLambdaQueryWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldApplyId);
MerchantFieldApplies fieldAppliesEntity = getOne(fieldAppliesLambdaQueryWrapper);
if (0 != fieldAppliesEntity.getApplyStatus()) {
// todo error
throw new LiquidnetServiceException();
}
LocalDateTime now = LocalDateTime.now();
if (fieldAppliesVo.getApplyType().equals("claim")) {
if (fieldAppliesEntity.getApplyType().equals("claim")) {
// 认领逻辑
// 公司 entity mysql
MerchantCompanies companiesEntity = new MerchantCompanies();
companiesEntity.setCompanyId(IDGenerator.nextSnowId());
companiesEntity.setName(fieldAppliesVo.getCompanyName());
companiesEntity.setLicenseCode(fieldAppliesVo.getLicenseCode());
companiesEntity.setLicenseImg(fieldAppliesVo.getLicenseImg());
companiesEntity.setLegalName(fieldAppliesVo.getLegalName());
companiesEntity.setLegalIdentity(fieldAppliesVo.getLegalIdentity());
companiesEntity.setLegalIdentityObverse(fieldAppliesVo.getLegalIdentityObverse());
companiesEntity.setLegalIdentityReverse(fieldAppliesVo.getLegalIdentityReverse());
companiesEntity.setName(fieldAppliesEntity.getCompanyName());
companiesEntity.setLicenseCode(fieldAppliesEntity.getLicenseCode());
companiesEntity.setLicenseImg(fieldAppliesEntity.getLicenseImg());
companiesEntity.setLegalName(fieldAppliesEntity.getLegalName());
companiesEntity.setLegalIdentity(fieldAppliesEntity.getLegalIdentity());
companiesEntity.setLegalIdentityObverse(fieldAppliesEntity.getLegalIdentityObverse());
companiesEntity.setLegalIdentityReverse(fieldAppliesEntity.getLegalIdentityReverse());
companiesEntity.setCreatedAt(now);
boolean success = merchantCompaniesAdminService.save(companiesEntity);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 公司 vo
MerchantCompaniesVo companiesVo = MerchantCompaniesVo.getNew();
companiesVo.copy(companiesEntity);
// 场地 entity mysql
LambdaQueryWrapper<MerchantFields> fieldsLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantFields.class);
fieldsLambdaQueryWrapper.eq(MerchantFields::getFieldId, fieldAppliesVo.getFieldId());
fieldsLambdaQueryWrapper.eq(MerchantFields::getFieldId, fieldAppliesEntity.getFieldId());
MerchantFields fieldsEntity = merchantFieldsAdminService.getOne(fieldsLambdaQueryWrapper);
if (null == fieldsEntity) {
// todo error
throw new LiquidnetServiceException();
}
if (2 != fieldsEntity.getClaimStatus() || !fieldsEntity.getUid().equals(uid)) {
if (2 != fieldsEntity.getClaimStatus() || !fieldsEntity.getUid().equals(fieldAppliesEntity.getUid())) {
// todo error
throw new LiquidnetServiceException();
}
fieldsEntity.setIsOnline(1);
fieldsEntity.setClaimStatus(1);
fieldsEntity.setUid(uid);
fieldsEntity.setUid(fieldAppliesEntity.getUid());
fieldsEntity.setIsCheck(0);
fieldsEntity.setName(fieldAppliesVo.getName());
fieldsEntity.setLogo(fieldAppliesVo.getLogo());
fieldsEntity.setBackground(fieldAppliesVo.getBackground());
fieldsEntity.setDescription(fieldAppliesVo.getDescription());
fieldsEntity.setBuiltDate(LocalDate.parse(fieldAppliesVo.getBuiltDate()));
fieldsEntity.setProvinceId(fieldAppliesVo.getProvinceId());
fieldsEntity.setProvinceName(fieldAppliesVo.getProvinceName());
fieldsEntity.setCityId(fieldAppliesVo.getCityId());
fieldsEntity.setCityName(fieldAppliesVo.getCityName());
fieldsEntity.setDistrictId(fieldAppliesVo.getDistrictId());
fieldsEntity.setDistrictName(fieldAppliesVo.getDistrictName());
fieldsEntity.setAddress(fieldAppliesVo.getAddress());
fieldsEntity.setLongitude(fieldAppliesVo.getLongitude());
fieldsEntity.setLatitude(fieldAppliesVo.getLatitude());
fieldsEntity.setContactName(fieldAppliesVo.getContactName());
fieldsEntity.setContactEmail(fieldAppliesVo.getContactEmail());
fieldsEntity.setCompanyId(companiesVo.getCompanyId());
fieldsEntity.setName(fieldAppliesEntity.getName());
fieldsEntity.setLogo(fieldAppliesEntity.getLogo());
fieldsEntity.setBackground(fieldAppliesEntity.getBackground());
fieldsEntity.setDescription(fieldAppliesEntity.getDescription());
fieldsEntity.setBuiltDate(fieldAppliesEntity.getBuiltDate());
fieldsEntity.setProvinceId(fieldAppliesEntity.getProvinceId());
fieldsEntity.setProvinceName(fieldAppliesEntity.getProvinceName());
fieldsEntity.setCityId(fieldAppliesEntity.getCityId());
fieldsEntity.setCityName(fieldAppliesEntity.getCityName());
fieldsEntity.setDistrictId(fieldAppliesEntity.getDistrictId());
fieldsEntity.setDistrictName(fieldAppliesEntity.getDistrictName());
fieldsEntity.setAddress(fieldAppliesEntity.getAddress());
fieldsEntity.setLongitude(fieldAppliesEntity.getLongitude());
fieldsEntity.setLatitude(fieldAppliesEntity.getLatitude());
fieldsEntity.setContactName(fieldAppliesEntity.getContactName());
fieldsEntity.setContactEmail(fieldAppliesEntity.getContactEmail());
fieldsEntity.setCompanyId(companiesEntity.getCompanyId());
fieldsEntity.setUpdatedAt(now);
LambdaUpdateWrapper<MerchantFields> fieldsLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantFields.class);
fieldsLambdaUpdateWrapper.eq(MerchantFields::getFieldId, fieldsEntity.getFieldId());
......@@ -142,253 +126,305 @@ public class MerchantFieldAppliesAdminServiceImpl extends ServiceImpl<MerchantFi
// todo error
throw new LiquidnetServiceException();
}
// 场地 vo
MerchantFieldsVo fieldsVo = MerchantFieldsVo.getNew();
fieldsVo.copy(fieldsEntity);
fieldsVo.setCompaniesVo(companiesVo);
// 场地申请 vo
fieldAppliesVo.setApplyStatus(1);
fieldAppliesVo.setReject("");
fieldAppliesVo.setAuditUid(auditUid);
fieldAppliesVo.setAuditName(auditName);
fieldAppliesVo.setAuditedAt(now);
fieldAppliesVo.setUpdatedAt(now);
// 场地申请 mysql
// 场地申请 entity mysql
fieldAppliesEntity.setApplyStatus(1);
fieldAppliesEntity.setReject("");
fieldAppliesEntity.setAuditUid(auditUid);
fieldAppliesEntity.setAuditName(auditName);
fieldAppliesEntity.setAuditedAt(now);
fieldAppliesEntity.setUpdatedAt(now);
LambdaUpdateWrapper<MerchantFieldApplies> fieldAppliesLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantFieldApplies.class);
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesVo.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesVo.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesVo.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesVo.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesVo.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesVo.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesVo.getUpdatedAt());
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesEntity.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesEntity.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesEntity.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesEntity.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesEntity.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesEntity.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesEntity.getUpdatedAt());
success = update(fieldAppliesLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 公司 vo
MerchantCompaniesVo companiesVo = MerchantCompaniesVo.getNew();
companiesVo.copy(companiesEntity);
// 场地 vo
MerchantFieldsVo fieldsVo = MerchantFieldsVo.getNew();
fieldsVo.copy(fieldsEntity);
fieldsVo.setCompaniesVo(companiesVo);
// 场地申请 vo
MerchantFieldAppliesVo fieldAppliesVo = MerchantFieldAppliesVo.getNew();
fieldAppliesVo.copy(fieldAppliesEntity);
// 场地 sync mongo
merchantMongoUtil.setFieldsVoByFieldId(fieldsVo.getFieldId(), fieldsVo);
// 场地 sync redis
merchantRedisUtil.setFieldsVoByFieldId(fieldsVo.getFieldId(), fieldsVo);
// 场地申请 redis
merchantRedisUtil.setFieldAppliesVosByUid(uid, fieldAppliesVos);
// 场地申请 sync mongo
Query query = Query.query(Criteria.where("fieldApplyId").is(fieldAppliesVo.getFieldApplyId()));
Update update = Update.update("applyStatus", fieldAppliesVo.getApplyStatus());
update.set("reject", fieldAppliesVo.getReject());
update.set("auditUid", fieldAppliesVo.getAuditUid());
update.set("auditName", fieldAppliesVo.getAuditName());
update.set("auditedAt", fieldAppliesVo.getAuditedAt());
update.set("updatedAt", fieldAppliesVo.getUpdatedAt());
mongoTemplate.updateFirst(query, update, MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
// 场地申请 sync redis
List<MerchantFieldAppliesVo> fieldAppliesVos = merchantRedisUtil.getFieldAppliesVosByUid(fieldAppliesVo.getUid());
merchantRedisUtil.setFieldAppliesVoByUid(fieldAppliesVo.getUid(), fieldAppliesVos, fieldAppliesVo);
} else {
// 创建逻辑
// 公司 entity mysql
MerchantCompanies companiesEntity = new MerchantCompanies();
companiesEntity.setCompanyId(IDGenerator.nextSnowId());
companiesEntity.setName(fieldAppliesVo.getCompanyName());
companiesEntity.setLicenseCode(fieldAppliesVo.getLicenseCode());
companiesEntity.setLicenseImg(fieldAppliesVo.getLicenseImg());
companiesEntity.setLegalName(fieldAppliesVo.getLegalName());
companiesEntity.setLegalIdentity(fieldAppliesVo.getLegalIdentity());
companiesEntity.setLegalIdentityObverse(fieldAppliesVo.getLegalIdentityObverse());
companiesEntity.setLegalIdentityReverse(fieldAppliesVo.getLegalIdentityReverse());
companiesEntity.setName(fieldAppliesEntity.getCompanyName());
companiesEntity.setLicenseCode(fieldAppliesEntity.getLicenseCode());
companiesEntity.setLicenseImg(fieldAppliesEntity.getLicenseImg());
companiesEntity.setLegalName(fieldAppliesEntity.getLegalName());
companiesEntity.setLegalIdentity(fieldAppliesEntity.getLegalIdentity());
companiesEntity.setLegalIdentityObverse(fieldAppliesEntity.getLegalIdentityObverse());
companiesEntity.setLegalIdentityReverse(fieldAppliesEntity.getLegalIdentityReverse());
companiesEntity.setCreatedAt(now);
boolean success = merchantCompaniesAdminService.save(companiesEntity);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 公司 vo
MerchantCompaniesVo companiesVo = MerchantCompaniesVo.getNew();
companiesVo.copy(companiesEntity);
// 场地 entity mysql
MerchantFields fieldsEntity = new MerchantFields();
fieldsEntity.setFieldId(IDGenerator.nextSnowId());
fieldsEntity.setIsOnline(1);
fieldsEntity.setClaimStatus(1);
fieldsEntity.setUid(uid);
fieldsEntity.setUid(fieldAppliesEntity.getUid());
fieldsEntity.setIsCheck(0);
fieldsEntity.setName(fieldAppliesVo.getName());
fieldsEntity.setLogo(fieldAppliesVo.getLogo());
fieldsEntity.setBackground(fieldAppliesVo.getBackground());
fieldsEntity.setDescription(fieldAppliesVo.getDescription());
fieldsEntity.setBuiltDate(LocalDate.parse(fieldAppliesVo.getBuiltDate()));
fieldsEntity.setProvinceId(fieldAppliesVo.getProvinceId());
fieldsEntity.setProvinceName(fieldAppliesVo.getProvinceName());
fieldsEntity.setCityId(fieldAppliesVo.getCityId());
fieldsEntity.setCityName(fieldAppliesVo.getCityName());
fieldsEntity.setDistrictId(fieldAppliesVo.getDistrictId());
fieldsEntity.setDistrictName(fieldAppliesVo.getDistrictName());
fieldsEntity.setAddress(fieldAppliesVo.getAddress());
fieldsEntity.setLongitude(fieldAppliesVo.getLongitude());
fieldsEntity.setLatitude(fieldAppliesVo.getLatitude());
fieldsEntity.setContactName(fieldAppliesVo.getContactName());
fieldsEntity.setContactEmail(fieldAppliesVo.getContactEmail());
fieldsEntity.setCompanyId(companiesVo.getCompanyId());
fieldsEntity.setName(fieldAppliesEntity.getName());
fieldsEntity.setLogo(fieldAppliesEntity.getLogo());
fieldsEntity.setBackground(fieldAppliesEntity.getBackground());
fieldsEntity.setDescription(fieldAppliesEntity.getDescription());
fieldsEntity.setBuiltDate(fieldAppliesEntity.getBuiltDate());
fieldsEntity.setProvinceId(fieldAppliesEntity.getProvinceId());
fieldsEntity.setProvinceName(fieldAppliesEntity.getProvinceName());
fieldsEntity.setCityId(fieldAppliesEntity.getCityId());
fieldsEntity.setCityName(fieldAppliesEntity.getCityName());
fieldsEntity.setDistrictId(fieldAppliesEntity.getDistrictId());
fieldsEntity.setDistrictName(fieldAppliesEntity.getDistrictName());
fieldsEntity.setAddress(fieldAppliesEntity.getAddress());
fieldsEntity.setLongitude(fieldAppliesEntity.getLongitude());
fieldsEntity.setLatitude(fieldAppliesEntity.getLatitude());
fieldsEntity.setContactName(fieldAppliesEntity.getContactName());
fieldsEntity.setContactEmail(fieldAppliesEntity.getContactEmail());
fieldsEntity.setCompanyId(companiesEntity.getCompanyId());
fieldsEntity.setCreatedAt(now);
success = merchantFieldsAdminService.save(fieldsEntity);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 场地 vo
MerchantFieldsVo fieldsVo = MerchantFieldsVo.getNew();
fieldsVo.copy(fieldsEntity);
fieldsVo.setCompaniesVo(companiesVo);
// 场地申请 vo
fieldAppliesVo.setApplyStatus(1);
fieldAppliesVo.setReject("");
fieldAppliesVo.setAuditUid(auditUid);
fieldAppliesVo.setAuditName(auditName);
fieldAppliesVo.setAuditedAt(now);
fieldAppliesVo.setUpdatedAt(now);
fieldAppliesVo.setFieldId(fieldsVo.getFieldId());
// 场地申请 mysql
// 场地申请 entity mysql
fieldAppliesEntity.setApplyStatus(1);
fieldAppliesEntity.setReject("");
fieldAppliesEntity.setAuditUid(auditUid);
fieldAppliesEntity.setAuditName(auditName);
fieldAppliesEntity.setAuditedAt(now);
fieldAppliesEntity.setUpdatedAt(now);
fieldAppliesEntity.setFieldId(fieldsEntity.getFieldId());
LambdaUpdateWrapper<MerchantFieldApplies> fieldAppliesLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantFieldApplies.class);
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesVo.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesVo.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesVo.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesVo.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesVo.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesVo.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesVo.getUpdatedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getFieldId, fieldAppliesVo.getFieldId());
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesEntity.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesEntity.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesEntity.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesEntity.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesEntity.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesEntity.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesEntity.getUpdatedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getFieldId, fieldAppliesEntity.getFieldId());
success = update(fieldAppliesLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 公司 vo
MerchantCompaniesVo companiesVo = MerchantCompaniesVo.getNew();
companiesVo.copy(companiesEntity);
// 场地 vo
MerchantFieldsVo fieldsVo = MerchantFieldsVo.getNew();
fieldsVo.copy(fieldsEntity);
fieldsVo.setCompaniesVo(companiesVo);
// 场地申请 vo
MerchantFieldAppliesVo fieldAppliesVo = MerchantFieldAppliesVo.getNew();
fieldAppliesVo.copy(fieldAppliesEntity);
// 场地 sync mongo
merchantMongoUtil.setFieldsVoByFieldId(fieldsVo.getFieldId(), fieldsVo);
// 场地 sync redis
merchantRedisUtil.setFieldsVoByFieldId(fieldsVo.getFieldId(), fieldsVo);
// 场地申请 sync mongo
Query query = Query.query(Criteria.where("fieldApplyId").is(fieldAppliesVo.getFieldApplyId()));
Update update = Update.update("applyStatus", fieldAppliesVo.getApplyStatus());
update.set("reject", fieldAppliesVo.getReject());
update.set("auditUid", fieldAppliesVo.getAuditUid());
update.set("auditName", fieldAppliesVo.getAuditName());
update.set("auditedAt", fieldAppliesVo.getAuditedAt());
update.set("updatedAt", fieldAppliesVo.getUpdatedAt());
update.set("fieldId", fieldAppliesVo.getFieldId());
mongoTemplate.updateFirst(query, update, MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
// 场地申请 sync redis
merchantRedisUtil.setFieldAppliesVosByUid(uid, fieldAppliesVos);
List<MerchantFieldAppliesVo> fieldAppliesVos = merchantRedisUtil.getFieldAppliesVosByUid(fieldAppliesVo.getUid());
merchantRedisUtil.setFieldAppliesVoByUid(fieldAppliesVo.getUid(), fieldAppliesVos, fieldAppliesVo);
}
return true;
}
@Override
public boolean applyReject(String uid, String fieldApplyId, String auditUid, String auditName, String reject) {
List<MerchantFieldAppliesVo> fieldAppliesVos = merchantRedisUtil.getFieldAppliesVosByUid(uid);
if (CollectionUtils.isEmpty(fieldAppliesVos)) {
// todo error
throw new LiquidnetServiceException();
}
int idx = IntStream.range(0, fieldAppliesVos.size())
.filter(i -> fieldAppliesVos.get(i).getFieldApplyId().equals(fieldApplyId))
.findFirst()
.orElse(-1);
if (idx < 0) {
// todo error
throw new LiquidnetServiceException();
}
MerchantFieldAppliesVo fieldAppliesVo = fieldAppliesVos.get(idx);
if (0 != fieldAppliesVo.getApplyStatus()) {
public boolean applyReject(String fieldApplyId, String auditUid, String auditName, String reject) {
LocalDateTime now = LocalDateTime.now();
// 场地申请 entity
LambdaQueryWrapper<MerchantFieldApplies> fieldAppliesLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantFieldApplies.class);
fieldAppliesLambdaQueryWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldApplyId);
MerchantFieldApplies fieldAppliesEntity = getOne(fieldAppliesLambdaQueryWrapper);
if (0 != fieldAppliesEntity.getApplyStatus()) {
// todo error
throw new LiquidnetServiceException();
}
LocalDateTime now = LocalDateTime.now();
if (fieldAppliesVo.getApplyType().equals("claim")) {
if (fieldAppliesEntity.getApplyType().equals("claim")) {
// 驳回认领逻辑
// 场地 vo
MerchantFieldsVo fieldsVo = merchantRedisUtil.getFieldsVoByFieldId(fieldAppliesVo.getFieldId());
if (null == fieldsVo) {
// 场地 entity mysql
LambdaQueryWrapper<MerchantFields> fieldsLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantFields.class);
fieldsLambdaQueryWrapper.eq(MerchantFields::getFieldId, fieldAppliesEntity.getFieldId());
MerchantFields fieldsEntity = merchantFieldsAdminService.getOne(fieldsLambdaQueryWrapper);
if (null == fieldsEntity) {
// todo error
throw new LiquidnetServiceException();
}
if (2 != fieldsVo.getClaimStatus() || !fieldsVo.getUid().equals(uid)) {
if (2 != fieldsEntity.getClaimStatus() || !fieldsEntity.getUid().equals(fieldAppliesEntity.getUid())) {
// todo error
throw new LiquidnetServiceException();
}
fieldsVo.setClaimStatus(0);
fieldsVo.setUid("");
fieldsVo.setUpdatedAt(now);
// 场地 mysql
fieldsEntity.setClaimStatus(0);
fieldsEntity.setUid("");
fieldsEntity.setUpdatedAt(now);
LambdaUpdateWrapper<MerchantFields> fieldsLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantFields.class);
fieldsLambdaUpdateWrapper.eq(MerchantFields::getFieldId, fieldsVo.getFieldId());
fieldsLambdaUpdateWrapper.set(MerchantFields::getClaimStatus, fieldsVo.getClaimStatus());
fieldsLambdaUpdateWrapper.set(MerchantFields::getUid, fieldsVo.getUid());
fieldsLambdaUpdateWrapper.set(MerchantFields::getUpdatedAt, fieldsVo.getUpdatedAt());
fieldsLambdaUpdateWrapper.eq(MerchantFields::getFieldId, fieldsEntity.getFieldId());
fieldsLambdaUpdateWrapper.set(MerchantFields::getClaimStatus, fieldsEntity.getClaimStatus());
fieldsLambdaUpdateWrapper.set(MerchantFields::getUid, fieldsEntity.getUid());
fieldsLambdaUpdateWrapper.set(MerchantFields::getUpdatedAt, fieldsEntity.getUpdatedAt());
boolean success = merchantFieldsAdminService.update(fieldsLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 场地申请 vo
fieldAppliesVo.setApplyStatus(2);
fieldAppliesVo.setReject(reject);
fieldAppliesVo.setAuditUid(auditUid);
fieldAppliesVo.setAuditName(auditName);
fieldAppliesVo.setAuditedAt(now);
fieldAppliesVo.setUpdatedAt(now);
// 场地申请 mysql
// 场地申请 entity mysql
fieldAppliesEntity.setApplyStatus(2);
fieldAppliesEntity.setReject(reject);
fieldAppliesEntity.setAuditUid(auditUid);
fieldAppliesEntity.setAuditName(auditName);
fieldAppliesEntity.setAuditedAt(now);
fieldAppliesEntity.setUpdatedAt(now);
LambdaUpdateWrapper<MerchantFieldApplies> fieldAppliesLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantFieldApplies.class);
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesVo.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesVo.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesVo.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesVo.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesVo.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesVo.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesVo.getUpdatedAt());
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesEntity.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesEntity.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesEntity.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesEntity.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesEntity.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesEntity.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesEntity.getUpdatedAt());
success = update(fieldAppliesLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 场地 vo
MerchantFieldsVo fieldsVo = merchantRedisUtil.getFieldsVoByFieldId(fieldsEntity.getFieldId());
fieldsVo.setClaimStatus(0);
fieldsVo.setUid("");
fieldsVo.setUpdatedAt(now);
// 场地申请 vo
MerchantFieldAppliesVo fieldAppliesVo = MerchantFieldAppliesVo.getNew();
fieldAppliesVo.copy(fieldAppliesEntity);
// 场地 sync mongo
Query query = Query.query(Criteria.where("fieldId").is(fieldsVo.getFieldId()));
Update update = Update.update("claimStatus", fieldsVo.getClaimStatus()).set("uid", fieldsVo.getUid()).set("updatedAt", fieldsVo.getUpdatedAt());
mongoTemplate.updateFirst(query, update, MerchantFieldsVo.class, MerchantFieldsVo.class.getSimpleName());
merchantMongoUtil.setFieldsVoByFieldId(fieldsVo.getFieldId(), fieldsVo);
// 场地 sync redis
merchantRedisUtil.setFieldsVoByFieldId(fieldsVo.getFieldId(), fieldsVo);
// 场地申请 sync redis
merchantRedisUtil.setFieldAppliesVosByUid(uid, fieldAppliesVos);
// 场地申请 sync mongo
Query query = Query.query(Criteria.where("fieldApplyId").is(fieldAppliesVo.getFieldApplyId()));
Update update = Update.update("applyStatus", fieldAppliesVo.getApplyStatus());
update.set("reject", fieldAppliesVo.getReject());
update.set("auditUid", fieldAppliesVo.getAuditUid());
update.set("auditName", fieldAppliesVo.getAuditName());
update.set("auditedAt", fieldAppliesVo.getAuditedAt());
update.set("updatedAt", fieldAppliesVo.getUpdatedAt());
mongoTemplate.updateFirst(query, update, MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
// 场地申请 sync redis
List<MerchantFieldAppliesVo> fieldAppliesVos = merchantRedisUtil.getFieldAppliesVosByUid(fieldAppliesVo.getUid());
merchantRedisUtil.setFieldAppliesVoByUid(fieldAppliesVo.getUid(), fieldAppliesVos, fieldAppliesVo);
} else {
// 驳回创建逻辑
// 场地申请 vo
fieldAppliesVo.setApplyStatus(2);
fieldAppliesVo.setReject(reject);
fieldAppliesVo.setAuditUid(auditUid);
fieldAppliesVo.setAuditName(auditName);
fieldAppliesVo.setAuditedAt(now);
fieldAppliesVo.setUpdatedAt(now);
// 场地申请 mysql
// 场地申请 entity mysql
fieldAppliesEntity.setApplyStatus(2);
fieldAppliesEntity.setReject(reject);
fieldAppliesEntity.setAuditUid(auditUid);
fieldAppliesEntity.setAuditName(auditName);
fieldAppliesEntity.setAuditedAt(now);
fieldAppliesEntity.setUpdatedAt(now);
LambdaUpdateWrapper<MerchantFieldApplies> fieldAppliesLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantFieldApplies.class);
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesVo.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesVo.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesVo.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesVo.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesVo.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesVo.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesVo.getUpdatedAt());
fieldAppliesLambdaUpdateWrapper.eq(MerchantFieldApplies::getFieldApplyId, fieldAppliesEntity.getFieldApplyId());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getApplyStatus, fieldAppliesEntity.getApplyStatus());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getReject, fieldAppliesEntity.getReject());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditUid, fieldAppliesEntity.getAuditUid());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditName, fieldAppliesEntity.getAuditName());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getAuditedAt, fieldAppliesEntity.getAuditedAt());
fieldAppliesLambdaUpdateWrapper.set(MerchantFieldApplies::getUpdatedAt, fieldAppliesEntity.getUpdatedAt());
boolean success = update(fieldAppliesLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 场地申请 vo
MerchantFieldAppliesVo fieldAppliesVo = MerchantFieldAppliesVo.getNew();
fieldAppliesVo.copy(fieldAppliesEntity);
// 场地申请 sync mongo
Query query = Query.query(Criteria.where("fieldApplyId").is(fieldAppliesVo.getFieldApplyId()));
Update update = Update.update("applyStatus", fieldAppliesVo.getApplyStatus());
update.set("reject", fieldAppliesVo.getReject());
update.set("auditUid", fieldAppliesVo.getAuditUid());
update.set("auditName", fieldAppliesVo.getAuditName());
update.set("auditedAt", fieldAppliesVo.getAuditedAt());
update.set("updatedAt", fieldAppliesVo.getUpdatedAt());
mongoTemplate.updateFirst(query, update, MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
// 场地申请 sync redis
merchantRedisUtil.setFieldAppliesVosByUid(uid, fieldAppliesVos);
List<MerchantFieldAppliesVo> fieldAppliesVos = merchantRedisUtil.getFieldAppliesVosByUid(fieldAppliesVo.getUid());
merchantRedisUtil.setFieldAppliesVoByUid(fieldAppliesVo.getUid(), fieldAppliesVos, fieldAppliesVo);
}
return true;
......
package com.liquidnet.client.admin.zhengzai.merchant.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -19,12 +20,14 @@ import com.liquidnet.service.merchant.entity.MerchantSponsors;
import com.liquidnet.service.merchant.mapper.MerchantSponsorAppliesMapper;
import lombok.extern.slf4j.Slf4j;
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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.IntStream;
@Slf4j
@Service
......@@ -36,6 +39,9 @@ public class MerchantSponsorAppliesAdminServiceImpl extends ServiceImpl<Merchant
@Autowired
MerchantMongoUtil merchantMongoUtil;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
IMerchantSponsorsAdminService merchantSponsorsAdminService;
......@@ -43,68 +49,58 @@ public class MerchantSponsorAppliesAdminServiceImpl extends ServiceImpl<Merchant
IMerchantCompaniesAdminService merchantCompaniesAdminService;
@Override
public boolean applyApprove(String uid, String sponsorApplyId, String auditUid, String auditName) {
List<MerchantSponsorAppliesVo> sponsorAppliesVos = merchantRedisUtil.getSponsorAppliesVosByUid(uid);
if (CollectionUtils.isEmpty(sponsorAppliesVos)) {
// todo error
throw new LiquidnetServiceException();
}
int idx = IntStream.range(0, sponsorAppliesVos.size())
.filter(i -> sponsorAppliesVos.get(i).getSponsorApplyId().equals(sponsorApplyId))
.findFirst()
.orElse(-1);
if (idx < 0) {
// todo error
throw new LiquidnetServiceException();
}
MerchantSponsorAppliesVo sponsorAppliesVo = sponsorAppliesVos.get(idx);
if (0 != sponsorAppliesVo.getApplyStatus()) {
public boolean applyApprove(String sponsorApplyId, String auditUid, String auditName) {
LocalDateTime now = LocalDateTime.now();
// 主办申请 entity
LambdaQueryWrapper<MerchantSponsorApplies> sponsorAppliesLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantSponsorApplies.class);
sponsorAppliesLambdaQueryWrapper.eq(MerchantSponsorApplies::getSponsorApplyId, sponsorApplyId);
MerchantSponsorApplies sponsorAppliesEntity = getOne(sponsorAppliesLambdaQueryWrapper);
if (0 != sponsorAppliesEntity.getApplyStatus()) {
// todo error
throw new LiquidnetServiceException();
}
LocalDateTime now = LocalDateTime.now();
// 创建逻辑
MerchantCompaniesVo companiesVo = null;
if (!sponsorAppliesVo.getCompanyName().isEmpty()) {
// 公司 entity mysql
MerchantCompanies companiesEntity = new MerchantCompanies();
// 公司 entity mysql
MerchantCompanies companiesEntity = null;
if (!sponsorAppliesEntity.getCompanyName().isEmpty()) {
companiesEntity = new MerchantCompanies();
companiesEntity.setCompanyId(IDGenerator.nextSnowId());
companiesEntity.setName(sponsorAppliesVo.getCompanyName());
companiesEntity.setLicenseCode(sponsorAppliesVo.getLicenseCode());
companiesEntity.setLicenseImg(sponsorAppliesVo.getLicenseImg());
companiesEntity.setLegalName(sponsorAppliesVo.getLegalName());
companiesEntity.setLegalIdentity(sponsorAppliesVo.getLegalIdentity());
companiesEntity.setLegalIdentityObverse(sponsorAppliesVo.getLegalIdentityObverse());
companiesEntity.setLegalIdentityReverse(sponsorAppliesVo.getLegalIdentityReverse());
companiesEntity.setName(sponsorAppliesEntity.getCompanyName());
companiesEntity.setLicenseCode(sponsorAppliesEntity.getLicenseCode());
companiesEntity.setLicenseImg(sponsorAppliesEntity.getLicenseImg());
companiesEntity.setLegalName(sponsorAppliesEntity.getLegalName());
companiesEntity.setLegalIdentity(sponsorAppliesEntity.getLegalIdentity());
companiesEntity.setLegalIdentityObverse(sponsorAppliesEntity.getLegalIdentityObverse());
companiesEntity.setLegalIdentityReverse(sponsorAppliesEntity.getLegalIdentityReverse());
companiesEntity.setCreatedAt(now);
boolean success = merchantCompaniesAdminService.save(companiesEntity);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 公司 vo
companiesVo = MerchantCompaniesVo.getNew();
companiesVo.copy(companiesEntity);
}
// 主办 entity mysql
MerchantSponsors sponsorsEntity = new MerchantSponsors();
sponsorsEntity.setSponsorId(IDGenerator.nextSnowId());
sponsorsEntity.setIsOnline(1);
sponsorsEntity.setUid(uid);
sponsorsEntity.setName(sponsorAppliesVo.getName());
sponsorsEntity.setLogo(sponsorAppliesVo.getLogo());
sponsorsEntity.setBackground(sponsorAppliesVo.getBackground());
sponsorsEntity.setDescription(sponsorAppliesVo.getDescription());
sponsorsEntity.setContactName(sponsorAppliesVo.getContactName());
sponsorsEntity.setContactIdentity(sponsorAppliesVo.getContactIdentity());
sponsorsEntity.setContactIdentityObverse(sponsorAppliesVo.getContactIdentityObverse());
sponsorsEntity.setContactIdentityReverse(sponsorAppliesVo.getContactIdentityReverse());
sponsorsEntity.setContactEmail(sponsorAppliesVo.getContactEmail());
if (null != companiesVo) {
sponsorsEntity.setCompanyId(companiesVo.getCompanyId());
sponsorsEntity.setUid(sponsorAppliesEntity.getUid());
sponsorsEntity.setName(sponsorAppliesEntity.getName());
sponsorsEntity.setLogo(sponsorAppliesEntity.getLogo());
sponsorsEntity.setBackground(sponsorAppliesEntity.getBackground());
sponsorsEntity.setDescription(sponsorAppliesEntity.getDescription());
sponsorsEntity.setContactName(sponsorAppliesEntity.getContactName());
sponsorsEntity.setContactIdentity(sponsorAppliesEntity.getContactIdentity());
sponsorsEntity.setContactIdentityObverse(sponsorAppliesEntity.getContactIdentityObverse());
sponsorsEntity.setContactIdentityReverse(sponsorAppliesEntity.getContactIdentityReverse());
sponsorsEntity.setContactEmail(sponsorAppliesEntity.getContactEmail());
if (null != companiesEntity) {
sponsorsEntity.setCompanyId(companiesEntity.getCompanyId());
} else {
sponsorsEntity.setCompanyId("");
}
sponsorsEntity.setCreatedAt(now);
boolean success = merchantSponsorsAdminService.save(sponsorsEntity);
......@@ -112,52 +108,123 @@ public class MerchantSponsorAppliesAdminServiceImpl extends ServiceImpl<Merchant
// todo error
throw new LiquidnetServiceException();
}
// 主办 vo
MerchantSponsorsVo sponsorsVo = MerchantSponsorsVo.getNew();
sponsorsVo.copy(sponsorsEntity);
if (null != companiesVo) {
sponsorsVo.setCompaniesVo(companiesVo);
}
// 主办申请 vo
sponsorAppliesVo.setApplyStatus(1);
sponsorAppliesVo.setReject("");
sponsorAppliesVo.setAuditUid(auditUid);
sponsorAppliesVo.setAuditName(auditName);
sponsorAppliesVo.setAuditedAt(now);
sponsorAppliesVo.setUpdatedAt(now);
sponsorAppliesVo.setSponsorId(sponsorsVo.getSponsorId());
// 主办申请 mysql
// 主办申请 entity mysql
sponsorAppliesEntity.setApplyStatus(1);
sponsorAppliesEntity.setReject("");
sponsorAppliesEntity.setAuditUid(auditUid);
sponsorAppliesEntity.setAuditName(auditName);
sponsorAppliesEntity.setAuditedAt(now);
sponsorAppliesEntity.setUpdatedAt(now);
sponsorAppliesEntity.setSponsorId(sponsorsEntity.getSponsorId());
LambdaUpdateWrapper<MerchantSponsorApplies> sponsorAppliesLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantSponsorApplies.class);
sponsorAppliesLambdaUpdateWrapper.eq(MerchantSponsorApplies::getSponsorApplyId, sponsorAppliesVo.getSponsorApplyId());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getApplyStatus, sponsorAppliesVo.getApplyStatus());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getReject, sponsorAppliesVo.getReject());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditUid, sponsorAppliesVo.getAuditUid());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditName, sponsorAppliesVo.getAuditName());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditedAt, sponsorAppliesVo.getAuditedAt());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getUpdatedAt, sponsorAppliesVo.getUpdatedAt());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getSponsorId, sponsorAppliesVo.getSponsorId());
sponsorAppliesLambdaUpdateWrapper.eq(MerchantSponsorApplies::getSponsorApplyId, sponsorAppliesEntity.getSponsorApplyId());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getApplyStatus, sponsorAppliesEntity.getApplyStatus());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getReject, sponsorAppliesEntity.getReject());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditUid, sponsorAppliesEntity.getAuditUid());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditName, sponsorAppliesEntity.getAuditName());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditedAt, sponsorAppliesEntity.getAuditedAt());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getUpdatedAt, sponsorAppliesEntity.getUpdatedAt());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getSponsorId, sponsorAppliesEntity.getSponsorId());
success = update(sponsorAppliesLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 主办 vo
MerchantSponsorsVo sponsorsVo = MerchantSponsorsVo.getNew();
sponsorsVo.copy(sponsorsEntity);
if (null != companiesEntity) {
// 公司 vo
MerchantCompaniesVo companiesVo = MerchantCompaniesVo.getNew();
companiesVo.copy(companiesEntity);
sponsorsVo.setCompaniesVo(companiesVo);
}
// 主办申请 vo
MerchantSponsorAppliesVo sponsorAppliesVo = MerchantSponsorAppliesVo.getNew();
sponsorAppliesVo.copy(sponsorAppliesEntity);
// 主办 sync mongo
merchantMongoUtil.setSponsorsVoBySponsorId(sponsorsVo.getSponsorId(), sponsorsVo);
// 主办 sync redis
merchantRedisUtil.setSponsorsVoBySponsorId(sponsorsVo.getSponsorId(), sponsorsVo);
// 主办申请 sync mongo
Query query = Query.query(Criteria.where("sponsorApplyId").is(sponsorAppliesVo.getSponsorApplyId()));
Update update = Update.update("applyStatus", sponsorAppliesVo.getApplyStatus());
update.set("reject", sponsorAppliesVo.getReject());
update.set("auditUid", sponsorAppliesVo.getAuditUid());
update.set("auditName", sponsorAppliesVo.getAuditName());
update.set("auditedAt", sponsorAppliesVo.getAuditedAt());
update.set("updatedAt", sponsorAppliesVo.getUpdatedAt());
update.set("sponsorId", sponsorAppliesVo.getSponsorId());
mongoTemplate.updateFirst(query, update, MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
// 主办申请 sync redis
merchantRedisUtil.setSponsorAppliesVosByUid(uid, sponsorAppliesVos);
List<MerchantSponsorAppliesVo> sponsorAppliesVos = merchantRedisUtil.getSponsorAppliesVosByUid(sponsorAppliesVo.getUid());
merchantRedisUtil.setSponsorAppliesVoByUid(sponsorAppliesVo.getUid(), sponsorAppliesVos, sponsorAppliesVo);
return true;
}
@Override
public boolean applyReject(String uid, String sponsorApplyId, String auditUid, String auditName, String reject) {
public boolean applyReject(String sponsorApplyId, String auditUid, String auditName, String reject) {
LocalDateTime now = LocalDateTime.now();
// 主办申请 entity
LambdaQueryWrapper<MerchantSponsorApplies> sponsorAppliesLambdaQueryWrapper = Wrappers.lambdaQuery(MerchantSponsorApplies.class);
sponsorAppliesLambdaQueryWrapper.eq(MerchantSponsorApplies::getSponsorApplyId, sponsorApplyId);
MerchantSponsorApplies sponsorAppliesEntity = getOne(sponsorAppliesLambdaQueryWrapper);
if (0 != sponsorAppliesEntity.getApplyStatus()) {
// todo error
throw new LiquidnetServiceException();
}
// 驳回逻辑
// 主办申请 entity mysql
sponsorAppliesEntity.setApplyStatus(2);
sponsorAppliesEntity.setReject(reject);
sponsorAppliesEntity.setAuditUid(auditUid);
sponsorAppliesEntity.setAuditName(auditName);
sponsorAppliesEntity.setAuditedAt(now);
sponsorAppliesEntity.setUpdatedAt(now);
LambdaUpdateWrapper<MerchantSponsorApplies> sponsorAppliesLambdaUpdateWrapper = Wrappers.lambdaUpdate(MerchantSponsorApplies.class);
sponsorAppliesLambdaUpdateWrapper.eq(MerchantSponsorApplies::getSponsorApplyId, sponsorAppliesEntity.getSponsorApplyId());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getApplyStatus, sponsorAppliesEntity.getApplyStatus());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getReject, sponsorAppliesEntity.getReject());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditUid, sponsorAppliesEntity.getAuditUid());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditName, sponsorAppliesEntity.getAuditName());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getAuditedAt, sponsorAppliesEntity.getAuditedAt());
sponsorAppliesLambdaUpdateWrapper.set(MerchantSponsorApplies::getUpdatedAt, sponsorAppliesEntity.getUpdatedAt());
boolean success = update(sponsorAppliesLambdaUpdateWrapper);
if (!success) {
// todo error
throw new LiquidnetServiceException();
}
// 主办申请 vo
MerchantSponsorAppliesVo sponsorAppliesVo = MerchantSponsorAppliesVo.getNew();
sponsorAppliesVo.copy(sponsorAppliesEntity);
// 主办申请 sync mongo
Query query = Query.query(Criteria.where("sponsorApplyId").is(sponsorAppliesVo.getSponsorApplyId()));
Update update = Update.update("applyStatus", sponsorAppliesVo.getApplyStatus());
update.set("reject", sponsorAppliesVo.getReject());
update.set("auditUid", sponsorAppliesVo.getAuditUid());
update.set("auditName", sponsorAppliesVo.getAuditName());
update.set("auditedAt", sponsorAppliesVo.getAuditedAt());
update.set("updatedAt", sponsorAppliesVo.getUpdatedAt());
update.set("sponsorId", sponsorAppliesVo.getSponsorId());
mongoTemplate.updateFirst(query, update, MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
// 主办申请 sync redis
List<MerchantSponsorAppliesVo> sponsorAppliesVos = merchantRedisUtil.getSponsorAppliesVosByUid(sponsorAppliesVo.getUid());
merchantRedisUtil.setSponsorAppliesVoByUid(sponsorAppliesVo.getUid(), sponsorAppliesVos, sponsorAppliesVo);
return true;
}
......
package com.liquidnet.client.admin.zhengzai.merchant.utils;
import com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo;
import com.liquidnet.service.merchant.dto.vo.MerchantSponsorsVo;
import com.liquidnet.service.merchant.dto.vo.*;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
......@@ -11,6 +10,8 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class MerchantMongoUtil {
@Autowired
......@@ -41,4 +42,16 @@ public class MerchantMongoUtil {
Update update = Update.fromDocument(document);
mongoTemplate.upsert(query, update, MerchantSponsorsVo.class, MerchantSponsorsVo.class.getSimpleName());
}
public List<MerchantFieldAppliesVo> getFieldAppliesVosByUid(String uid) {
return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
}
public List<MerchantSponsorAppliesVo> getSponsorAppliesVosByUid(String uid) {
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) {
return mongoTemplate.find(Query.query(Criteria.where("uidRole").is("checker").and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
}
}
......@@ -29,7 +29,7 @@ public class MerchantRedisUtil {
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vo) {
vo = mongoUtil.getFieldsVoByFieldId(fieldId);
this.setFieldsVoByFieldId(fieldId, vo);
redisUtil.set(key, vo);
}
return vo;
}
......@@ -46,6 +46,10 @@ public class MerchantRedisUtil {
long s = System.currentTimeMillis();
List<MerchantFieldAppliesVo> vos = (List<MerchantFieldAppliesVo>) redisUtil.get(key);
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vos) {
vos = mongoUtil.getFieldAppliesVosByUid(uid);
redisUtil.set(key, vos);
}
return vos;
}
......@@ -123,7 +127,7 @@ public class MerchantRedisUtil {
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vo) {
vo = mongoUtil.getSponsorsVoBySponsorId(sponsorId);
this.setSponsorsVoBySponsorId(sponsorId, vo);
redisUtil.set(key, vo);
}
return vo;
}
......@@ -139,6 +143,10 @@ public class MerchantRedisUtil {
long s = System.currentTimeMillis();
List<MerchantSponsorAppliesVo> vos = (List<MerchantSponsorAppliesVo>) redisUtil.get(key);
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vos) {
vos = mongoUtil.getSponsorAppliesVosByUid(uid);
redisUtil.set(key, vos);
}
return vos;
}
......
......@@ -2,7 +2,10 @@
# 创建集合
db.createCollection("MerchantFieldsVo");
db.createCollection("MerchantFieldAppliesVo");
db.createCollection("MerchantSponsorsVo");
db.createCollection("MerchantSponsorAppliesVo");
db.createCollection("MerchantAuthorizationRecordsVo");
# 创建索引
......@@ -10,7 +13,19 @@ db.MerchantFieldsVo.createIndex({fieldId:"hashed"});
db.MerchantFieldsVo.createIndex({isOnline:"hashed"});
db.MerchantFieldsVo.createIndex({uid:"hashed"});
db.MerchantFieldsVo.createIndex({companyId:"hashed"});
db.MerchantSponsorsVo.createIndex({fieldId:"hashed"});
db.MerchantFieldAppliesVo.createIndex({fieldApplyId:"hashed"});
db.MerchantFieldAppliesVo.createIndex({uid:"hashed"});
db.MerchantSponsorsVo.createIndex({sponsorId:"hashed"});
db.MerchantSponsorsVo.createIndex({isOnline:"hashed"});
db.MerchantSponsorsVo.createIndex({uid:"hashed"});
db.MerchantSponsorsVo.createIndex({companyId:"hashed"});
db.MerchantSponsorAppliesVo.createIndex({sponsorApplyId:"hashed"});
db.MerchantSponsorAppliesVo.createIndex({uid:"hashed"});
db.MerchantAuthorizationRecordsVo.createIndex({authorizationRecordId:"hashed"});
db.MerchantAuthorizationRecordsVo.createIndex({performanceId:"hashed"});
db.MerchantAuthorizationRecordsVo.createIndex({uidRole:"hashed"});
db.MerchantAuthorizationRecordsVo.createIndex({uid:"hashed"});
db.MerchantAuthorizationRecordsVo.createIndex({cuidRole:"hashed"});
db.MerchantAuthorizationRecordsVo.createIndex({cuid:"hashed"});
package com.liquidnet.service.merchant.service;
import com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo;
import com.liquidnet.service.merchant.dto.vo.MerchantSponsorsVo;
import com.liquidnet.service.merchant.dto.vo.*;
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.Component;
import java.util.List;
@Component
public class MerchantMongoService {
@Autowired
private MongoTemplate mongoTemplate;
public MerchantFieldsVo getMerchantFieldsVoByFieldId(String fieldId) {
public MerchantFieldsVo getFieldsVoByFieldId(String fieldId) {
return mongoTemplate.findOne(Query.query(Criteria.where("fieldId").is(fieldId)), MerchantFieldsVo.class, MerchantFieldsVo.class.getSimpleName());
}
public MerchantSponsorsVo getMerchantSponsorsVoBySponsorId(String sponsorId) {
public List<MerchantFieldAppliesVo> getFieldAppliesVosByUid(String uid) {
return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
}
public MerchantSponsorsVo getSponsorsVoBySponsorId(String sponsorId) {
return mongoTemplate.findOne(Query.query(Criteria.where("sponsorId").is(sponsorId)), MerchantSponsorsVo.class, MerchantSponsorsVo.class.getSimpleName());
}
public List<MerchantSponsorAppliesVo> getSponsorAppliesVosByUid(String uid) {
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) {
return mongoTemplate.find(Query.query(Criteria.where("uidRole").is("checker").and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null)), MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
}
}
......@@ -28,8 +28,8 @@ public class MerchantRdmService {
MerchantFieldsVo vo = (MerchantFieldsVo) redisUtil.get(key);
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vo) {
vo = merchantMongoService.getMerchantFieldsVoByFieldId(fieldId);
this.setFieldsVoByFieldId(fieldId, vo);
vo = merchantMongoService.getFieldsVoByFieldId(fieldId);
redisUtil.set(key, vo);
}
return vo;
}
......@@ -46,6 +46,10 @@ public class MerchantRdmService {
long s = System.currentTimeMillis();
List<MerchantFieldAppliesVo> vos = (List<MerchantFieldAppliesVo>) redisUtil.get(key);
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vos) {
vos = merchantMongoService.getFieldAppliesVosByUid(uid);
redisUtil.set(key, vos);
}
return vos;
}
......@@ -102,8 +106,8 @@ public class MerchantRdmService {
MerchantSponsorsVo vo = (MerchantSponsorsVo) redisUtil.get(key);
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vo) {
vo = merchantMongoService.getMerchantSponsorsVoBySponsorId(sponsorId);
this.setSponsorsVoBySponsorId(sponsorId, vo);
vo = merchantMongoService.getSponsorsVoBySponsorId(sponsorId);
redisUtil.set(key, vo);
}
return vo;
}
......@@ -119,6 +123,10 @@ public class MerchantRdmService {
long s = System.currentTimeMillis();
List<MerchantSponsorAppliesVo> vos = (List<MerchantSponsorAppliesVo>) redisUtil.get(key);
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
if (null == vos) {
vos = merchantMongoService.getSponsorAppliesVosByUid(uid);
redisUtil.set(key, vos);
}
return vos;
}
......
package com.liquidnet.service.merchant.service.impl;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.merchant.constant.MerchantPermissionConst;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationPermissionsVo;
import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import com.liquidnet.service.merchant.service.IMerchantAuthorizationRecordsService;
import com.liquidnet.service.merchant.service.MerchantMongoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service
public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthorizationRecordsService {
@Autowired
MerchantMongoService merchantMongoService;
@Override
public void performanceCheckerAdd(String cuid, String performanceId, String uid, boolean statistics) {
public void performanceCheckerAdd(String cuid, String performanceId, String uid, String mobile, String name, boolean statistics) {
LocalDateTime now = LocalDateTime.now();
MerchantAuthorizationRecordsVo checkerAuthorizationRecordsVo = MerchantAuthorizationRecordsVo.getNew();
checkerAuthorizationRecordsVo.setAuthorizationRecordId(IDGenerator.nextSnowId());
checkerAuthorizationRecordsVo.setPerformanceId(performanceId);
checkerAuthorizationRecordsVo.setUidRole("checker");
checkerAuthorizationRecordsVo.setUid(uid);
checkerAuthorizationRecordsVo.setMobile(mobile);
checkerAuthorizationRecordsVo.setName(name);
checkerAuthorizationRecordsVo.setCuid("cuid");
// checkerAuthorizationRecordsVo.setCuidRole("fielder");
checkerAuthorizationRecordsVo.setCreatedAt(now);
// 验票员 授权权限
String[] checkerPermissionIds = {
MerchantPermissionConst.PerformancePermission.CHECK.getId()
};
// 验票员 授权权限 entity vo
ArrayList<MerchantAuthorizationPermissionsVo> checkerAuthorizationPermissionsVos = new ArrayList<>();
for (String permissionId : checkerPermissionIds) {
MerchantAuthorizationPermissionsVo checkerAuthorizationPermissionsVo = MerchantAuthorizationPermissionsVo.getNew();
checkerAuthorizationPermissionsVo.setAuthorizationPermissionId(IDGenerator.nextSnowId());
checkerAuthorizationPermissionsVo.setAuthorizationRecordId(checkerAuthorizationRecordsVo.getAuthorizationRecordId());
checkerAuthorizationPermissionsVo.setPermissionId(permissionId);
checkerAuthorizationPermissionsVo.setStartTime(now);
checkerAuthorizationPermissionsVo.setEndTime(now.plusYears(99));
checkerAuthorizationPermissionsVo.setCreatedAt(now);
checkerAuthorizationPermissionsVos.add(checkerAuthorizationPermissionsVo);
}
checkerAuthorizationRecordsVo.setPermissionsVos(checkerAuthorizationPermissionsVos);
}
@Override
......@@ -14,7 +62,8 @@ public class MerchantAuthorizationRecordsServiceImpl implements IMerchantAuthori
}
@Override
public void performanceCheckers(String cuid, String performanceId) {
public List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId) {
List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = merchantMongoService.getCheckersAuthorizationRecordsVosByCuid(cuid, performanceId);
return authorizationRecordsVos;
}
}
......@@ -155,6 +155,11 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService {
merchantRdmService.addFieldAppliesVoByUid(uid, fieldAppliesVos, fieldAppliesVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// 申请场地 mongo
s = System.currentTimeMillis();
mongoTemplate.insert(fieldAppliesVo, MerchantFieldAppliesVo.class.getSimpleName());
log.debug("#MONGO耗时:{}ms", System.currentTimeMillis() - s);
if (null != fieldsVo) {
// 场地 sql
toMqSqls.add(SqlMapping.get("merchant_fields.update_claim_status_and_uid"));
......@@ -217,12 +222,19 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService {
fieldAppliesVo.setUpdatedAt(now);
fieldAppliesVo.setDeletedAt(now);
// 场地默认验票员 redis
// 申请场地 redis
long s = System.currentTimeMillis();
merchantRdmService.delFieldAppliesVoByUid(uid, fieldAppliesVos, fieldAppliesVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// 场地默认验票员 sql
// 申请场地 mongo
s = System.currentTimeMillis();
Query query = Query.query(Criteria.where("fieldApplyId").is(fieldAppliesVo.getFieldApplyId()));
Update update = Update.update("updatedAt", fieldAppliesVo.getUpdatedAt()).set("deletedAt", fieldAppliesVo.getDeletedAt());
mongoTemplate.updateFirst(query, update, MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
log.debug("#MONGO耗时:{}ms", System.currentTimeMillis() - s);
// 申请场地 sql
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> fieldAppliesUpdateObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("merchant_field_applies.update"));
......@@ -256,6 +268,12 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService {
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
MerchantFieldAppliesVo fieldAppliesVo = fieldAppliesVos.get(idx);
if (null != fieldAppliesVo.getFieldId() && !fieldAppliesVo.getFieldId().isEmpty()) {
MerchantFieldsVo fieldsVo = merchantRdmService.getFieldsVoByFieldId(fieldAppliesVo.getFieldId());
fieldAppliesVo.setFieldVo(fieldsVo);
}
return fieldAppliesVos.get(idx);
}
......
......@@ -26,6 +26,7 @@ import org.springframework.data.domain.Sort;
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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -144,6 +145,11 @@ public class MerchantSponsorsServiceImpl implements IMerchantSponsorsService {
merchantRdmService.addSponsorAppliesVoByUid(uid, sponsorAppliesVos, sponsorAppliesVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// 申请主办 mongo
s = System.currentTimeMillis();
mongoTemplate.insert(sponsorAppliesVo, MerchantSponsorAppliesVo.class.getSimpleName());
log.debug("#MONGO耗时:{}ms", System.currentTimeMillis() - s);
// 申请主办 sql
toMqSqls.add(SqlMapping.get("merchant_sponsor_applies.insert"));
sponsorApplyInsertObjs.add(new Object[]{
......@@ -167,7 +173,7 @@ public class MerchantSponsorsServiceImpl implements IMerchantSponsorsService {
@Override
public void applyDel(String uid, String sponsorApplyId) {
// 查找场地申请,是否存在且已经驳回
// 查找主办申请,是否存在且已经驳回
List<MerchantSponsorAppliesVo> sponsorAppliesVos = merchantRdmService.getSponsorAppliesVosByUid(uid);
if (CollectionUtils.isEmpty(sponsorAppliesVos)) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13203");
......@@ -191,12 +197,19 @@ public class MerchantSponsorsServiceImpl implements IMerchantSponsorsService {
sponsorAppliesVo.setUpdatedAt(now);
sponsorAppliesVo.setDeletedAt(now);
// 场地默认验票员 redis
// 主办申请 redis
long s = System.currentTimeMillis();
merchantRdmService.delSponsorAppliesVoByUid(uid, sponsorAppliesVos, sponsorAppliesVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// 场地默认验票员 sql
// 主办申请 mongo
s = System.currentTimeMillis();
Query query = Query.query(Criteria.where("sponsorApplyId").is(sponsorAppliesVo.getSponsorApplyId()));
Update update = Update.update("updatedAt", sponsorAppliesVo.getUpdatedAt()).set("deletedAt", sponsorAppliesVo.getDeletedAt());
mongoTemplate.updateFirst(query, update, MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
log.debug("#MONGO耗时:{}ms", System.currentTimeMillis() - s);
// 主办申请 sql
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sponsorAppliesUpdateObjs = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("merchant_sponsor_applies.update"));
......@@ -215,7 +228,7 @@ public class MerchantSponsorsServiceImpl implements IMerchantSponsorsService {
@Override
public MerchantSponsorAppliesVo applyInfo(String uid, String sponsorApplyId) {
// 查找场地申请,是否存在
// 查找主办申请,是否存在
List<MerchantSponsorAppliesVo> sponsorAppliesVos = merchantRdmService.getSponsorAppliesVosByUid(uid);
if (CollectionUtils.isEmpty(sponsorAppliesVos)) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13203");
......
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