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