mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-13 03:39:55 +08:00
Merge branch 'dev' of https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web into dev
This commit is contained in:
@@ -688,22 +688,22 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
|
||||
OrderBasicInfo finalOrderBasicInfo = orderBasicInfo;
|
||||
|
||||
// TODO 异步推送第三方平台订单信息
|
||||
CompletableFuture.runAsync(() -> {
|
||||
try {
|
||||
commonService.commonPushOrderInfo(finalOrderBasicInfo);
|
||||
} catch (Exception e) {
|
||||
log.error("推送第三方平台订单信息error, ", e);
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
|
||||
// TODO 异步推送第三方平台订单信息V2
|
||||
CompletableFuture.runAsync(() -> {
|
||||
try {
|
||||
commonService.commonPushOrderInfoV2(finalOrderBasicInfo);
|
||||
} catch (Exception e) {
|
||||
log.error("推送第三方平台订单信息error, ", e);
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
// CompletableFuture.runAsync(() -> {
|
||||
// try {
|
||||
// commonService.commonPushOrderInfo(finalOrderBasicInfo);
|
||||
// } catch (Exception e) {
|
||||
// log.error("推送第三方平台订单信息error, ", e);
|
||||
// }
|
||||
// }, thirdpartyTaskExecutor);
|
||||
//
|
||||
// // TODO 异步推送第三方平台订单信息V2
|
||||
// CompletableFuture.runAsync(() -> {
|
||||
// try {
|
||||
// commonService.commonPushOrderInfoV2(finalOrderBasicInfo);
|
||||
// } catch (Exception e) {
|
||||
// log.error("推送第三方平台订单信息error, ", e);
|
||||
// }
|
||||
// }, thirdpartyTaskExecutor);
|
||||
|
||||
// TODO 异步推送充电订单算法平台
|
||||
CompletableFuture.runAsync(() -> {
|
||||
|
||||
@@ -80,7 +80,7 @@ public interface MemberGroupMapper {
|
||||
|
||||
MemberGroupVO queryByGroupCodeAndMemberId(@Param("groupCode") String groupCode, @Param("memberId") String memberId);
|
||||
|
||||
List<MemberVO> queryMemberList(@Param("groupCode") String groupCode);
|
||||
List<MemberVO> queryMemberList(MemberGroupDTO dto);
|
||||
|
||||
MemberGroup selectByGroupCode(String groupCode);
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.util.MerchantUtils;
|
||||
import com.jsowell.pile.util.UserUtils;
|
||||
import com.jsowell.pile.vo.base.ConfirmStartChargingMemberVO;
|
||||
import com.jsowell.pile.vo.base.MemberWalletVO;
|
||||
import com.jsowell.pile.vo.base.MerchantInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.*;
|
||||
import com.jsowell.pile.vo.web.MemberDetailsVO;
|
||||
@@ -37,6 +38,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -449,11 +451,53 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
||||
merchantId = MerchantUtils.XIXIAO_MERCHANT_ID;
|
||||
}
|
||||
|
||||
// 计算用户注册天数
|
||||
String days = DateUtils.getPoorDays(new Date(), vo.getCreateTime());
|
||||
vo.setRegistrationDays(days);
|
||||
|
||||
final String finalMerchantId = merchantId;
|
||||
|
||||
// 使用 CompletableFuture 并行查询
|
||||
// 1. 查询单个钱包信息
|
||||
CompletableFuture<MemberWalletInfo> walletInfoFuture = CompletableFuture.supplyAsync(() -> {
|
||||
try {
|
||||
return memberWalletInfoService.selectByMemberId(memberId, finalMerchantId);
|
||||
} catch (Exception e) {
|
||||
log.error("查询用户余额异常 memberId:{}, merchantId:{}", memberId, finalMerchantId, e);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
// 2. 查询车牌号列表
|
||||
CompletableFuture<List<MemberPlateNumberRelation>> plateNumberFuture = CompletableFuture.supplyAsync(() -> {
|
||||
MemberPlateNumberRelation query = new MemberPlateNumberRelation();
|
||||
query.setMemberId(memberId);
|
||||
return memberPlateNumberRelationMapper.selectMemberPlateNumberRelationList(query);
|
||||
});
|
||||
|
||||
// 3. 查询收藏站点列表
|
||||
CompletableFuture<List<String>> stationIdsFuture = CompletableFuture.supplyAsync(() ->
|
||||
memberStationRelationService.getStationIdListByMemberId(memberId)
|
||||
);
|
||||
|
||||
// 4. 查询钱包列表
|
||||
CompletableFuture<List<MemberWalletVO>> walletListFuture = CompletableFuture.supplyAsync(() -> {
|
||||
try {
|
||||
return memberWalletInfoService.selectByMemberWalletList(memberId);
|
||||
} catch (Exception e) {
|
||||
log.error("查询会员钱包列表异常 memberId:{}", memberId, e);
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
});
|
||||
|
||||
// 等待所有异步任务完成
|
||||
CompletableFuture.allOf(walletInfoFuture, plateNumberFuture, stationIdsFuture, walletListFuture).join();
|
||||
|
||||
// 处理钱包信息结果
|
||||
try {
|
||||
// BigDecimal totalAccountAmount = BigDecimal.ZERO;
|
||||
MemberWalletInfo memberWalletInfo = walletInfoFuture.get();
|
||||
BigDecimal principalBalance = BigDecimal.ZERO;
|
||||
BigDecimal giftBalance = BigDecimal.ZERO;
|
||||
MemberWalletInfo memberWalletInfo = memberWalletInfoService.selectByMemberId(memberId, merchantId);
|
||||
if (memberWalletInfo != null) {
|
||||
if (memberWalletInfo.getPrincipalBalance() != null) {
|
||||
principalBalance = memberWalletInfo.getPrincipalBalance();
|
||||
@@ -461,42 +505,60 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
||||
if (memberWalletInfo.getGiftBalance() != null) {
|
||||
giftBalance = memberWalletInfo.getGiftBalance();
|
||||
}
|
||||
// totalAccountAmount = memberWalletInfo.getPrincipalBalance();
|
||||
vo.setMerchantId(memberWalletInfo.getMerchantId());
|
||||
}
|
||||
// 计算用户注册天数
|
||||
String days = DateUtils.getPoorDays(new Date(), vo.getCreateTime());
|
||||
vo.setRegistrationDays(days);
|
||||
vo.setPrincipalBalance(principalBalance);
|
||||
vo.setGiftBalance(giftBalance);
|
||||
vo.setTotalBalance(vo.getPrincipalBalance().add(vo.getGiftBalance()));
|
||||
vo.setTotalBalance(principalBalance.add(giftBalance));
|
||||
} catch (Exception e) {
|
||||
log.error("查询用户余额异常 memberId:{}, merchantId:{}", memberId, merchantId, e);
|
||||
log.error("获取钱包信息结果异常 memberId:{}", memberId, e);
|
||||
vo.setPrincipalBalance(BigDecimal.ZERO);
|
||||
vo.setGiftBalance(BigDecimal.ZERO);
|
||||
vo.setTotalBalance(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
// 查询用户车牌号
|
||||
MemberPlateNumberRelation memberPlateNumberRelation = new MemberPlateNumberRelation();
|
||||
memberPlateNumberRelation.setMemberId(memberId);
|
||||
List<MemberPlateNumberRelation> list = memberPlateNumberRelationMapper.selectMemberPlateNumberRelationList(memberPlateNumberRelation);
|
||||
List<String> plateNumberList = new ArrayList<>();
|
||||
List<String> vinCodeList = new ArrayList<>();
|
||||
for (MemberPlateNumberRelation relation : list) {
|
||||
if (StringUtils.isNotBlank(relation.getLicensePlateNumber())) {
|
||||
plateNumberList.add(relation.getLicensePlateNumber());
|
||||
}
|
||||
if (StringUtils.isNotBlank(relation.getVinCode())) {
|
||||
vinCodeList.add(relation.getVinCode());
|
||||
// 处理车牌号结果
|
||||
try {
|
||||
List<MemberPlateNumberRelation> list = plateNumberFuture.get();
|
||||
List<String> plateNumberList = new ArrayList<>();
|
||||
List<String> vinCodeList = new ArrayList<>();
|
||||
for (MemberPlateNumberRelation relation : list) {
|
||||
if (StringUtils.isNotBlank(relation.getLicensePlateNumber())) {
|
||||
plateNumberList.add(relation.getLicensePlateNumber());
|
||||
}
|
||||
if (StringUtils.isNotBlank(relation.getVinCode())) {
|
||||
vinCodeList.add(relation.getVinCode());
|
||||
}
|
||||
}
|
||||
vo.setPlateNumberList(plateNumberList);
|
||||
vo.setVinCodeList(vinCodeList);
|
||||
vo.setVehicleList(list);
|
||||
} catch (Exception e) {
|
||||
log.error("获取车牌号结果异常 memberId:{}", memberId, e);
|
||||
vo.setPlateNumberList(Lists.newArrayList());
|
||||
vo.setVinCodeList(Lists.newArrayList());
|
||||
vo.setVehicleList(Lists.newArrayList());
|
||||
}
|
||||
vo.setPlateNumberList(plateNumberList);
|
||||
vo.setVinCodeList(vinCodeList);
|
||||
|
||||
// 查询用户收藏的站点
|
||||
List<String> stationIds = memberStationRelationService.getStationIdListByMemberId(memberId);
|
||||
if (CollectionUtils.isEmpty(stationIds)) {
|
||||
// 处理收藏站点结果
|
||||
try {
|
||||
List<String> stationIds = stationIdsFuture.get();
|
||||
if (CollectionUtils.isEmpty(stationIds)) {
|
||||
vo.setCollectedStationIdList(Lists.newArrayList());
|
||||
} else {
|
||||
vo.setCollectedStationIdList(stationIds);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("获取收藏站点结果异常 memberId:{}", memberId, e);
|
||||
vo.setCollectedStationIdList(Lists.newArrayList());
|
||||
}else {
|
||||
vo.setCollectedStationIdList(stationIds);
|
||||
}
|
||||
|
||||
// 处理钱包列表结果
|
||||
try {
|
||||
vo.setWalletList(walletListFuture.get());
|
||||
} catch (Exception e) {
|
||||
log.error("获取钱包列表结果异常 memberId:{}", memberId, e);
|
||||
vo.setWalletList(Lists.newArrayList());
|
||||
}
|
||||
|
||||
return vo;
|
||||
|
||||
@@ -386,7 +386,10 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
||||
|
||||
@Override
|
||||
public List<MemberVO> queryMemberList(MemberGroupDTO dto) {
|
||||
List<MemberVO> list = memberGroupMapper.queryMemberList(dto.getGroupCode());
|
||||
if (dto.getGroupCode().isEmpty()){
|
||||
return null;
|
||||
}
|
||||
List<MemberVO> list = memberGroupMapper.queryMemberList(dto);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,9 @@ import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||
import com.jsowell.pile.vo.base.MemberWalletVO;
|
||||
|
||||
/**
|
||||
* 用户信息VO
|
||||
*
|
||||
@@ -110,4 +113,14 @@ public class MemberVO {
|
||||
* 车牌号
|
||||
*/
|
||||
private String plateNumber;
|
||||
|
||||
/**
|
||||
* 会员钱包列表(不同运营商)
|
||||
*/
|
||||
private List<MemberWalletVO> walletList;
|
||||
|
||||
/**
|
||||
* 车辆信息列表(车牌与VIN一一对应)
|
||||
*/
|
||||
private List<MemberPlateNumberRelation> vehicleList;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id, group_name, group_code, merchant_id, station_id, group_level, group_type, discount, create_by, create_time, update_by, update_time, del_flag
|
||||
</sql>
|
||||
@@ -165,8 +165,14 @@
|
||||
FROM
|
||||
member_basic_info t1
|
||||
JOIN member_group_relation t2 ON t2.member_id = t1.member_id and t2.del_flag = '0'
|
||||
where
|
||||
t2.group_code = #{groupCode,jdbcType=VARCHAR}
|
||||
WHERE t1.del_flag = '0'
|
||||
AND t2.group_code = #{groupCode}
|
||||
<if test="phoneNumber != null and phoneNumber != ''">
|
||||
AND t1.mobile_number LIKE CONCAT('%', #{phoneNumber}, '%')
|
||||
</if>
|
||||
<if test="memberId != null and memberId != ''">
|
||||
AND t2.member_id = #{memberId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectByGroupCode" resultMap="MemberGroupResult">
|
||||
@@ -247,4 +253,4 @@
|
||||
WHERE
|
||||
FIND_IN_SET(t1.id, (SELECT station_id FROM member_group WHERE group_code = #{groupCode,jdbcType=VARCHAR}))
|
||||
</select>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user