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

Commit a90b885e authored by Tice's avatar Tice

Merge branch 'dev_merchant_tice' into dev_merchant

parents ef936c31 c56905ea
...@@ -6,9 +6,9 @@ import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo; ...@@ -6,9 +6,9 @@ import com.liquidnet.service.merchant.dto.vo.MerchantAuthorizationRecordsVo;
import java.util.List; import java.util.List;
public interface IMerchantAuthorizationRecordsService { public interface IMerchantAuthorizationRecordsService {
String performanceCheckerAdd(String cuid, MerchantAuthorizationRecordParam parameter); String performanceRecordCheckerAdd(String cuid, MerchantAuthorizationRecordParam parameter);
void performanceCheckerDel(String cuid, String authorizationRecordId); void performanceRecordCheckerDel(String cuid, String authorizationRecordId);
List<MerchantAuthorizationRecordsVo> performanceCheckers(String cuid, String performanceId); List<MerchantAuthorizationRecordsVo> performanceRecordCheckers(String cuid, String performanceId);
} }
...@@ -11,6 +11,7 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -11,6 +11,7 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
...@@ -44,15 +45,49 @@ public class MerchantMongoUtil { ...@@ -44,15 +45,49 @@ public class MerchantMongoUtil {
mongoTemplate.upsert(query, update, MerchantSponsorsVo.class, MerchantSponsorsVo.class.getSimpleName()); mongoTemplate.upsert(query, update, MerchantSponsorsVo.class, MerchantSponsorsVo.class.getSimpleName());
} }
public MerchantAuthorizationPerformanceVo getAuthorizationPerformanceVo(String performanceId, String uid) {
return mongoTemplate.findOne(Query.query(Criteria.where("performanceId").is(performanceId).and("uid").is(uid)), MerchantAuthorizationPerformanceVo.class, MerchantAuthorizationPerformanceVo.class.getSimpleName());
}
public void syncAndSetAuthorizationPerformanceVo(String performanceId, String uid) {
// 聚合角色及权限
Query recordsQuery = Query.query(Criteria.where("performanceId").is(performanceId).and("uid").is(uid).and("deletedAt").is(null));
List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = mongoTemplate.find(recordsQuery, MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
List<String> uidRoles = new ArrayList<>();
List<String> permissionIds = new ArrayList<>();
for (MerchantAuthorizationRecordsVo authorizationRecordsVo: authorizationRecordsVos) {
if (!uidRoles.contains(authorizationRecordsVo.getUidRole())) {
uidRoles.add(authorizationRecordsVo.getUidRole());
}
for (MerchantAuthorizationPermissionsVo authorizationPermissionsVo: authorizationRecordsVo.getPermissionsVos()) {
if (!permissionIds.contains(authorizationPermissionsVo.getPermissionId())) {
permissionIds.add(authorizationPermissionsVo.getPermissionId());
}
}
}
MerchantAuthorizationPerformanceVo vo = MerchantAuthorizationPerformanceVo.getNew();
vo.setUid(uid);
vo.setPerformanceId(performanceId);
vo.setUidRoles(uidRoles);
vo.setPermissionIds(permissionIds);
Query query = Query.query(Criteria.where("performanceId").is(performanceId).and("uid").is(uid));
Document document = (Document)mongoConverter.convertToMongoType(vo);
Update update = Update.fromDocument(document);
mongoTemplate.upsert(query, update, MerchantAuthorizationPerformanceVo.class, MerchantAuthorizationPerformanceVo.class.getSimpleName());
}
public List<MerchantFieldAppliesVo> getFieldAppliesVosByUid(String uid) { 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()); Query query = Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null));
return mongoTemplate.find(query, MerchantFieldAppliesVo.class, MerchantFieldAppliesVo.class.getSimpleName());
} }
public List<MerchantSponsorAppliesVo> getSponsorAppliesVosByUid(String uid) { 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()); Query query = Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null));
return mongoTemplate.find(query, MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
} }
public List<MerchantAuthorizationRecordsVo> getAuthorizationRecordsCheckersVosByCuid(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()); Query query = Query.query(Criteria.where("uidRole").is(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole()).and("cuid").is(cuid).and("performanceId").is(performanceId).and("deletedAt").is(null));
return mongoTemplate.find(query, MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
} }
} }
...@@ -42,7 +42,7 @@ public class MerchantAuthorizationsController { ...@@ -42,7 +42,7 @@ public class MerchantAuthorizationsController {
public ResponseDto<List<MerchantAuthorizationRecordsVo>> recordsCheckers(@RequestParam(required = true) String performanceId) { public ResponseDto<List<MerchantAuthorizationRecordsVo>> recordsCheckers(@RequestParam(required = true) String performanceId) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
return ResponseDto.success(authorizationRecordsService.performanceCheckers(currentUid, performanceId)); return ResponseDto.success(authorizationRecordsService.performanceRecordCheckers(currentUid, performanceId));
} }
@ApiOperationSupport(order = 11) @ApiOperationSupport(order = 11)
...@@ -51,7 +51,7 @@ public class MerchantAuthorizationsController { ...@@ -51,7 +51,7 @@ public class MerchantAuthorizationsController {
public ResponseDto<Object> recordsCheckerAdd(@Valid @RequestBody MerchantAuthorizationRecordParam parameter) { public ResponseDto<Object> recordsCheckerAdd(@Valid @RequestBody MerchantAuthorizationRecordParam parameter) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
authorizationRecordsService.performanceCheckerAdd(currentUid, parameter); authorizationRecordsService.performanceRecordCheckerAdd(currentUid, parameter);
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -62,7 +62,7 @@ public class MerchantAuthorizationsController { ...@@ -62,7 +62,7 @@ public class MerchantAuthorizationsController {
public ResponseDto<Object> recordsCheckerDel(@RequestParam(required = true) String authorizationRecordId) { public ResponseDto<Object> recordsCheckerDel(@RequestParam(required = true) String authorizationRecordId) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
authorizationRecordsService.performanceCheckerDel(currentUid, authorizationRecordId); authorizationRecordsService.performanceRecordCheckerDel(currentUid, authorizationRecordId);
return ResponseDto.success(); return ResponseDto.success();
} }
......
...@@ -2,18 +2,26 @@ package com.liquidnet.service.merchant.service; ...@@ -2,18 +2,26 @@ package com.liquidnet.service.merchant.service;
import com.liquidnet.service.merchant.constant.MerchantAuthorizationConst; import com.liquidnet.service.merchant.constant.MerchantAuthorizationConst;
import com.liquidnet.service.merchant.dto.vo.*; import com.liquidnet.service.merchant.dto.vo.*;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
public class MerchantMongoService { public class MerchantMongoService {
@Autowired @Autowired
private MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired
MongoConverter mongoConverter;
public MerchantFieldsVo getFieldsVoByFieldId(String fieldId) { public MerchantFieldsVo getFieldsVoByFieldId(String fieldId) {
return mongoTemplate.findOne(Query.query(Criteria.where("fieldId").is(fieldId)), MerchantFieldsVo.class, MerchantFieldsVo.class.getSimpleName()); return mongoTemplate.findOne(Query.query(Criteria.where("fieldId").is(fieldId)), MerchantFieldsVo.class, MerchantFieldsVo.class.getSimpleName());
...@@ -27,6 +35,37 @@ public class MerchantMongoService { ...@@ -27,6 +35,37 @@ public class MerchantMongoService {
return mongoTemplate.findOne(Query.query(Criteria.where("sponsorId").is(sponsorId)), MerchantSponsorsVo.class, MerchantSponsorsVo.class.getSimpleName()); return mongoTemplate.findOne(Query.query(Criteria.where("sponsorId").is(sponsorId)), MerchantSponsorsVo.class, MerchantSponsorsVo.class.getSimpleName());
} }
public MerchantAuthorizationPerformanceVo getAuthorizationPerformanceVo(String performanceId, String uid) {
return mongoTemplate.findOne(Query.query(Criteria.where("performanceId").is(performanceId).and("uid").is(uid)), MerchantAuthorizationPerformanceVo.class, MerchantAuthorizationPerformanceVo.class.getSimpleName());
}
public void syncAndSetAuthorizationPerformanceVo(String performanceId, String uid) {
// 聚合角色及权限
Query recordsQuery = Query.query(Criteria.where("performanceId").is(performanceId).and("uid").is(uid).and("deletedAt").is(null));
List<MerchantAuthorizationRecordsVo> authorizationRecordsVos = mongoTemplate.find(recordsQuery, MerchantAuthorizationRecordsVo.class, MerchantAuthorizationRecordsVo.class.getSimpleName());
List<String> uidRoles = new ArrayList<>();
List<String> permissionIds = new ArrayList<>();
for (MerchantAuthorizationRecordsVo authorizationRecordsVo: authorizationRecordsVos) {
if (!uidRoles.contains(authorizationRecordsVo.getUidRole())) {
uidRoles.add(authorizationRecordsVo.getUidRole());
}
for (MerchantAuthorizationPermissionsVo authorizationPermissionsVo: authorizationRecordsVo.getPermissionsVos()) {
if (!permissionIds.contains(authorizationPermissionsVo.getPermissionId())) {
permissionIds.add(authorizationPermissionsVo.getPermissionId());
}
}
}
MerchantAuthorizationPerformanceVo vo = MerchantAuthorizationPerformanceVo.getNew();
vo.setUid(uid);
vo.setPerformanceId(performanceId);
vo.setUidRoles(uidRoles);
vo.setPermissionIds(permissionIds);
Query query = Query.query(Criteria.where("performanceId").is(performanceId).and("uid").is(uid));
Document document = (Document)mongoConverter.convertToMongoType(vo);
Update update = Update.fromDocument(document);
mongoTemplate.upsert(query, update, MerchantAuthorizationPerformanceVo.class, MerchantAuthorizationPerformanceVo.class.getSimpleName());
}
public List<MerchantSponsorAppliesVo> getSponsorAppliesVosByUid(String uid) { 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()); return mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("deletedAt").is(null)), MerchantSponsorAppliesVo.class, MerchantSponsorAppliesVo.class.getSimpleName());
} }
......
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