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

Commit 8acb0757 authored by liuran's avatar liuran

Merge remote-tracking branch 'origin/dev_member_voucher_refund_09151' into...

Merge remote-tracking branch 'origin/dev_member_voucher_refund_09151' into dev_member_voucher_refund_09151
parents df472bf6 94185669
......@@ -20,16 +20,16 @@ public class AdamMemberPriceBuildParam implements Serializable {
@ApiModelProperty(required = false, value = "会员价格ID")
private String memberPriceId;
@ApiModelProperty(required = true, value = "原价")
@DecimalMin("0.01")
@DecimalMin(value = "0.01", message = "原价不能小于0.01")
private BigDecimal price;
@ApiModelProperty(required = true, value = "折扣价")
@DecimalMin("0.01")
@DecimalMin(value = "0.01", message = "折扣价不能小于0.01")
private BigDecimal priceFixed;
@ApiModelProperty(required = true, value = "特价:首次、首年优惠价")
@DecimalMin("0.01")
@DecimalMin(value = "0.01", message = "首年优惠价不能小于0.01")
private BigDecimal priceSpecial;
@ApiModelProperty(required = true, value = "有效天数")
@Min(1)
@Min(value = 1, message = "有效天数不得小于1")
private Integer days;
@ApiModelProperty(required = false, value = "双倍积分[1-关闭,2-开启]")
......
......@@ -22,15 +22,18 @@ public class AdamMemberRightsBuildParam implements Serializable {
private Integer state;
@ApiModelProperty(required = true, value = "权益标题[50]")
@NotBlank(message = "会员权益标题不能为空")
private String title;
@ApiModelProperty(required = true, value = "权益副标题[200]")
@NotNull(message = "会员权益副标题不能为空")
private String subTitle;
@ApiModelProperty(required = false, value = "标注[50]")
private String label;
@ApiModelProperty(required = true, value = "权益封面图片[255]")
@NotNull(message = "会员权益封面图片不能为空")
private String cover;
@ApiModelProperty(required = false, value = "详情内容")
private String detail;
@ApiModelProperty(required = true, value = "展示顺序")
@ApiModelProperty(required = false, value = "展示顺序")
private Integer seqNo;
}
......@@ -32,7 +32,7 @@ public class AdamMemberSimpleVo implements Serializable, Cloneable {
}
public AdamMemberSimpleVo copy(AdamMemberVo source) {
if (null == this) return this;
if (null == source) return this;
this.setMemberId(source.getMemberId());
this.setName(source.getName());
this.setTitle(source.getTitle());
......
......@@ -85,6 +85,8 @@ public class KylinOrderTicketPreVo implements Serializable, Cloneable {
private Integer isRefundPoundage;
@ApiModelProperty(value = "是否开启是否退优惠券 0关闭 1开启")
private Integer isRefundVoucher;
@ApiModelProperty(value = "isRefundExpress 1用户承担 0无")
private Integer isRefundExpress;
@ApiModelProperty(value = "手续费规则列表")
private ArrayList<OrderRefundPoundage> refundPoundageList;
......
......@@ -188,6 +188,9 @@ public class AdamMemberAdminController extends BaseController {
} else if (StringUtils.isBlank(parameter.getMrightsId())) {
return AjaxResult.warn("请指定要删除的权益ID");
}
if (null == parameter.getSeqNo()) {
parameter.setSeqNo(0);
}
return this.toAjax(adamMemberRightsAdminService.edit(parameter));
}
......
......@@ -241,7 +241,7 @@
<input type="text" class="form-control" name="days" placeholder="请输入有效时间" th:value="${memberPrice.days}"/>
</div>
</div>
<div class="form-group">
<div class="form-group" disabled="none">
<label class="col-sm-2 control-label">双倍积分:</label>
<div class="col-sm-10">
<div class="radio-box">
......
......@@ -71,6 +71,9 @@ public class AdamMemberRightsAdminServiceImpl extends ServiceImpl<AdamMemberRigh
}
if (isAddFlag) {
vos.add(AdamMemberRightsVo.getNew().copy(saveOrUpdateInfo));
} else {
if (param.getState() == 2) {// 移除
vos.removeIf(r -> r.getMrightsId().equals(param.getMrightsId()));
} else {
List<AdamMemberRightsVo> finalVos = vos;
int idx = IntStream.range(0, finalVos.size())
......@@ -91,6 +94,7 @@ public class AdamMemberRightsAdminServiceImpl extends ServiceImpl<AdamMemberRigh
vos.set(idx, existVo);
}
}
}
redisUtil.set(AdamRedisConst.INFO_MEMBER_RIGHTS.concat(param.getMemberId()), vos);
}
......
......@@ -62,6 +62,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
LambdaQueryWrapper<AdamMember> updateMemberWrapper = Wrappers.lambdaQuery(AdamMember.class).eq(AdamMember::getMemberId, parameter.getMemberId());
if (adamMemberMapper.update(adamMember, updateMemberWrapper) > 0) {
redisUtil.set(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(vo.getMemberId()), vo);
redisUtil.del(AdamRedisConst.INFO_MEMBER_SIMPLE);
return true;
}
return false;
......
......@@ -451,18 +451,11 @@ public class AdamRdmService {
public AdamMemberSimpleVo getMemberSimpleVo() {
long s = System.currentTimeMillis();
AdamMemberSimpleVo vo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBER_SIMPLE);
// if (null == vo) {
// long s = System.currentTimeMillis();
// List<AdamMemberSimpleVo> vos = mongoTemplate.find(
// Query.query(Criteria.where("state").is(1)).with(Sort.by(Sort.Direction.ASC, "memberId")),
// AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName()
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// vo = CollectionUtils.isEmpty(vos) ? null : vos.get(0);
//
// if (null != vo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, vo);
// }
if (null == vo) {
vo = AdamMemberSimpleVo.getNew().copy(this.getMemberVoByMemberId("1"));
if (null != vo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, vo);
}
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
return vo;
}
......
......@@ -183,7 +183,7 @@ public class CandyCouponController {
@RequestParam("timeId") @NotNull @NotBlank String timeId,
@RequestParam("ticketId") @NotNull @NotBlank String ticketId
) {
CandyUseResultVo result = candyCouponService.useCoupon(uCouponId, content, totalPrice, performanceId, ticketId, timeId, goodId);
CandyUseResultVo result = candyCouponService.useCoupon(uCouponId, content, totalPrice, performanceId, timeId,ticketId, goodId);
if (result == null) {
return ResponseDto.failure();
}
......
......@@ -277,7 +277,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
vo.setValue(dto.getValFace());
break;
case 2:
if (dto.getValOver().compareTo(new BigDecimal(totalPrice)) >= 0) {
if (dto.getValOver().compareTo(new BigDecimal(totalPrice)) <= 0) {
vo.setValue(dto.getValMinus());
} else {
vo.setCouType(-1);
......@@ -386,6 +386,8 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
@Override
public ResponseDto<String> receiveCoupon(String ccode) {
String uid = CurrentUtil.getCurrentUid();
String mobile = (String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_MOBILE);
CandyCouponCodeDto dto = redisDataUtils.getCouponByCode(ccode);
LocalDateTime now = LocalDateTime.now();
......@@ -404,13 +406,20 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
//添加baseDto -> baseDtoList
redisDataUtils.addCouponByUid(uid, baseDto);
//入库
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> objsUserCoupon = CollectionUtil.linkedListObjectArr(),
objsCouponCode = CollectionUtil.linkedListObjectArr();
toMqSqls.add(SqlMapping.get("candy_coupon.receive"));
objsUserCoupon.add(new Object[]{uCouponId, uid, 1, infoDto.getCouponId(), ccode, now, now, infoDto.getExpireAt()});
toMqSqls.add(SqlMapping.get("candy_coupon_code.receive"));
objsCouponCode.add(new Object[]{uid, mobile, now, now, dto.getCouponId(), ccode});
queueUtils.sendMsgByRedis(
MQConst.CandyQueue.COUPON_RECEIVE.getKey(),
SqlMapping.get("candy_coupon.receive",
uCouponId, uid, 1, infoDto.getCouponId(), ccode, now, now, infoDto.getExpireAt()
)
SqlMapping.gets(toMqSqls, objsUserCoupon, objsCouponCode)
);
return ResponseDto.success(uCouponId);
}else if(dto.getState().equals(1)){
return ResponseDto.failure("兑换已使用");
} else {
return ResponseDto.failure("兑换失败,请稍后再试");
}
......
......@@ -6,3 +6,4 @@ candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state
candy_coupon.back=UPDATE candy_user_coupon SET state = 1 WHERE uid = ? AND ucoupon_id = ?
# -- 领取券 --
candy_coupon.receive=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , ccode , bind_at , bind_at, dued_at) VALUE ( ? , ? , ? , ? , ? , ? , ? , ?)
candy_coupon_code.receive=UPDATE candy_coupon_code SET redeem_uid=?,redeem_mobile=?,redeem_at=?,updated_at=? WHERE coupon_id=? AND ccode=?
......@@ -130,6 +130,7 @@ public class KylinOrderTicketsRefundServiceImpl {
vo.setOrderCouponList(orderCoupon);
vo.setRefundAddress(refundAddress);
vo.setIsTrueName(performanceVo.getIsTrueName());
vo.setIsRefundExpress(performanceVo.getIsRefundExpress());
vo.setEntitiesPreRefundVos(kylinOrderTicketEntitiesPreRefundVos);
return ResponseDto.success(vo);
} catch (Exception e) {
......
......@@ -19,6 +19,7 @@ import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.returns.InnerReturnVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.client.methods.HttpRequestBase;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,6 +34,7 @@ import java.util.HashMap;
import java.util.List;
@Component
@Slf4j
public class OrderUtils {
@Autowired
......@@ -197,10 +199,12 @@ public class OrderUtils {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Authorization", "Bearer " + CurrentUtil.getToken());
log.info("url="+candyUrl + "/candy-coupon/use");
log.info("params="+JSON.toJSONString(params));
String returnData = HttpUtil.post(candyUrl + "/candy-coupon/use", params, header);
InnerReturnVo<CandyUseResultVo> innerReturnVo = JsonUtils.fromJson(returnData, new TypeReference<InnerReturnVo<CandyUseResultVo>>() {
});
log.info("returnData="+returnData);
CandyUseResultVo candyUseResultVo = innerReturnVo.getData();
Integer type = candyUseResultVo.getCouType();
BigDecimal value = candyUseResultVo.getValue();
......
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