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

Commit 75999092 authored by liuran's avatar liuran

Merge remote-tracking branch 'origin/dev_20211205' into dev_20211205

parents b388829c 6bd76ab7
......@@ -23,17 +23,27 @@ public class AdamMemberOrderCodeParam implements Serializable {
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "生日格式有误")
@NotBlank(message = "生日不能为空")
private String birthday;
@ApiModelProperty(position = 13, required = true, value = "地区[100]", example = "北京 北京市 朝阳区")
@NotBlank(message = "地区不能为空")
private String area;
@ApiModelProperty(position = 14, required = true, value = "收获地址")
// @ApiModelProperty(position = 13, required = true, value = "地区[100]", example = "北京 北京市 朝阳区")
// @NotBlank(message = "地区不能为空")
// private String area;
@ApiModelProperty(position = 13, required = true, value = "收获地址")
@Size(min = 1, max = 64, message = "收获地址长度限制1-64位字符")
@NotBlank(message = "收获地址不能为空")
private String addressId;
@ApiModelProperty(position = 15, value = "支付终端[app,wap,js,applet]", example = "js")
@ApiModelProperty(position = 14, value = "支付终端[app,wap,js,applet]", example = "js")
private String deviceFrom;
@ApiModelProperty(position = 16, required = false, value = "姓名[未实名时必传]")
@ApiModelProperty(position = 15, required = false, value = "姓名[未实名时必传]")
private String name;
@ApiModelProperty(position = 17, required = false, value = "身份证件号[未实名时必传]")
@ApiModelProperty(position = 16, required = false, value = "身份证件号[未实名时必传]")
private String idCard;
@ApiModelProperty(position = 17, required = true, value = "常住地/省[50] ~ 替换原字段[area]", example = "北京市")
@NotBlank(message = "省份不能为空")
private String province;
@ApiModelProperty(position = 18, required = true, value = "常住地/市[50] ~ 替换原字段[area]", example = "北京")
@NotBlank(message = "城市不能为空")
private String city;
@ApiModelProperty(position = 19, required = true, value = "常住地/区县[50] ~ 替换原字段[area]", example = "朝阳区")
@NotBlank(message = "区县不能为空")
private String county;
}
......@@ -55,6 +55,12 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-stone</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
......
......@@ -18,6 +18,7 @@ import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -43,6 +44,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
AdamRdmService adamRdmService;
@Autowired
IAdamUserMemberService adamUserMemberService;
@Autowired
FeignStoneIntegralClient feignStoneIntegralClient;
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
......@@ -164,7 +167,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
log.debug("HttpUtil.resquest.url:{},param:{}", url, JsonUtils.toJson(payParam));
long s = System.currentTimeMillis();
String respStr = HttpUtil.post(url, payParam);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("#DRAGON.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("HttpUtil.response.body:{}", respStr);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("code").asText())) {
......@@ -224,7 +227,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> operationObjs = CollectionUtil.linkedListObjectArr(),
initMemberOrderObjs = CollectionUtil.linkedListObjectArr(),
initMemberOrderExtObjs = CollectionUtil.linkedListObjectArr();
initMemberOrderExtObjs = CollectionUtil.linkedListObjectArr(),
updateUserMobileLocateObjs = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now();
if (0 == handleMemberOrderVo.getMode()) {// 购买会员回调
existUserMemberVo = adamRdmService.getUserMemberVoByUid(handleMemberOrderVo.getUid());
......@@ -335,9 +339,24 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
});
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(handleMemberOrderVo.getUid());
userInfoVo.setUpdatedAt(now);
String[] areaArr = handleMemberOrderVo.getArea().split("-");
if (!org.apache.commons.lang3.StringUtils.equals(userInfoVo.getProvince(), areaArr[0])
|| !org.apache.commons.lang3.StringUtils.equals(userInfoVo.getCity(), areaArr[1])
|| !org.apache.commons.lang3.StringUtils.equals(userInfoVo.getCounty(), areaArr[2])
) {
userInfoVo.setProvince(areaArr[0]);
userInfoVo.setCity(areaArr[1]);
userInfoVo.setProvince(areaArr[2]);
updateUserMobileLocateObjs.add(new Object[]{
userInfoVo.getProvince(), userInfoVo.getCity(), userInfoVo.getCounty(), userInfoVo.getUpdatedAt(), userInfoVo.getUid()
});
}
// 生日、地区同步到用户资料
toMqSqls.add(SqlMapping.get("adam_user_info.update_by_member"));
LinkedList<Object[]> updateUserInfoObjs = this.syncUserInfoProcessing(now, userInfoVo, handleMemberOrderVo);
toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.update_province"));
// 根据新会员开售时间发放新权益
if (now.isAfter(AdamUserMemberVo.spotTime)) {
......@@ -347,24 +366,14 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UMEMBER.getKey(),
SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs, initMemberOrderExtObjs, updateUserInfoObjs, initMemberRightsCouponObjs)
SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs, initMemberOrderExtObjs, updateUserInfoObjs, updateUserMobileLocateObjs, initMemberRightsCouponObjs)
);
} else {
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UMEMBER.getKey(),
SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs, initMemberOrderExtObjs, updateUserInfoObjs)
SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs, initMemberOrderExtObjs, updateUserInfoObjs, updateUserMobileLocateObjs)
);
}
// } else {
// s = System.currentTimeMillis();
// queueUtils.sendMsgByRedis(
// MQConst.AdamQueue.SQL_UMEMBER.getKey(),
// SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs)
// );
// log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
// }
return ResponseDto.success();
} catch (Exception e) {
log.error("购买会员支付回调处理异常[CallbackParam={}]", JsonUtils.toJson(parameter), e);
......@@ -388,6 +397,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
adamRdmService.delMemberCodeByBuyOrderNo(initMemberCodeVo.getBuyOrderNo());
adamRdmService.delMemberCodeVoByCode(initMemberCodeVo.getCode());
}
} else {
feignStoneIntegralClient.in2111(shotMemberOrderVo.getUid(), shotMemberOrderVo.getPricePaid().intValue(), "购买会员");
}
}
}
......@@ -433,7 +444,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberOrderVo.setState(1);// 0-待支付,1-已支付
initMemberOrderVo.setMemberNo(memberCodeVo.getMemberNo());
initMemberOrderVo.setBirthday(param.getBirthday());
initMemberOrderVo.setArea(param.getArea());
initMemberOrderVo.setArea(param.getProvince().concat("-").concat(param.getCity()).concat("-").concat(param.getCounty()));
initMemberOrderVo.setDeviceFrom(param.getDeviceFrom());
initMemberOrderVo.setPayType(param.getMode() == 2 ? "vipcode" : "giftcode");
initMemberOrderVo.setPayNo(memberCodeVo.getCode());
......@@ -449,7 +460,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
memberOrderExtVo.setExpressStatus(-1);
memberOrderExtVo.setExpressReceiver(addressesVo.getName());
memberOrderExtVo.setExpressPhone(addressesVo.getPhone());
memberOrderExtVo.setExpressAddress(addressesVo.getProvince() + addressesVo.getCity() + addressesVo.getCounty() + addressesVo.getAddress());
memberOrderExtVo.setExpressAddress(addressesVo.getProvince() + "|" + addressesVo.getCity() + "|" + addressesVo.getCounty() + "|" + addressesVo.getAddress());
initMemberOrderVo.setExtendVo(memberOrderExtVo);
......@@ -457,7 +468,8 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
LinkedList<Object[]> updateMemberCodeObjs = CollectionUtil.linkedListObjectArr(),
initMemberOrderObjs = CollectionUtil.linkedListObjectArr(),
upsertUserMemberObjs = CollectionUtil.linkedListObjectArr(),
initMemberOrderExtObjs = CollectionUtil.linkedListObjectArr();
initMemberOrderExtObjs = CollectionUtil.linkedListObjectArr(),
updateUserMobileLocateObjs = CollectionUtil.linkedListObjectArr();
existUserMemberVo = adamRdmService.getUserMemberVoByUid(initMemberOrderVo.getUid());
if (null != existUserMemberVo) {// 已是会员
AdamUserMemberVo updateExistUserMemberVo = AdamUserMemberVo.getNew();
......@@ -522,9 +534,24 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
});
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(initMemberOrderVo.getUid());
userInfoVo.setUpdatedAt(now);
String[] areaArr = initMemberOrderVo.getArea().split("-");
if (!org.apache.commons.lang3.StringUtils.equals(userInfoVo.getProvince(), areaArr[0])
|| !org.apache.commons.lang3.StringUtils.equals(userInfoVo.getCity(), areaArr[1])
|| !org.apache.commons.lang3.StringUtils.equals(userInfoVo.getCounty(), areaArr[2])
) {
userInfoVo.setProvince(areaArr[0]);
userInfoVo.setCity(areaArr[1]);
userInfoVo.setProvince(areaArr[2]);
updateUserMobileLocateObjs.add(new Object[]{
userInfoVo.getProvince(), userInfoVo.getCity(), userInfoVo.getCounty(), userInfoVo.getUpdatedAt(), userInfoVo.getUid()
});
}
// 生日、地区同步到用户资料
toMqSqls.add(SqlMapping.get("adam_user_info.update_by_member"));
LinkedList<Object[]> updateUserInfoObjs = this.syncUserInfoProcessing(now, userInfoVo, initMemberOrderVo);
toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.update_province"));
// 权益券发放
toMqSqls.add(SqlMapping.get("candy_mgt_coupon.add_for_member"));
......@@ -533,7 +560,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UMEMBER.getKey(),
SqlMapping.gets(toMqSqls, upsertUserMemberObjs, updateMemberCodeObjs, initMemberOrderObjs, initMemberOrderExtObjs, updateUserInfoObjs, initMemberRightsCouponObjs)
SqlMapping.gets(toMqSqls, upsertUserMemberObjs, updateMemberCodeObjs, initMemberOrderObjs, initMemberOrderExtObjs, updateUserInfoObjs, updateUserMobileLocateObjs, initMemberRightsCouponObjs)
);
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} catch (Exception e) {
......
......@@ -18,12 +18,14 @@ import com.liquidnet.service.candy.constant.CandyRedisConst;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.entity.CandyUserCoupon;
import com.liquidnet.service.candy.mapper.CandyUserCouponMapper;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
......@@ -44,6 +46,9 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
@Autowired
private RedisDataSourceUtil redisDataSourceUtil;
@Autowired
FeignStoneIntegralClient feignStoneIntegralClient;
public boolean refundProcessing(HttpServletRequest request) {
String refundNo = request.getParameter("orderRefundCode");
String refundAt = request.getParameter("refundAt");
......@@ -80,7 +85,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
memberRefundLambdaUpdateWrapper.set(AdamMemberRefund::getRefundState, 1);
if (this.update(memberRefundLambdaUpdateWrapper)) {
this.refundSuccProcessing(memberRefund.getOrderNo(), now);
this.refundSuccProcessing(memberRefund.getOrderNo(), now, refundAmt);
return true;
} else {
......@@ -94,7 +99,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
/* -------------------------------------------------------------------------- */
private void refundSuccProcessing(String orderNo, LocalDateTime now) {
private void refundSuccProcessing(String orderNo, LocalDateTime now, String refundAmt) {
AdamMemberOrder memberOrder = adamMemberOrderMapper.selectOne(Wrappers.lambdaUpdate(AdamMemberOrder.class).eq(AdamMemberOrder::getOrderNo, orderNo));
LocalDateTime newExpiryAt = null;
List<String> removeUcouponIdList = null;
......@@ -185,5 +190,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
updateInfoMemberOrder.setUpdatedAt(now);
int updateRst = adamMemberOrderMapper.updateById(updateInfoMemberOrder);
log.info("###会员退款回调处理成功:更新DB订单信息{}[orderNo:{}]", updateRst <= 0 ? "失败" : "成功", orderNo);
feignStoneIntegralClient.de2111(memberOrder.getUid(), new BigDecimal(refundAmt).intValue(), "会员注销");
}
}
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