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

Commit 1869a590 authored by 张国柄's avatar 张国柄

Merge branch 'dev' into test

parents 16fcb332 6822fa74
......@@ -78,11 +78,11 @@ public interface IAdamRdmService {
String getMemberAgreement();
boolean setShotMemberOrderVoByOrderNo(String uid, String orderNo, AdamMemberOrderVo vo);
boolean setShotMemberOrderVoByOrderNo(String orderNo, AdamMemberOrderVo vo);
AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String uid, String orderNo);
AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String orderNo);
void delShotMemberOrderVoByOrderNo(String uid, String orderNo);
void delShotMemberOrderVoByOrderNo(String orderNo);
boolean setMaxMemberNo(int val);
......
......@@ -43,14 +43,14 @@ public class TicketCreateParam implements Serializable {
private Integer isElectronic;
@ApiModelProperty(value = "是否电子票", example = "0")
private String expressDescribes;
private String describesExpress;
@ApiModelProperty(value = "是否快递票", example = "0")
@NotNull(message = "不能为空")
private Integer isExpress;
@ApiModelProperty(value = "是否电子票", example = "0")
private String electronicDescribe;
private String describeElectronic;
@ApiModelProperty(value = "价格", example = "100.00")
@NotNull(message = "不能为空")
......@@ -143,4 +143,4 @@ public class TicketCreateParam implements Serializable {
kylinTicketRelations.setUpdatedAt(updatedAt);
return kylinTicketRelations;
}
}
\ No newline at end of file
}
......@@ -11,6 +11,7 @@ import java.util.List;
@Data
public class OrderDetailsVo {
private KylinOrderTicketVo orderTicketVo;
private String noticeImage;
private String express_number;
private String express_company;
private Integer kuaidi_status;
......
......@@ -12,7 +12,6 @@ import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.OrderRefundDao;
import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.admin.OrderDetailsAdminVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.dto.vo.returns.RefundOrderDetailsVo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
......@@ -191,11 +190,11 @@ public class KylinOrderRefundAdminController extends BaseController {
@ResponseBody
public AjaxResult refundCompleted(RefundApplyParam refundApplyParam) {
try {
Boolean res = kylinOrderRefundsServiceImpl.refundCompleted(refundApplyParam);
if (res) {
ResponseDto res = kylinOrderRefundsServiceImpl.refundCompleted(refundApplyParam);
if (res.isSuccess()) {
return success();
} else {
return error("关闭订单失败");
return error(res.getMessage());
}
} catch (Exception e) {
return error(e.getMessage());
......
......@@ -181,7 +181,7 @@
var entitiesPrice = $.table.selectColumns("price");
data.push({"name":"entitiesPrice","value":entitiesPrice});
console.log(data)
// $.operate.save(prefix + "/apply", data);
$.operate.save(prefix + "/apply", data);
}
}
</script>
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.utils.DateUtils;
import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
......@@ -11,6 +15,7 @@ import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao;
import com.liquidnet.service.kylin.dao.KylinOrderTicketEntitiesDao;
import com.liquidnet.service.kylin.dao.OrderRefundDao;
import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundCallbackParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.admin.OrderDetailsAdminVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
......@@ -27,7 +32,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
......@@ -68,6 +76,7 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
public ResponseDto refundApply(RefundApplyParam refundApplyParam) {
String orderTicketsId = refundApplyParam.getOrderTicketsId();
List<String> ticketEntityIds = refundApplyParam.getTicketEntityIds();
List<BigDecimal> entitiesPrice = refundApplyParam.getEntitiesPrice();
Double RefundPriceExpress = refundApplyParam.getRefundPriceExpress();
if (null == RefundPriceExpress) {
RefundPriceExpress = 0.0;
......@@ -132,6 +141,15 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
/*public Boolean refundPrice(List<String> ticketEntityIds, List<BigDecimal> entitiesPrice, String orderTicketsId) {
// 该订单的所有退款单
List<KylinOrderRefunds> refundList = kylinOrderRefundsMapper.selectList(
new QueryWrapper<KylinOrderRefunds>()
.eq("order_tickets_id", orderTicketsId)
.ne("status", KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL)
);
}*/
public ResponseDto refundCheckStatus(RefundApplyParam refundApplyParam) {
String type = refundApplyParam.getType();
List<String> orderRefundsIdList = refundApplyParam.getIds();
......@@ -203,8 +221,51 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public Boolean refundCompleted(RefundApplyParam refundApplyParam) {
return false;
public ResponseDto refundCompleted(RefundApplyParam refundApplyParam) {
List<String> orderRefundsIdList = refundApplyParam.getIds();
KylinOrderRefunds refundInfo = kylinOrderRefundsMapper.selectOne(
new QueryWrapper<KylinOrderRefunds>()
.in("order_refunds_id", orderRefundsIdList)
);
if (null == refundInfo) {
return ResponseDto.failure("退款订单查询失败");
}
if (refundInfo.getStatus() == KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL) {
return ResponseDto.failure("退款订单已取消");
}
if (refundInfo.getStatus() == KylinTableStatusConst.ORDER_REFUND_STATUS_REFUNDED) {
return ResponseDto.failure("退款订单已完成");
}
RefundCallbackParam refundCallbackParam = new RefundCallbackParam();
refundCallbackParam.setRefund_code(refundInfo.getRefundCode());
refundCallbackParam.setRefund_price(refundInfo.getPrice().doubleValue());
refundCallbackParam.setRefund_type("UNKNOWN");
refundCallbackParam.setRefund_id(refundInfo.getRefundId());
refundCallbackParam.setRefund_at(DateUtils.dateTimeNow());
refundCallbackParam.setRefund_error(refundInfo.getRefundError());
boolean res = kylinRefundsStatusServiceImpl.orderTicketRefunded(refundCallbackParam, refundInfo);
if (res) {
String authId = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds();
if (refundInfo.getAuditorId().isEmpty()) {
kylinOrderRefunds.setAuditorAt(LocalDateTime.now());
kylinOrderRefunds.setAuditorId(authId);
kylinOrderRefunds.setAuditorName(authName);
}
kylinOrderRefunds.setExecutorAt(LocalDateTime.now());
kylinOrderRefunds.setExecutorId(authId);
kylinOrderRefunds.setExecutorName(authName);
kylinOrderRefundsMapper.update(
kylinOrderRefunds,
new UpdateWrapper<KylinOrderRefunds>().in("order_refunds_id", refundInfo.getOrderRefundsId())
);
return ResponseDto.success();
} else {
return ResponseDto.failure("fail");
}
}
public KylinOrderRefundsVo detail(String orderRefundId) {
......
......@@ -12,6 +12,7 @@ import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundCallbackParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.entity.KylinOrderRefunds;
......@@ -328,4 +329,96 @@ public class KylinRefundsStatusServiceImpl {
return true;
}
public boolean orderTicketRefunded(RefundCallbackParam refundCallbackParam, KylinOrderRefunds refundInfo) {
String orderTicketEntitiesIds = refundInfo.getOrderTicketEntitiesIds();
String[] orderTicketEntitiesIdsArr = orderTicketEntitiesIds.split(",");
Integer EntitiesIdsCount = orderTicketEntitiesIdsArr.length;
String orderTicketsId = refundInfo.getOrderTicketsId();
// 更新数据
// 订单状态表
KylinOrderTickets orderInfo = kylinOrderTicketsMapper.selectOne(
new QueryWrapper<KylinOrderTickets>().eq("order_tickets_id", orderTicketsId)
);
KylinOrderTicketStatus orderStatusTable = new KylinOrderTicketStatus();
int newStatus = 0;
if (EntitiesIdsCount + orderInfo.getRefundNumber() == orderInfo.getNumber()) {
newStatus = KylinTableStatusConst.ORDER_STATUS4;
} else {
newStatus = KylinTableStatusConst.ORDER_STATUS6;
}
orderStatusTable.setStatus(newStatus);
kylinOrderTicketStatusMapper.update(
orderStatusTable, new UpdateWrapper<KylinOrderTicketStatus>()
.eq("order_id", orderTicketsId)
);
// 订单表
double price = orderInfo.getPriceRefund().doubleValue() + refundInfo.getPrice().doubleValue();
Integer num = orderInfo.getRefundNumber() + EntitiesIdsCount;
KylinOrderTickets update = new KylinOrderTickets();
update.setRefundNumber(num);
update.setPriceRefund(BigDecimal.valueOf(price));
kylinOrderTicketsMapper.update(
update, new UpdateWrapper<KylinOrderTickets>()
.eq("order_tickets_id", orderTicketsId)
);
KylinOrderTicketVo kylinOrderTicketVoOrder = new KylinOrderTicketVo();
kylinOrderTicketVoOrder.setStatus(newStatus);
kylinOrderTicketVoOrder.setRefundNumber(num);
// kylinOrderTicketVoOrder.setPriceRefund(BigDecimal.valueOf(price));
BasicDBObject orderEntitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVoOrder)));
Document docOrder = mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)).getQueryObject(),
orderEntitiesObject,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
dataUtils.delOrderTicketRedis(orderTicketsId);
// 入场人
for (String entitiesId : orderTicketEntitiesIdsArr) {
KylinOrderTicketEntities entitiesTable = new KylinOrderTicketEntities();
// TODO: 2021/5/27 事物 and 部分退款
entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT3);
kylinOrderTicketEntitiesMapper.update(entitiesTable, new UpdateWrapper<KylinOrderTicketEntities>()
.eq("order_ticket_entities_id", entitiesId)
.eq("is_payment", KylinTableStatusConst.ENTITIES_IS_PAYMENT2)
);
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = new KylinOrderTicketEntitiesVo();
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT3);
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(),
entitiesObject,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
dataUtils.delOrderTicketEntitiesRedis(entitiesId);
}
// 退款单完成
KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds();
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_REFUNDED);
kylinOrderRefunds.setRefundCode(refundCallbackParam.getRefund_code());
kylinOrderRefunds.setRefundType(refundCallbackParam.getRefund_type());
kylinOrderRefunds.setRefundId(refundCallbackParam.getRefund_id());
kylinOrderRefunds.setRefundAt(refundCallbackParam.getRefund_at());
kylinOrderRefunds.setRefundError(refundCallbackParam.getRefund_error());
kylinOrderRefundsMapper.update(
kylinOrderRefunds,
new UpdateWrapper<KylinOrderRefunds>().in("order_refunds_id", refundInfo.getOrderRefundsId())
);
if (refundInfo.getType() == KylinTableStatusConst.ORDER_REFUND_TYPE_APPLY) {
// 退还库存
for (String entitiesId : orderTicketEntitiesIdsArr) {
dataUtils.changeSurplusGeneral(entitiesId, 1);
}
}
return true;
}
}
......@@ -19,6 +19,8 @@ import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
......@@ -116,6 +118,16 @@ public class AdamMemberOrderController {
*/
@ApiOperationSupport(order = 2)
@ApiOperation(value = "会员支付回调")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "status", value = "1-成功|0-失败", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "order_code", value = "会员订单号", example = "77062761607274496V"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "支付订单号", example = "20210616153954199964032352974P"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "购买类型", example = "VIP"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "price", value = "支付金额", example = "0.01"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "payment_type", value = "支付类型", example = "WAPALIPAY"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "payment_at", value = "支付时间", example = "2021-06-16 15:40:02"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "payment_id", value = "支付ID", example = "2021061622001468121421203878"),
})
@PostMapping("callback")
public String paymentNotifyCallBack() {
log.debug("/member/callback.mapParameter:{}, token:{}", JsonUtils.toJson(ServletUtils.getRequest().getParameterMap()), ServletUtils.getRequest().getHeader("token"));
......@@ -177,14 +189,14 @@ public class AdamMemberOrderController {
@ApiOperation(value = "会员订单详情")
@GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@NotBlank @PathVariable String orderNo) {
return ResponseDto.success(adamRdmService.getShotMemberOrderVoByOrderNo(CurrentUtil.getCurrentUid(), orderNo));
return ResponseDto.success(adamRdmService.getShotMemberOrderVoByOrderNo(orderNo));
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "会员订单状态")
@GetMapping("check")
public ResponseDto<Integer> checkOrderResult(@NotBlank @RequestParam String orderNo) {
AdamMemberOrderVo memberOrderInfo = adamRdmService.getShotMemberOrderVoByOrderNo(CurrentUtil.getCurrentUid(), orderNo);
AdamMemberOrderVo memberOrderInfo = adamRdmService.getShotMemberOrderVoByOrderNo(orderNo);
if (null == memberOrderInfo) {
return ResponseDto.failure(ErrorMapping.get("10211"));
}
......
......@@ -98,7 +98,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
// 取消支付,点击取消支付宝回调地址
payParam.add("show_url", param.getShowUrl());
// 支付成功,点击完成支付宝回调地址
payParam.add("return_url", param.getReturnUrl());
payParam.add("return_url", param.getReturnUrl() + orderNo);
break;
case "/app/iappay":
if (StringUtils.isEmpty(param.getOpenId())) {
......@@ -132,7 +132,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
memberOrderVo.setVersion(CurrentUtil.getCliVersion());
memberOrderVo.setSource(CurrentUtil.getCliSource());
if (!adamRdmService.setShotMemberOrderVoByOrderNo(memberOrderVo.getUid(), orderNo, memberOrderVo)) {
if (!adamRdmService.setShotMemberOrderVoByOrderNo(orderNo, memberOrderVo)) {
log.warn("###购买会员创建订单失败[memberOrderVo:{}]", JsonUtils.toJson(memberOrderVo));
return ResponseDto.failure(ErrorMapping.get("10210"));
}
......@@ -153,7 +153,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
return ResponseDto.failure(ErrorMapping.get("10203"));
}
adamRdmService.setShotMemberOrderVoByOrderNo(memberOrderVo.getUid(), orderNo, memberOrderVo);
adamRdmService.setShotMemberOrderVoByOrderNo(orderNo, memberOrderVo);
result.setOrderNo(memberOrderVo.getOrderNo());
result.setShowUrl(param.getShowUrl());
......@@ -163,7 +163,10 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
@Override
public ResponseDto<Object> paymentNotifyCallBack(AdamMemberOrderCallbackParam parameter) {
AdamMemberOrderVo handleMemberOrderVo = adamRdmService.getShotMemberOrderVoByOrderNo(CurrentUtil.getCurrentUid(), parameter.getOrderCode());
AdamMemberOrderVo handleMemberOrderVo = adamRdmService.getShotMemberOrderVoByOrderNo(parameter.getOrderCode());
if (null == handleMemberOrderVo) {
return ResponseDto.failure(ErrorMapping.get("10501"), parameter);
}
// AdamMemberConst.STATUS_*:0-待支付,1-已支付,2-已过期,3-超时付,4-退款中,5-退款完成
if (1 == handleMemberOrderVo.getState() || 3 == handleMemberOrderVo.getState()) {
return ResponseDto.failure(ErrorMapping.get("10502"), parameter);
......@@ -175,7 +178,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
AdamMemberPriceVo memberPriceVo = adamRdmService.getMemberPriceVoByPriceId(
handleMemberOrderVo.getMemberId(), handleMemberOrderVo.getMemberPriceId());
if (null == memberPriceVo) {
return ResponseDto.failure(ErrorMapping.get("10500"));
return ResponseDto.failure(ErrorMapping.get("10504"));
}
/**
* 购买方式[order.mode]:
......@@ -282,7 +285,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
handleMemberOrderVo.getCreatedAt(), handleMemberOrderVo.getClientIp(), handleMemberOrderVo.getSource(), handleMemberOrderVo.getVersion()
});
adamRdmService.setShotMemberOrderVoByOrderNo(handleMemberOrderVo.getUid(), handleMemberOrderVo.getOrderNo(), handleMemberOrderVo);
adamRdmService.setShotMemberOrderVoByOrderNo(handleMemberOrderVo.getOrderNo(), handleMemberOrderVo);
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UMEMBER,
SqlMapping.gets(toMqSqls, operationObjs, updateMemberOrderObjs));
......@@ -378,7 +381,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
});
mongoTemplate.insert(initUserMemberVo, AdamUserMemberVo.class.getSimpleName());
toMqSqls.add(SqlMapping.get("adam_user_member.add"));
initMemberOrderObjs.add(new Object[]{
initUserMemberObjs.add(new Object[]{
initUserMemberVo.getUid(), initUserMemberVo.getMemberId(), initUserMemberVo.getMemberNo(),
initUserMemberVo.getState(), initUserMemberVo.getExpiryAt(), initUserMemberVo.getCreatedAt()
});
......@@ -396,7 +399,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
@Override
public PageInfo<AdamMemberOrderSimpleVo> queryPage(String uid, int pageNo, int pageSize) {
Query query = Query.query(Criteria.where("uid").is(uid));
Query query = Query.query(Criteria.where("uid").is(uid).and("state").is(1));
long count = mongoTemplate.count(query, AdamMemberOrderVo.class.getSimpleName());
......
......@@ -345,17 +345,17 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public boolean setShotMemberOrderVoByOrderNo(String uid, String orderNo, AdamMemberOrderVo vo) {
return redisUtil.set(AdamRedisConst.SHOT_MEMBER_ORDER + uid + ":" + orderNo, vo);
public boolean setShotMemberOrderVoByOrderNo(String orderNo, AdamMemberOrderVo vo) {
return redisUtil.set(AdamRedisConst.SHOT_MEMBER_ORDER + orderNo, vo);
}
@Override
public AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String uid, String orderNo) {
String key = AdamRedisConst.SHOT_MEMBER_ORDER + uid + ":" + orderNo;
public AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String orderNo) {
String key = AdamRedisConst.SHOT_MEMBER_ORDER + orderNo;
AdamMemberOrderVo vo = (AdamMemberOrderVo) redisUtil.get(key);
if (null == vo) {
vo = mongoTemplate.findOne(
Query.query(Criteria.where("orderNo").is(orderNo).and("uid").is(uid)),
Query.query(Criteria.where("orderNo").is(orderNo)),
AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName()
);
......@@ -365,8 +365,8 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public void delShotMemberOrderVoByOrderNo(String uid, String orderNo) {
redisUtil.del(AdamRedisConst.SHOT_MEMBER_ORDER + uid + ":" + orderNo);
public void delShotMemberOrderVoByOrderNo(String orderNo) {
redisUtil.del(AdamRedisConst.SHOT_MEMBER_ORDER + orderNo);
}
@Override
......
......@@ -84,12 +84,14 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.BEFORE)
);
AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class);
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_user.edit.mobile", mobile, now, uid));
adamRdmService.delUidByMobile(beforeUserInfoVo.getMobile());
adamRdmService.setUidByMobile(beforeUserInfoVo.getMobile(), uid);
adamRdmService.setUidByMobile(mobile, uid);
beforeUserInfoVo.setMobile(mobile);
beforeUserInfoVo.setUpdatedAt(now);
adamRdmService.setUserInfoVoByUid(uid, beforeUserInfoVo);
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_user.edit.mobile", mobile, now, uid));
}
}
......@@ -59,10 +59,10 @@
10500=
10501=会员订单回调处理失败,请核实
10501=会员订单回调处理失败,该订单不存在
10502=会员订单回调处理失败,该订单已处理
10503=会员订单回调处理失败,订单金额有误
10504=会员卡信息不存在,请核实
10504=会员订单回调处理失败,会员价格信息不存在
......
package com.liquidnet.service.consumer.service.impl;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.consumer.service.IBaseDao;
import org.slf4j.Logger;
......@@ -53,37 +52,32 @@ public class BaseDao implements IBaseDao {
@Override
public Boolean batchSqls(final LinkedList<String> sql,
final LinkedList<Object[]>... values) {
TransactionCallback<Boolean> callback = new TransactionCallback<Boolean>() {
@Override
public Boolean doInTransaction(final TransactionStatus transactionStatus) {
int i = 0;
for (LinkedList<Object[]> o : values) {
if (sql.size() < i + 1) {
break;
}
if (!o.isEmpty()) {
int[] ints = jdbcTemplate.batchUpdate(sql.get(i), o);
for (int c : ints) {
if (c <= 0) {
throw new LiquidnetServiceException("NON.SQL", sql.get(i));
}
try {
TransactionCallback<Boolean> callback = new TransactionCallback<Boolean>() {
@Override
public Boolean doInTransaction(final TransactionStatus transactionStatus) {
int i = 0;
for (LinkedList<Object[]> o : values) {
if (sql.size() < i + 1) {
break;
}
if (!o.isEmpty()) {
jdbcTemplate.batchUpdate(sql.get(i), o);
}
i++;
}
i++;
return true;
}
return true;
}
};
try {
};
TransactionTemplate tt = new TransactionTemplate(transactionManager);
return tt.execute(callback);
} catch (Exception ex) {
if (ex instanceof LiquidnetServiceException) {
log.error("###Error.Code:{} - {}", ((LiquidnetServiceException) ex).getCode(), ex.getMessage());
} else {
log.error("###Error.Sqls:{}\nParameters:{}", JsonUtils.toJson(sql), JsonUtils.toJson(values), ex);
}
// if (ex instanceof LiquidnetServiceException) {
// log.error("###Error.Code:{} - {}", ((LiquidnetServiceException) ex).getCode(), ex.getMessage());
// } else {
log.error("###Error.Sqls:{}\nParameters:{},Ex:{}", JsonUtils.toJson(sql), JsonUtils.toJson(values), ex.getMessage());
// }
return false;
}
}
......
......@@ -116,7 +116,7 @@ public class DataImpl {
performances.setMobile(resultData.getString("mobile"));
performances.setDescribes(resultData.getString("describe"));
performances.setDetails(resultData.getString("detail"));
performances.setNoticeImage("[{\"id\":1,\"sort\":1,\"text\":\"因演出票品非普通商品,其背后承载的文化服务具有时效性、稀缺性等特征,故不适用7天无理由退货政策。因“不可抗力”导致的演出取消或延期除外。\",\"title\":\"门票退换\",\"type\":\"image\",\"url\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c45722882a13.png\"},{\"id\":7,\"sort\":2,\"text\":\"凭订单二维码或手机号兑票入场,二维码或手机号请勿泄露,以免影响入场。个人原因导致的信息泄露,主办方/平台方不承担任何责任。\",\"title\":\"电子票\",\"type\":\"image\",\"url\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456d9482fb9.png\"},{\"id\":3,\"sort\":3,\"text\":\"本场演出不设座位,均为站席观演。\",\"title\":\"仅设站席\",\"type\":\"image\",\"url\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456e93db0b9.png\"},{\"id\":12,\"sort\":4,\"text\":\"每场现场票数量由场地方决定,具体请到现场询问。\",\"title\":\"现场票\",\"type\":\"image\",\"url\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/06/17/5d07647eaa55f.png\"}]");
performances.setNoticeImage("[{\"id\":1,\"sort\":1,\"message\":\"因演出票品非普通商品,其背后承载的文化服务具有时效性、稀缺性等特征,故不适用7天无理由退货政策。因“不可抗力”导致的演出取消或延期除外。\",\"title\":\"门票退换\",\"type\":\"image\",\"imgUrl\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c45722882a13.png\"},{\"id\":7,\"sort\":2,\"message\":\"凭订单二维码或手机号兑票入场,二维码或手机号请勿泄露,以免影响入场。个人原因导致的信息泄露,主办方/平台方不承担任何责任。\",\"title\":\"电子票\",\"type\":\"image\",\"imgUrl\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456d9482fb9.png\"},{\"id\":3,\"sort\":3,\"message\":\"本场演出不设座位,均为站席观演。\",\"title\":\"仅设站席\",\"type\":\"image\",\"imgUrl\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456e93db0b9.png\"},{\"id\":12,\"sort\":4,\"message\":\"每场现场票数量由场地方决定,具体请到现场询问。\",\"title\":\"现场票\",\"type\":\"image\",\"imgUrl\":\"http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/06/17/5d07647eaa55f.png\"}]");
performances.setTimeStart(DateUtil.Formatter.yyyyMMddHHmmssS.parse(resultData.getTimestamp("time_start").toString()));
performances.setTimeEnd(DateUtil.Formatter.yyyyMMddHHmmssS.parse(resultData.getTimestamp("time_end").toString()));
if(null!=resultData.getString("audit_submit_time")) {
......@@ -139,7 +139,7 @@ public class DataImpl {
performanceStatus.setSyncAgent(0);
performanceStatus.setSyncDamai(0);
performanceStatus.setAuditStatus(1);
performanceStatus.setIsTrueName(resultData.getString("need_id_card").equals("yes") ? 1 : 2);
performanceStatus.setIsTrueName(resultData.getString("need_id_card").equals("yes") ? 1 : 0);
performanceStatus.setLimitCount(resultData.getInt("num_limit_mobile"));
performanceStatus.setLimitCountMember(1);
performanceStatus.setIsRecommend(resultData.getInt("is_recommend"));
......
......@@ -882,6 +882,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
vo.setExpress_company("");
vo.setKuaidi_status(-2);
}
orderTicketVo.setNoticeImage(dataUtils.getEnterInfo("1"));
vo.setOrderTicketVo(orderTicketVo);
}
return vo;
......
......@@ -119,10 +119,10 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo.setStatus(0);
kylinTicketPartnerVo.setDefault();
if(ticketCreateParam.getIsExpress()==1){
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getExpressDescribes());
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getDescribesExpress());
}
if(ticketCreateParam.getIsElectronic()==1){
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getElectronicDescribe());
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getDescribeElectronic());
}
if (ticketCreateParam.getIsExpress() == 1) {
......@@ -165,10 +165,10 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo.setUseEnd(kylinTicketTimesPartnerVo.getUseEnd());
kylinTicketPartnerVo.setType(kylinTicketTimesPartnerVo.getType());
if(ticketCreateParam.getIsExpress()==1){
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getExpressDescribes());
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getDescribesExpress());
}
if(ticketCreateParam.getIsElectronic()==1){
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getElectronicDescribe());
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getDescribeElectronic());
}
kylinTicketPartnerVo.setStatus(-2);
kylinTicketPartnerVo.setDefault();
......@@ -214,10 +214,10 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo.setTimesId(null);
kylinTicketPartnerVo.setStatus(null);
if(ticketCreateParam.getIsExpress()==1){
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getExpressDescribes());
kylinTicketPartnerVo.setDescribesExpress(ticketCreateParam.getDescribesExpress());
}
if(ticketCreateParam.getIsElectronic()==1){
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getElectronicDescribe());
kylinTicketPartnerVo.setDescribeElectronic(ticketCreateParam.getDescribeElectronic());
}
kylinTicketPartnerVo.setDefault();
......
......@@ -386,6 +386,9 @@ public class DataUtils {
redisUtil.incr(performanceIdKey, buyCount);
break;
}
if(null==redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)){
redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item,0);
}
if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else {
......@@ -408,6 +411,9 @@ public class DataUtils {
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break;
}
if(null==redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)){
redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item,0);
}
if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else {
......
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