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

Commit 811f0db2 authored by 胡佳晨's avatar 胡佳晨

commit

parent 166b1f62
package com.liquidnet.service.platform.service.impl.kylin;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.merchant.entity.MerchantAuthorizationPermissions;
import com.liquidnet.service.merchant.entity.MerchantAuthorizationRecords;
import com.liquidnet.service.merchant.mapper.MerchantAuthorizationPermissionsMapper;
import com.liquidnet.service.merchant.mapper.MerchantAuthorizationRecordsMapper;
import org.springframework.stereotype.Service;
@Service
public class DMTAuthorizationPermissionService extends ServiceImpl<MerchantAuthorizationPermissionsMapper, MerchantAuthorizationPermissions> {
}
package com.liquidnet.service.platform.service.impl.kylin;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.adam.entity.AdamUser;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.merchant.entity.MerchantAuthorizationRecords;
import com.liquidnet.service.merchant.mapper.MerchantAuthorizationRecordsMapper;
import org.springframework.stereotype.Service;
@Service
public class DMTAuthorizationRecordsService extends ServiceImpl<MerchantAuthorizationRecordsMapper, MerchantAuthorizationRecords> {
}
package com.liquidnet.service.platform.service.impl.kylin;
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.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
......@@ -19,10 +16,7 @@ import com.liquidnet.service.merchant.constant.MerchantRedisConst;
import com.liquidnet.service.merchant.dto.param.MerchantAuthorizationPermissionParam;
import com.liquidnet.service.merchant.dto.vo.*;
import com.liquidnet.service.merchant.entity.*;
import com.liquidnet.service.merchant.mapper.MerchantFieldAppliesMapper;
import com.liquidnet.service.merchant.mapper.MerchantFieldsMapper;
import com.liquidnet.service.merchant.mapper.MerchantSponsorAppliesMapper;
import com.liquidnet.service.merchant.mapper.MerchantSponsorsMapper;
import com.liquidnet.service.merchant.mapper.*;
import com.liquidnet.service.platform.utils.ObjectUtil;
import com.mongodb.BasicDBObject;
import com.mysql.cj.jdbc.result.ResultSetImpl;
......@@ -45,7 +39,6 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
......@@ -61,8 +54,6 @@ public class DataImpl {
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
@Autowired
AdamUserMapper userMapper;
@Autowired
MerchantFieldsMapper merchantFieldsMapper;
@Autowired
MerchantFieldAppliesMapper merchantFieldAppliesMapper;
......@@ -72,6 +63,11 @@ public class DataImpl {
MerchantSponsorAppliesMapper merchantSponsorAppliesMapper;
@Autowired
KylinPerformanceRelationsMapper kylinPerformanceRelationsMapper;
@Autowired
DMTAuthorizationPermissionService dmtAuthorizationPermissionService;
@Autowired
DMTAuthorizationRecordsService dmtAuthorizationRecordsService;
private static final String SQL_URL = "jdbc:mysql://39.107.71.112:3308/dev_ln_scene";
......@@ -114,7 +110,8 @@ public class DataImpl {
" mmd.legal_person,\n" +
" mmd.identity_card,\n" +
" mmd.identity_card_img_front,\n" +
" mmd.identity_card_img_back\n" +
" mmd.identity_card_img_back,\n" +
" kpr.performance_id\n" +
"from kylin_performances as kp\n" +
" inner join kylin_performance_relations as kpr on kpr.performance_id = kp.performances_id\n" +
" inner join " + PHP_DB + ".fields as mf on mf.id = kpr.field_id\n" +
......@@ -211,6 +208,10 @@ public class DataImpl {
merchantFieldAppliesMapper.insert(applies);
//OTHER
judgeFields(fields.getFieldId(), fields.getUid(), appliesVo, vo);
//场地权限
if(!fields.getUid().equals("")){
initPermission("field",null,row.getString("performance_id"),fields.getUid(),null,null,null);
}
}
row.close();
preparedStatement.close();
......@@ -406,19 +407,55 @@ public class DataImpl {
redisDataSourceUtil.getRedisKylinUtil().set(MerchantRedisConst.INFO_FIELD.concat(fieldId), vo);
}
private List<MerchantAuthorizationPermissionParam> initPermission(String type) {
private void initPermission(String type, String cuid, String performanceId, String fieldOwnId, String checkName, String checkId, String checkMobile) {
LocalDateTime now = LocalDateTime.now();
MerchantAuthorizationRecords records = new MerchantAuthorizationRecords();
switch (type) {
case "sponsor":
records.setAuthorizationRecordId(IDGenerator.nextSnowId());
records.setPerformanceId(performanceId);
records.setUidRole(MerchantAuthorizationConst.PerformanceRole.CREATOR.getRole());
records.setUid(cuid);
records.setMobile("");
records.setName("");
records.setCuid("");
records.setCuidRole("");
records.setCreatedAt(now);
break;
case "field":
records.setAuthorizationRecordId(IDGenerator.nextSnowId());
records.setPerformanceId(performanceId);
records.setUidRole(MerchantAuthorizationConst.PerformanceRole.FIELDER.getRole());
records.setUid(fieldOwnId);
records.setMobile("");
records.setName("");
records.setCuid("");
records.setCuidRole("");
records.setCreatedAt(now);
break;
case "check":
records.setAuthorizationRecordId(IDGenerator.nextSnowId());
records.setPerformanceId(performanceId);
records.setUidRole(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole());
records.setUid(checkId);
records.setMobile(checkMobile);
records.setName(checkName);
records.setCuid(fieldOwnId);
records.setCuidRole(MerchantAuthorizationConst.PerformanceRole.FIELDER.getRole());
records.setCreatedAt(now);
break;
}
List<MerchantAuthorizationPermissionParam> checkPermissionParam = new ArrayList();
MerchantAuthorizationPermissionParam paramCheck = MerchantAuthorizationPermissionParam.getNew();
paramCheck.setPermissionId(MerchantAuthorizationConst.PerformancePermission.CHECK.getId());
MerchantAuthorizationPermissionParam paramSales = MerchantAuthorizationPermissionParam.getNew();
paramSales.setPermissionId(MerchantAuthorizationConst.PerformancePermission.SALES.getId());
paramSales.setStartTime(DateUtil.getNowTime());
paramSales.setEndTime("2022-10-01 00:00:00");
MerchantAuthorizationPermissionParam paramGrant = MerchantAuthorizationPermissionParam.getNew();
paramGrant.setPermissionId(MerchantAuthorizationConst.PerformancePermission.GRANT.getId());
MerchantAuthorizationPermissionParam paramRead = MerchantAuthorizationPermissionParam.getNew();
paramRead.setPermissionId(MerchantAuthorizationConst.PerformancePermission.READ.getId());
MerchantAuthorizationPermissionParam paramEdit = MerchantAuthorizationPermissionParam.getNew();
paramRead.setPermissionId(MerchantAuthorizationConst.PerformancePermission.EDIT.getId());
MerchantAuthorizationPermissionParam paramLine = MerchantAuthorizationPermissionParam.getNew();
......@@ -446,49 +483,63 @@ public class DataImpl {
checkPermissionParam.add(paramSales);
break;
}
return checkPermissionParam;
List<MerchantAuthorizationPermissions> authorizationPermissionsArrayList = new ArrayList<>();
List<MerchantAuthorizationPermissionsVo> sponsorAuthorizationPermissionsVos = new ArrayList<>();
for (MerchantAuthorizationPermissionParam item : checkPermissionParam) {
MerchantAuthorizationPermissions sponsorAuthorizationPermissions = new MerchantAuthorizationPermissions();
sponsorAuthorizationPermissions.setAuthorizationPermissionId(IDGenerator.nextSnowId());
sponsorAuthorizationPermissions.setAuthorizationRecordId(records.getAuthorizationRecordId());
sponsorAuthorizationPermissions.setPermissionId(item.getPermissionId());
sponsorAuthorizationPermissions.setStartTime(now);
sponsorAuthorizationPermissions.setEndTime(now.plusYears(10));
sponsorAuthorizationPermissions.setCreatedAt(now);
authorizationPermissionsArrayList.add(sponsorAuthorizationPermissions);
MerchantAuthorizationPermissionsVo sponsorAuthorizationPermissionsVo = MerchantAuthorizationPermissionsVo.getNew();
sponsorAuthorizationPermissionsVo.copy(sponsorAuthorizationPermissions);
sponsorAuthorizationPermissionsVos.add(sponsorAuthorizationPermissionsVo);
}
// 授权记录 vo
MerchantAuthorizationRecordsVo authorizationRecordsVo = MerchantAuthorizationRecordsVo.getNew();
authorizationRecordsVo.copy(records);
authorizationRecordsVo.setPermissionsVos(sponsorAuthorizationPermissionsVos);
// mysql
dmtAuthorizationRecordsService.save(records);
dmtAuthorizationPermissionService.saveBatch(authorizationPermissionsArrayList);
// mongo
mongoTemplate.insert(authorizationRecordsVo, MerchantAuthorizationRecordsVo.class.getSimpleName());
// updated uid
getAndSyncAuthorizationPerformanceVo(performanceId,authorizationRecordsVo.getUid());
}
// 添加权限
private List<MerchantAuthorizationRecords> initRecords(String type,String cuid,String performanceId,String fieldOwnId,String checkName,String checkId,String checkMobile){
LocalDateTime now = LocalDateTime.now();
List<MerchantAuthorizationRecords> authorizationRecordsArrayList = new ArrayList<>();
MerchantAuthorizationRecords authorizationRecords = new MerchantAuthorizationRecords();
switch (type) {
case "sponsor":
authorizationRecords.setAuthorizationRecordId(IDGenerator.nextSnowId());
authorizationRecords.setPerformanceId(performanceId);
authorizationRecords.setUidRole(MerchantAuthorizationConst.PerformanceRole.CREATOR.getRole());
authorizationRecords.setUid(cuid);
authorizationRecords.setMobile("");
authorizationRecords.setName("");
authorizationRecords.setCuid("");
authorizationRecords.setCuidRole("");
authorizationRecords.setCreatedAt(now);
break;
case "field":
authorizationRecords.setAuthorizationRecordId(IDGenerator.nextSnowId());
authorizationRecords.setPerformanceId(performanceId);
authorizationRecords.setUidRole(MerchantAuthorizationConst.PerformanceRole.FIELDER.getRole());
authorizationRecords.setUid(fieldOwnId);
authorizationRecords.setMobile("");
authorizationRecords.setName("");
authorizationRecords.setCuid("");
authorizationRecords.setCuidRole("");
authorizationRecords.setCreatedAt(now);
break;
case "check":
authorizationRecords.setAuthorizationRecordId(IDGenerator.nextSnowId());
authorizationRecords.setPerformanceId(performanceId);
authorizationRecords.setUidRole(MerchantAuthorizationConst.PerformanceRole.CHECKER.getRole());
authorizationRecords.setUid(checkId);
authorizationRecords.setMobile(checkMobile);
authorizationRecords.setName(checkName);
authorizationRecords.setCuid(fieldOwnId);
authorizationRecords.setCuidRole(MerchantAuthorizationConst.PerformanceRole.FIELDER.getRole());
authorizationRecords.setCreatedAt(now);
break;
public MerchantAuthorizationPerformanceVo getAndSyncAuthorizationPerformanceVo(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());
}
}
}
authorizationRecordsArrayList.add(authorizationRecords);
return authorizationRecordsArrayList;
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());
return vo;
}
}
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