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

Commit 28708ec6 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev' into test

parents c7a64b92 feb94f98
...@@ -16,6 +16,7 @@ public class AdamRedisConst { ...@@ -16,6 +16,7 @@ public class AdamRedisConst {
public static final String INFO_THIRD_PARTY = INFO.concat("third_party:"); public static final String INFO_THIRD_PARTY = INFO.concat("third_party:");
public static final String INFO_ENTERS = INFO.concat("enters:"); public static final String INFO_ENTERS = INFO.concat("enters:");
public static final String INFO_ADDRESSES = INFO.concat("addresses:"); public static final String INFO_ADDRESSES = INFO.concat("addresses:");
public static final String INFO_CERTIFICATION = INFO.concat("certification:");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("member:simple"); public static final String INFO_MEMBER_SIMPLE = INFO.concat("member:simple");
public static final String INFO_MEMBER_CATEGORY = INFO.concat("member:category:"); public static final String INFO_MEMBER_CATEGORY = INFO.concat("member:category:");
......
...@@ -28,7 +28,9 @@ public interface IAdamRdmService { ...@@ -28,7 +28,9 @@ public interface IAdamRdmService {
AdamRealInfoVo getRealInfoVoByUid(String uid); AdamRealInfoVo getRealInfoVoByUid(String uid);
void delRealInfoVoByUid(String uid); boolean setCertification(int idType, String idNo, String idName);
boolean isCertification(int idType, String idNo, String idName);
boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList); boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList);
......
...@@ -184,7 +184,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -184,7 +184,7 @@ public class KylinOrderRefundAdminController extends BaseController {
} }
} }
// 主动完成退款 // 主动完成退款 没有批量
@RequiresPermissions("kylin:refund:completed") @RequiresPermissions("kylin:refund:completed")
@PostMapping("completed") @PostMapping("completed")
@ResponseBody @ResponseBody
......
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
<div class="form-group"> <div class="form-group">
<label class="font-noraml">请上传封面图</label> <label class="font-noraml">请上传封面图</label>
<div class="file-loading"> <div class="file-loading">
<input id="fileinput-demo-1" type="file" name="coverImgFile"> <input id="fileinput-demo-1" type="file" name="coverImgFile" data-browse-on-zone-click="true" data-msg-placeholder="Select {files} for upload...">
</div> </div>
</div> </div>
<input hidden id="coverImg" name="coverImg"> <input hidden id="coverImg" name="coverImg">
...@@ -356,8 +356,11 @@ ...@@ -356,8 +356,11 @@
$("#fileinput-demo-1").fileinput({ $("#fileinput-demo-1").fileinput({
'theme': 'explorer-fas', 'theme': 'explorer-fas',
'uploadUrl': "/kylin/banners/upload3", 'uploadUrl': "/kylin/banners/upload3",
overwriteInitial: false, // overwriteInitial: false,
initialPreviewAsData: true, // initialPreviewAsData: true,
autoReplace: true,
dropZoneTitle: "请上传文件",
maxFileCount: 1
}); });
$("#fileinput-demo-1").on("fileuploaded", function(event, data, previewId, index) { $("#fileinput-demo-1").on("fileuploaded", function(event, data, previewId, index) {
$("#coverImg").val(data.response.uploadpath) $("#coverImg").val(data.response.uploadpath)
......
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
var executeFlag = [[${@permission.hasPermi('kylin:refund:execute')}]]; var executeFlag = [[${@permission.hasPermi('kylin:refund:execute')}]];
var cancelFlag = [[${@permission.hasPermi('kylin:refund:cancel')}]]; var cancelFlag = [[${@permission.hasPermi('kylin:refund:cancel')}]];
var reapplyFlag = [[${@permission.hasPermi('kylin:refund:reapply')}]]; var reapplyFlag = [[${@permission.hasPermi('kylin:refund:reapply')}]];
var completedFlag = [[${@permission.hasPermi('kylin:refund:completed')}]];
var prefix = ctx + "kylin/refund"; var prefix = ctx + "kylin/refund";
...@@ -189,6 +190,7 @@ ...@@ -189,6 +190,7 @@
detailUrl: prefix + "/details/{id}", detailUrl: prefix + "/details/{id}",
cancelUrl: prefix + "/cancel", cancelUrl: prefix + "/cancel",
reapplyUrl: prefix + "/reapply", reapplyUrl: prefix + "/reapply",
completedUrl: prefix + "/completed",
modalName: "-订单退款", modalName: "-订单退款",
columns: [{ columns: [{
checkbox: true checkbox: true
...@@ -236,6 +238,7 @@ ...@@ -236,6 +238,7 @@
actions.push('<a class="btn btn-primary btn-xs ' + executeFlag + '" href="javascript:void(0)" onclick="execute(\'' + row.orderRefundsId + '\')"></i>二审</a> '); actions.push('<a class="btn btn-primary btn-xs ' + executeFlag + '" href="javascript:void(0)" onclick="execute(\'' + row.orderRefundsId + '\')"></i>二审</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定取消退款申请吗?\', table.options.cancelUrl)"></i>取消</a> '); actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定取消退款申请吗?\', table.options.cancelUrl)"></i>取消</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + reapplyFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定重新提交退款审核吗?\', table.options.reapplyUrl)"></i>重新提交</a> '); actions.push('<a class="btn btn-warning btn-xs ' + reapplyFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定重新提交退款审核吗?\', table.options.reapplyUrl)"></i>重新提交</a> ');
actions.push('<a class="btn btn-warning btn-xs ' + completedFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderRefundsId + '\', \'确定主动完成退款吗?\', table.options.completedUrl)"></i>主动完成退款</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
......
...@@ -7,6 +7,7 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils; ...@@ -7,6 +7,7 @@ import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.common.utils.StringUtils; import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils; import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.MongoVoUtils; import com.liquidnet.client.admin.zhengzai.kylin.utils.MongoVoUtils;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.HttpUtil; import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
...@@ -20,11 +21,13 @@ import com.liquidnet.service.kylin.mapper.*; ...@@ -20,11 +21,13 @@ import com.liquidnet.service.kylin.mapper.*;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
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.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -33,6 +36,7 @@ import org.springframework.util.MultiValueMap; ...@@ -33,6 +36,7 @@ import org.springframework.util.MultiValueMap;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -74,6 +78,9 @@ public class KylinRefundsStatusServiceImpl { ...@@ -74,6 +78,9 @@ public class KylinRefundsStatusServiceImpl {
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired @Autowired
private DataUtils dataUtils; private DataUtils dataUtils;
...@@ -409,14 +416,12 @@ public class KylinRefundsStatusServiceImpl { ...@@ -409,14 +416,12 @@ public class KylinRefundsStatusServiceImpl {
double onePrice = (priceActual - priceExpress) / allEntitiesCount;//单价 double onePrice = (priceActual - priceExpress) / allEntitiesCount;//单价
int refundNumber = 0; int refundNumber = 0;
for (String entitiesId : orderTicketEntitiesIdsArr) { for (String entitiesId : orderTicketEntitiesIdsArr) {
Double refundedPrice = kylinOrderTicketEntitiesMapper.getRefundOverEntitiesPrice(//已退完成的 KylinOrderTicketEntities EntitiesInfo = kylinOrderTicketEntitiesMapper.selectOne(//已退完成的
orderTicketsId, new QueryWrapper<KylinOrderTicketEntities>()
KylinTableStatusConst.ORDER_REFUND_STATUS_REFUNDED, .eq("order_ticket_entities_id", entitiesId)
entitiesId
); );
if (null == refundedPrice) { BigDecimal refundedPrice = EntitiesInfo.getRefundPrice();
refundedPrice = 0.0;
}
KylinOrderRefundEntities refundEntitiesInfo = kylinOrderRefundsEntitiesMapper.selectOne( KylinOrderRefundEntities refundEntitiesInfo = kylinOrderRefundsEntitiesMapper.selectOne(
new QueryWrapper<KylinOrderRefundEntities>() new QueryWrapper<KylinOrderRefundEntities>()
.eq("order_refunds_id", refundInfo.getOrderRefundsId()) .eq("order_refunds_id", refundInfo.getOrderRefundsId())
...@@ -425,32 +430,30 @@ public class KylinRefundsStatusServiceImpl { ...@@ -425,32 +430,30 @@ public class KylinRefundsStatusServiceImpl {
KylinOrderTicketEntities entitiesTable = new KylinOrderTicketEntities(); KylinOrderTicketEntities entitiesTable = new KylinOrderTicketEntities();
double priceNew = refundEntitiesInfo.getRefundPrice().doubleValue() + refundedPrice.doubleValue(); double priceNew = refundEntitiesInfo.getRefundPrice().doubleValue() + refundedPrice.doubleValue();
int isPayment = 0;
if (priceNew == onePrice) { if (priceNew == onePrice) {
entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT3); isPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT3;
refundNumber ++; refundNumber++;
} else { } else {
entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT4); isPayment = KylinTableStatusConst.ENTITIES_IS_PAYMENT4;
} }
entitiesTable.setIsPayment(isPayment);
entitiesTable.setUpdatedAt(LocalDateTime.now()); entitiesTable.setUpdatedAt(LocalDateTime.now());
entitiesTable.setRefundPrice(BigDecimal.valueOf(priceNew)); entitiesTable.setRefundPrice(BigDecimal.valueOf(priceNew));
Integer[] entitiesTableIsPayment = {KylinTableStatusConst.ENTITIES_IS_PAYMENT2, KylinTableStatusConst.ENTITIES_IS_PAYMENT4};
kylinOrderTicketEntitiesMapper.update(entitiesTable, new UpdateWrapper<KylinOrderTicketEntities>() kylinOrderTicketEntitiesMapper.update(entitiesTable, new UpdateWrapper<KylinOrderTicketEntities>()
.eq("order_ticket_entities_id", entitiesId) .eq("order_ticket_entities_id", entitiesId)
.eq("is_payment", KylinTableStatusConst.ENTITIES_IS_PAYMENT2) .in("is_payment", entitiesTableIsPayment)
); );
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = new KylinOrderTicketEntitiesVo(); HashMap<String, Object> EntitiesVo = new HashMap<>();
if (priceNew == onePrice) { EntitiesVo.put("updatedAt", DateUtil.getNowTime());
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT3); EntitiesVo.put("refundPrice", BigDecimal.valueOf(priceNew));
} else { EntitiesVo.put("isPayment", isPayment);
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT4); BasicDBObject EntitiesVov = new BasicDBObject("$set", mongoConverter.convertToMongoType(EntitiesVo));
} UpdateResult updateResult = mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
kylinOrderTicketEntitiesVo.setUpdatedAt(LocalDateTime.now().toString());
kylinOrderTicketEntitiesVo.setRefundPrice(BigDecimal.valueOf(priceNew));
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
Document entitiesDoc = mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("orderTicketEntitiesId").is(entitiesId)).getQueryObject(), Query.query(Criteria.where("orderTicketEntitiesId").is(entitiesId)).getQueryObject(),
entitiesObject, EntitiesVov
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
dataUtils.delOrderTicketEntitiesRedis(entitiesId); dataUtils.delOrderTicketEntitiesRedis(entitiesId);
...@@ -468,17 +471,15 @@ public class KylinRefundsStatusServiceImpl { ...@@ -468,17 +471,15 @@ public class KylinRefundsStatusServiceImpl {
.eq("order_tickets_id", orderTicketsId) .eq("order_tickets_id", orderTicketsId)
); );
KylinOrderTicketVo kylinOrderTicketVoOrder = new KylinOrderTicketVo(); HashMap<String, Object> orderVo = new HashMap<>();
kylinOrderTicketVoOrder.setStatus(newStatus); orderVo.put("updatedAt", DateUtil.getNowTime());
kylinOrderTicketVoOrder.setRefundNumber(num); orderVo.put("priceRefund", BigDecimal.valueOf(price));
kylinOrderTicketVoOrder.setUpdatedAt(LocalDateTime.now().toString()); orderVo.put("status", newStatus);
// TODO: 2021/6/16 error orderVo.put("refundNumber", num);
// kylinOrderTicketVoOrder.setPriceRefund(BigDecimal.valueOf(price)); BasicDBObject orderVov = new BasicDBObject("$set", mongoConverter.convertToMongoType(orderVo));
BasicDBObject orderEntitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVoOrder))); UpdateResult orderUpdateResult = mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Document docOrder = mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(), Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(),
orderEntitiesObject, orderVov
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
dataUtils.delOrderTicketRedis(orderTicketsId); dataUtils.delOrderTicketRedis(orderTicketsId);
mongoVoUtils.resetOrderListVo(orderInfo.getUserId(), 2, orderTicketsId,null); mongoVoUtils.resetOrderListVo(orderInfo.getUserId(), 2, orderTicketsId,null);
...@@ -490,7 +491,6 @@ public class KylinRefundsStatusServiceImpl { ...@@ -490,7 +491,6 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefunds.setRefundType(refundCallbackParam.getRefund_type()); kylinOrderRefunds.setRefundType(refundCallbackParam.getRefund_type());
kylinOrderRefunds.setRefundId(refundCallbackParam.getRefund_id()); kylinOrderRefunds.setRefundId(refundCallbackParam.getRefund_id());
kylinOrderRefunds.setRefundAt(refundCallbackParam.getRefund_at()); kylinOrderRefunds.setRefundAt(refundCallbackParam.getRefund_at());
kylinOrderRefunds.setRefundError(refundCallbackParam.getRefund_error());
kylinOrderRefunds.setUpdatedAt(LocalDateTime.now()); kylinOrderRefunds.setUpdatedAt(LocalDateTime.now());
kylinOrderRefundsMapper.update( kylinOrderRefundsMapper.update(
kylinOrderRefunds, kylinOrderRefunds,
......
...@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping; ...@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.DeleteResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
...@@ -184,25 +185,21 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -184,25 +185,21 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// removeVo.setDeletedAt(now); // removeVo.setDeletedAt(now);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate( DeleteResult deleteResult = mongoTemplate.remove(
Query.query(Criteria.where("addressesId").is(addressesId)).getQueryObject(), Query.query(Criteria.where("addressesId").is(addressesId)), AdamAddressesVo.class.getSimpleName()
new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid); vos.removeIf(r -> r.getAddressesId().equals(addressesId));
vos.removeIf(r -> r.getAddressesId().equals(addressesId)); s = System.currentTimeMillis();
s = System.currentTimeMillis(); adamRdmService.setAddressesVoByUid(uid, vos);
adamRdmService.setAddressesVoByUid(uid, vos); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis(); s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.remove", now, now, addressesId) SqlMapping.get("adam_addresses.remove", now, now, addressesId)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
} }
@Override @Override
......
...@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping; ...@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.DeleteResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.bson.Document; import org.bson.Document;
...@@ -19,12 +20,9 @@ import org.springframework.beans.BeanUtils; ...@@ -19,12 +20,9 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
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.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
...@@ -65,26 +63,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -65,26 +63,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if (1 == parameter.getType()) { if (1 == parameter.getType()) {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
paramsMap.add("realName", parameter.getName()); identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
paramsMap.add("cardNo", parameter.getIdCard());
String respStr = null;
try {
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", currentUid, parameter.getName(), parameter.getIdCard(), respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", currentUid, parameter.getName(), parameter.getIdCard(), respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
} }
} }
...@@ -105,6 +85,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -105,6 +85,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
s = System.currentTimeMillis(); s = System.currentTimeMillis();
adamRdmService.delEntersVoByUid(currentUid); adamRdmService.delEntersVoByUid(currentUid);
if (1 == parameter.getType()) {
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis(); s = System.currentTimeMillis();
...@@ -178,9 +161,18 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -178,9 +161,18 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
} }
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamEntersParam parameter) { public void edit(AdamEntersParam parameter) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String currentUid = CurrentUtil.getCurrentUid();
if (1 == parameter.getType()) {
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
}
}
AdamEntersVo updateVo = AdamEntersVo.getNew(); AdamEntersVo updateVo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, updateVo); BeanUtils.copyProperties(parameter, updateVo);
...@@ -194,10 +186,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -194,10 +186,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if (null != doc) { if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamEntersVo.class); updateVo = BsonUtil.toBean(doc, AdamEntersVo.class);
String currentUid = CurrentUtil.getCurrentUid();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid); List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
s = System.currentTimeMillis(); s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo)); adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo));
if (1 == parameter.getType()) {
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis(); s = System.currentTimeMillis();
...@@ -211,36 +205,25 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -211,36 +205,25 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
} }
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String entersId) { public void remove(String uid, String entersId) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// AdamEntersVo removeVo = AdamEntersVo.getNew();
// removeVo.setState(2);
// removeVo.setIsDefault(false);
// removeVo.setUpdatedAt(now);
// removeVo.setDeletedAt(now);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate( DeleteResult deleteResult = mongoTemplate.remove(
Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(), Query.query(Criteria.where("entersId").is(entersId)), AdamEntersVo.class.getSimpleName()
new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid); vos.removeIf(r -> r.getEntersId().equals(entersId));
vos.removeIf(r -> r.getEntersId().equals(entersId)); s = System.currentTimeMillis();
s = System.currentTimeMillis(); adamRdmService.setEntersVoByUid(uid, vos);
adamRdmService.setEntersVoByUid(uid, vos); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis(); s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.remove", now, now, entersId) SqlMapping.get("adam_enters.remove", now, now, entersId)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
}
} }
@Override @Override
...@@ -286,4 +269,28 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -286,4 +269,28 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s); log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
return vos; return vos;
} }
private void identityHandler(String currentUid, String name, String idCard) {
String respStr = null;
try {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("realName", name);
paramsMap.add("cardNo", idCard);
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", currentUid, name, idCard, respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", currentUid, name, idCard, respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
} }
...@@ -143,8 +143,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -143,8 +143,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
} }
@Override @Override
public void delRealInfoVoByUid(String uid) { public boolean setCertification(int idType, String idNo, String idName) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid)); return redisUtil.set(AdamRedisConst.INFO_CERTIFICATION + idType + idNo, idName);
}
@Override
public boolean isCertification(int idType, String idNo, String idName) {
String o = (String) redisUtil.get(AdamRedisConst.INFO_CERTIFICATION + idType + idNo);
return !StringUtils.isEmpty(o) && o.equals(idName);
} }
@Override @Override
......
...@@ -366,26 +366,27 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -366,26 +366,27 @@ public class AdamUserServiceImpl implements IAdamUserService {
if (RedisLockUtil.tryLock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid, 1, 3)) { if (RedisLockUtil.tryLock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid, 1, 3)) {
vo = adamRdmService.getRealInfoVoByUid(uid); vo = adamRdmService.getRealInfoVoByUid(uid);
if (null == vo) { if (null == vo) {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); if (!adamRdmService.isCertification(1, idCard, name)) {
paramsMap.add("realName", name); String respStr = null;
paramsMap.add("cardNo", idCard); try {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
String respStr = null; paramsMap.add("realName", name);
try { paramsMap.add("cardNo", idCard);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap); respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s); log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr); log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class); Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) { if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr); log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102"); ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage()); throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
} }
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
} }
AdamRealName realName = new AdamRealName(); AdamRealName realName = new AdamRealName();
...@@ -407,6 +408,7 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -407,6 +408,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setRealInfoVoByUid(uid, vo); adamRdmService.setRealInfoVoByUid(uid, vo);
adamRdmService.setCertification(1, idCard, name);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
} }
RedisLockUtil.unlock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid); RedisLockUtil.unlock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid);
......
...@@ -17,6 +17,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam; ...@@ -17,6 +17,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo; import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.KylinFieldsVo;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo; import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.dto.vo.partner.*; import com.liquidnet.service.kylin.dto.vo.partner.*;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
...@@ -25,6 +26,8 @@ import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerServ ...@@ -25,6 +26,8 @@ import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerServ
import com.liquidnet.service.kylin.timerTask.PerformanceVoTask; import com.liquidnet.service.kylin.timerTask.PerformanceVoTask;
import com.liquidnet.service.kylin.utils.DataUtils; import com.liquidnet.service.kylin.utils.DataUtils;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -479,6 +482,14 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -479,6 +482,14 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
ticketStatusUpdate.setUpdatedAt(updatedAt); ticketStatusUpdate.setUpdatedAt(updatedAt);
ticketStatusMapper.update(ticketStatusUpdate ticketStatusMapper.update(ticketStatusUpdate
, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()).eq("status", 7)); , new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()).eq("status", 7));
HashMap<String,Object> map = new HashMap<>();
map.put("status",9);
map.put("updatedAt",updatedAt);
mongoTemplate.getCollection(KylinTicketTimesPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketRelationsItem.getTicketId()).and("status").ne(7)).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
);
} }
} }
// 判断状态 // 判断状态
......
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