Commit 667e8c2a by 吴一龙

fix StudioAxfOrderVO instead of memberId and memberPhone

parent 1f8a9311
...@@ -27,10 +27,10 @@ public class PageStudioAxfOrderRequest { ...@@ -27,10 +27,10 @@ public class PageStudioAxfOrderRequest {
private String studioName; private String studioName;
@ApiModelProperty(value = "学员ID") @ApiModelProperty(value = "学员ID")
private Long studentId; private Long memberId;
@ApiModelProperty(value = "学员名称") @ApiModelProperty(value = "学员名称")
private String studentName; private String memberName;
@ApiModelProperty(value = "支付宝pid") @ApiModelProperty(value = "支付宝pid")
private String merchantNo; private String merchantNo;
......
...@@ -43,13 +43,13 @@ public class StudioAxfOrderVO { ...@@ -43,13 +43,13 @@ public class StudioAxfOrderVO {
private Long commodityId; private Long commodityId;
@ApiModelProperty(value = "学员ID") @ApiModelProperty(value = "学员ID")
private Long studentId; private Long memberId;
@ApiModelProperty(value = "学员姓名") @ApiModelProperty(value = "学员姓名")
private String studentName; private String memberName;
@ApiModelProperty(value = "学员手机号") @ApiModelProperty(value = "学员手机号")
private String studentPhone; private String memberPhone;
@ApiModelProperty(value = "签约状态") @ApiModelProperty(value = "签约状态")
private String signState; private String signState;
......
...@@ -84,13 +84,13 @@ public class StudioAxfOrder implements Serializable { ...@@ -84,13 +84,13 @@ public class StudioAxfOrder implements Serializable {
* 备注: 学员ID * 备注: 学员ID
* 是否允许为null: YES * 是否允许为null: YES
*/ */
private Long studentId; private Long memberId;
/** /**
* 备注: 学员姓名 * 备注: 学员姓名
* 是否允许为null: YES * 是否允许为null: YES
*/ */
private String studentName; private String memberName;
/** /**
* 备注: 签约状态 * 备注: 签约状态
...@@ -225,9 +225,9 @@ public class StudioAxfOrder implements Serializable { ...@@ -225,9 +225,9 @@ public class StudioAxfOrder implements Serializable {
public static final String COMMODITY_ID = "commodity_id"; public static final String COMMODITY_ID = "commodity_id";
public static final String STUDENT_ID = "student_id"; public static final String STUDENT_ID = "member_id";
public static final String STUDENT_NAME = "student_name"; public static final String MEMBER_NAME = "member_name";
public static final String SIGN_STATE = "sign_state"; public static final String SIGN_STATE = "sign_state";
......
...@@ -31,8 +31,8 @@ import org.apache.ibatis.annotations.Param; ...@@ -31,8 +31,8 @@ import org.apache.ibatis.annotations.Param;
*/ */
public interface StudioAxfOrderMapper extends XBaseMapper<StudioAxfOrder> { public interface StudioAxfOrderMapper extends XBaseMapper<StudioAxfOrder> {
AggStudioAxfOrderVO agg(@Param("studioIds") List<Long> studioIds, @Param("studentId") Long studentId, AggStudioAxfOrderVO agg(@Param("studioIds") List<Long> studioIds, @Param("memberId") Long memberId,
@Param("studentName") String studentName, @Param("voucherBusinessNo") String voucherBusinessNo, @Param("memberName") String memberName, @Param("voucherBusinessNo") String voucherBusinessNo,
@Param("thirdOrderNo") String thirdOrderNo, @Param("signTimeStart") Date signTimeStart, @Param("thirdOrderNo") String thirdOrderNo, @Param("signTimeStart") Date signTimeStart,
@Param("signTimeEnd") Date signTimeEnd, @Param("cancelTimeStart") Date cancelTimeStart, @Param("signTimeEnd") Date signTimeEnd, @Param("cancelTimeStart") Date cancelTimeStart,
@Param("cancelTimeEnd") Date cancelTimeEnd, @Param("state") AxfOrderSignStateEnums state); @Param("cancelTimeEnd") Date cancelTimeEnd, @Param("state") AxfOrderSignStateEnums state);
......
...@@ -29,11 +29,11 @@ ...@@ -29,11 +29,11 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="studentId != null"> <if test="memberId != null">
and student_id = #{studentId} and student_id = #{memberId}
</if> </if>
<if test="studentName != null"> <if test="memberName != null">
and student_name = #{studentName} and student_name = #{memberName}
</if> </if>
<if test="voucherBusinessNo != null"> <if test="voucherBusinessNo != null">
and voucher_business_no = #{voucherBusinessNo} and voucher_business_no = #{voucherBusinessNo}
......
...@@ -46,19 +46,19 @@ public class StudioAxfOrderRpService extends MapperRepoService<Long, StudioAxfOr ...@@ -46,19 +46,19 @@ public class StudioAxfOrderRpService extends MapperRepoService<Long, StudioAxfOr
.orElse(null); .orElse(null);
} }
public org.springframework.data.domain.Page<StudioAxfOrder> page(List<Long> studioIds, Long studentId, public org.springframework.data.domain.Page<StudioAxfOrder> page(List<Long> studioIds, Long memberId,
String studentName, String merchantNo, String memberName, String merchantNo,
String voucherBusinessNo, String thirdOrderNo, Date signTimeStart, Date signTimeEnd, String voucherBusinessNo, String thirdOrderNo, Date signTimeStart, Date signTimeEnd,
Date cancelTimeStart, Date cancelTimeEnd, AxfOrderSignStateEnums state, Integer current, Integer size) { Date cancelTimeStart, Date cancelTimeEnd, AxfOrderSignStateEnums state, Integer current, Integer size) {
QueryWrapper<StudioAxfOrder> wrapper = new QueryWrapper<>(); QueryWrapper<StudioAxfOrder> wrapper = new QueryWrapper<>();
if (CollectionUtils.isNotEmpty(studioIds)) { if (CollectionUtils.isNotEmpty(studioIds)) {
wrapper.in(StudioAxfOrder.STUDIO_ID, studioIds); wrapper.in(StudioAxfOrder.STUDIO_ID, studioIds);
} }
if (null != studentId) { if (null != memberId) {
wrapper.eq(StudioAxfOrder.STUDENT_ID, studentId); wrapper.eq(StudioAxfOrder.STUDENT_ID, memberId);
} }
if (StringUtils.isNotEmpty(studentName)) { if (StringUtils.isNotEmpty(memberName)) {
wrapper.eq(StudioAxfOrder.STUDENT_NAME, studentName); wrapper.eq(StudioAxfOrder.MEMBER_NAME, memberName);
} }
if (StringUtils.isNotEmpty(merchantNo)){ if (StringUtils.isNotEmpty(merchantNo)){
wrapper.eq(StudioAxfOrder.MERCHANT_NO, merchantNo); wrapper.eq(StudioAxfOrder.MERCHANT_NO, merchantNo);
...@@ -96,10 +96,10 @@ public class StudioAxfOrderRpService extends MapperRepoService<Long, StudioAxfOr ...@@ -96,10 +96,10 @@ public class StudioAxfOrderRpService extends MapperRepoService<Long, StudioAxfOr
.orElse(null); .orElse(null);
} }
public AggStudioAxfOrderVO agg(List<Long> studioIds, Long studentId, String studentName, public AggStudioAxfOrderVO agg(List<Long> studioIds, Long memberId, String memberName,
String voucherBusinessNo, String thirdOrderNo, Date signTimeStart, Date signTimeEnd, String voucherBusinessNo, String thirdOrderNo, Date signTimeStart, Date signTimeEnd,
Date cancelTimeStart, Date cancelTimeEnd, AxfOrderSignStateEnums state) { Date cancelTimeStart, Date cancelTimeEnd, AxfOrderSignStateEnums state) {
AggStudioAxfOrderVO vo = this.baseMapper.agg(studioIds, studentId, studentName, voucherBusinessNo, AggStudioAxfOrderVO vo = this.baseMapper.agg(studioIds, memberId, memberName, voucherBusinessNo,
thirdOrderNo, signTimeStart, signTimeEnd, cancelTimeStart, cancelTimeEnd, state); thirdOrderNo, signTimeStart, signTimeEnd, cancelTimeStart, cancelTimeEnd, state);
if (null == vo) { if (null == vo) {
return AggStudioAxfOrderVO.builder().receivedActualAmount(BigDecimal.ZERO) return AggStudioAxfOrderVO.builder().receivedActualAmount(BigDecimal.ZERO)
......
...@@ -320,7 +320,7 @@ public class AxfConvert { ...@@ -320,7 +320,7 @@ public class AxfConvert {
} }
public static StudioAxfOrder toEntity(CommodityOrderEvent event, String merchantNo, CommodityVO commodity, public static StudioAxfOrder toEntity(CommodityOrderEvent event, String merchantNo, CommodityVO commodity,
VoucherVO voucher, MemberDetailVO student) { VoucherVO voucher, MemberDetailVO member) {
AlipayCommerceMerchantcardOrderNotifyModel model = JSON.parseObject(event.getAttr(), AlipayCommerceMerchantcardOrderNotifyModel model = JSON.parseObject(event.getAttr(),
AlipayCommerceMerchantcardOrderNotifyModel.class); AlipayCommerceMerchantcardOrderNotifyModel.class);
return StudioAxfOrder.builder() return StudioAxfOrder.builder()
...@@ -330,8 +330,8 @@ public class AxfConvert { ...@@ -330,8 +330,8 @@ public class AxfConvert {
.merchantId(event.getMerchantId()) .merchantId(event.getMerchantId())
.merchantNo(merchantNo) .merchantNo(merchantNo)
.commodityId(commodity.getId()) .commodityId(commodity.getId())
.studentId(student.getId()) .memberId(member.getId())
.studentName(student.getName()) .memberName(member.getName())
.originalPrice(MoneyUtil.divide(new BigDecimal(model.getOriginPriceTotal()), new BigDecimal("100"))) .originalPrice(MoneyUtil.divide(new BigDecimal(model.getOriginPriceTotal()), new BigDecimal("100")))
.salePrice(MoneyUtil.divide(new BigDecimal(model.getSalePriceTotal()), new BigDecimal("100"))) .salePrice(MoneyUtil.divide(new BigDecimal(model.getSalePriceTotal()), new BigDecimal("100")))
.totalPeriod(Integer.parseInt(model.getTotalCount())) .totalPeriod(Integer.parseInt(model.getTotalCount()))
......
...@@ -12,6 +12,7 @@ import com.jiejing.common.exception.BizException; ...@@ -12,6 +12,7 @@ import com.jiejing.common.exception.BizException;
import com.jiejing.common.model.JsonResult; import com.jiejing.common.model.JsonResult;
import com.jiejing.common.model.PageVO; import com.jiejing.common.model.PageVO;
import com.jiejing.common.request.IdRequest; import com.jiejing.common.request.IdRequest;
import com.jiejing.common.request.IdsRequest;
import com.jiejing.common.utils.convert.BeanUtil; import com.jiejing.common.utils.convert.BeanUtil;
import com.jiejing.common.utils.crypt.AesUtil; import com.jiejing.common.utils.crypt.AesUtil;
import com.jiejing.filecenter.api.resource.vo.ResourceInfoVO; import com.jiejing.filecenter.api.resource.vo.ResourceInfoVO;
...@@ -60,7 +61,10 @@ import com.jiejing.fitness.finance.service.utils.DingUtil; ...@@ -60,7 +61,10 @@ import com.jiejing.fitness.finance.service.utils.DingUtil;
import com.jiejing.fitness.finance.service.utils.MoneyUtil; import com.jiejing.fitness.finance.service.utils.MoneyUtil;
import com.jiejing.fitness.request.MemberIdRequest; import com.jiejing.fitness.request.MemberIdRequest;
import com.jiejing.member.api.member.MemberApi; import com.jiejing.member.api.member.MemberApi;
import com.jiejing.member.api.member.request.ListStudioMemberInfoRequest;
import com.jiejing.member.api.member.vo.MemberDetailVO; import com.jiejing.member.api.member.vo.MemberDetailVO;
import com.jiejing.member.api.member.vo.MemberDigestVO;
import com.jiejing.member.api.member.vo.StudioMemberSimpleVO;
import com.jiejing.message.enums.MsgChannelEnum; import com.jiejing.message.enums.MsgChannelEnum;
import com.jiejing.message.event.SendCommonMsgEvent; import com.jiejing.message.event.SendCommonMsgEvent;
import com.jiejing.paycenter.api.merchant.MerchantApi; import com.jiejing.paycenter.api.merchant.MerchantApi;
...@@ -129,10 +133,10 @@ import java.util.Set; ...@@ -129,10 +133,10 @@ import java.util.Set;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.DateUtils;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
...@@ -591,7 +595,7 @@ public class AxfServiceImpl implements AxfService { ...@@ -591,7 +595,7 @@ public class AxfServiceImpl implements AxfService {
} }
Page<StudioAxfOrder> page = studioAxfOrderRpService.page(Lists.newArrayList(studioIds), Page<StudioAxfOrder> page = studioAxfOrderRpService.page(Lists.newArrayList(studioIds),
request.getStudentId(), request.getStudentName(), request.getMerchantNo(), request.getMemberId(), request.getMemberName(), request.getMerchantNo(),
request.getVoucherBusinessNo(), request.getVoucherBusinessNo(),
request.getThirdOrderNo(), request.getSignTimeStart(), request.getSignTimeEnd(), request.getThirdOrderNo(), request.getSignTimeStart(), request.getSignTimeEnd(),
request.getCancelTimeStart(), request.getCancelTimeEnd(), request.getState(), request.getCurrent(), request.getCancelTimeStart(), request.getCancelTimeEnd(), request.getState(), request.getCurrent(),
...@@ -603,7 +607,7 @@ public class AxfServiceImpl implements AxfService { ...@@ -603,7 +607,7 @@ public class AxfServiceImpl implements AxfService {
// 补充学员姓名+校区名称 // 补充学员姓名+校区名称
List<StudioAxfOrderVO> vos = toVOList(page.getContent()); List<StudioAxfOrderVO> vos = toVOList(page.getContent());
this.appendStudioName(vos); this.appendStudioAndMemberInfo(vos);
return PageVO.convert(page, vos); return PageVO.convert(page, vos);
} }
...@@ -611,18 +615,24 @@ public class AxfServiceImpl implements AxfService { ...@@ -611,18 +615,24 @@ public class AxfServiceImpl implements AxfService {
public AggStudioAxfOrderVO aggOrder(PageStudioAxfOrderRequest request) { public AggStudioAxfOrderVO aggOrder(PageStudioAxfOrderRequest request) {
AggStudioAxfOrderVO vo = studioAxfOrderRpService.agg( AggStudioAxfOrderVO vo = studioAxfOrderRpService.agg(
Optional.ofNullable(request.getStudioId()).map(Lists::newArrayList).orElse(null), Optional.ofNullable(request.getStudioId()).map(Lists::newArrayList).orElse(null),
request.getStudentId(), request.getStudentName(), request.getVoucherBusinessNo(), request.getMemberId(), request.getMemberName(), request.getVoucherBusinessNo(),
request.getThirdOrderNo(), request.getSignTimeStart(), request.getSignTimeEnd(), request.getThirdOrderNo(), request.getSignTimeStart(), request.getSignTimeEnd(),
request.getCancelTimeStart(), request.getCancelTimeEnd(), request.getState()); request.getCancelTimeStart(), request.getCancelTimeEnd(), request.getState());
vo.setRate(AxfConst.RATE); vo.setRate(AxfConst.RATE);
return vo; return vo;
} }
private void appendStudioName(List<StudioAxfOrderVO> vos) { private void appendStudioAndMemberInfo(List<StudioAxfOrderVO> vos) {
Set<Long> studioIds = vos.stream().map(StudioAxfOrderVO::getStudioId).collect(Collectors.toSet()); Set<Long> studioIds = vos.stream().map(StudioAxfOrderVO::getStudioId).collect(Collectors.toSet());
Map<Long, StudioVO> studioMap = studioRpcService.mapStudio(Lists.newArrayList(studioIds)); Map<Long, StudioVO> studioMap = studioRpcService.mapStudio(Lists.newArrayList(studioIds));
vos.forEach( List<Long> memberIds = vos.stream().map(StudioAxfOrderVO::getMemberId).distinct().collect(Collectors.toList());
e -> e.setStudioName(studioMap.getOrDefault(e.getStudioId(), new StudioVO()).getName())); Map<Long, MemberDigestVO> memberDigestVOMap = this.getMemberList(memberIds).stream()
.collect(Collectors.toMap(MemberDigestVO::getId, Function.identity(), (k1, k2) -> k1));
vos.forEach(e -> {
e.setStudioName(studioMap.getOrDefault(e.getStudioId(), new StudioVO()).getName());
e.setMemberName(memberDigestVOMap.getOrDefault(e.getMemberId(), new MemberDigestVO()).getName());
e.setMemberPhone(memberDigestVOMap.getOrDefault(e.getMemberId(), new MemberDigestVO()).getPhone());
});
} }
private List<StudioAxfOrderVO> toVOList(List<StudioAxfOrder> orders) { private List<StudioAxfOrderVO> toVOList(List<StudioAxfOrder> orders) {
...@@ -1061,7 +1071,7 @@ public class AxfServiceImpl implements AxfService { ...@@ -1061,7 +1071,7 @@ public class AxfServiceImpl implements AxfService {
result.assertSuccess(); result.assertSuccess();
CommodityVO commodity = result.getResult(); CommodityVO commodity = result.getResult();
VoucherVO voucher = this.getVoucher(commodity.getBizId()); VoucherVO voucher = this.getVoucher(commodity.getBizId());
MemberDetailVO student = this.getStudent(voucher.getReceiver().getId()); MemberDetailVO member = this.getMemberDetail(voucher.getReceiver().getId());
String merchantNo = null; String merchantNo = null;
if (event.getMerchantId()!=null){ if (event.getMerchantId()!=null){
...@@ -1071,17 +1081,24 @@ public class AxfServiceImpl implements AxfService { ...@@ -1071,17 +1081,24 @@ public class AxfServiceImpl implements AxfService {
} }
} }
StudioAxfOrder order = AxfConvert.toEntity(event, merchantNo, commodity, voucher, student); StudioAxfOrder order = AxfConvert.toEntity(event, merchantNo, commodity, voucher, member);
studioAxfOrderRpService.insert(order); studioAxfOrderRpService.insert(order);
} }
private MemberDetailVO getStudent(Long memberId) { private MemberDetailVO getMemberDetail(Long memberId) {
MemberIdRequest request = new MemberIdRequest(); MemberIdRequest request = new MemberIdRequest();
request.setMemberId(memberId); request.setMemberId(memberId);
JsonResult<MemberDetailVO> result = memberApi.findDetailById(request); JsonResult<MemberDetailVO> result = memberApi.findDetailById(request);
return result.assertAndReturn().getResult(); return result.assertAndReturn().getResult();
} }
private List<MemberDigestVO> getMemberList(List<Long> memberIds) {
IdsRequest request = new IdsRequest();
request.setIds(memberIds);
JsonResult<List<MemberDigestVO>> result = memberApi.listDigestByIds(request);
return result.assertAndReturn().getResult();
}
private VoucherVO getVoucher(Long voucherId) { private VoucherVO getVoucher(Long voucherId) {
JsonResult<VoucherVO> result = voucherApi.getVoucher(IdRequest.builder().id(voucherId).build()); JsonResult<VoucherVO> result = voucherApi.getVoucher(IdRequest.builder().id(voucherId).build());
return result.assertAndReturn().getResult(); return result.assertAndReturn().getResult();
......
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