mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
Merge branch 'dev' of http://192.168.2.2:8099/jsowell/jsowell-charger-web into dev
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.api.uniapp;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Maps;
|
||||
@@ -18,6 +19,7 @@ import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
|
||||
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
|
||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||
import com.jsowell.pile.vo.uniapp.MemberWalletInfoVO;
|
||||
import com.jsowell.service.MemberService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -185,14 +187,15 @@ public class MemberController extends BaseController {
|
||||
*/
|
||||
@PostMapping("/getMemberBalanceChanges")
|
||||
public RestApiResponse<?> getMemberBalanceChanges(HttpServletRequest request, @RequestBody UniAppQueryMemberBalanceDTO dto) {
|
||||
logger.info("查询用户账户余额变动信息 params:{}", dto.toString() );
|
||||
logger.info("查询用户账户余额变动信息 params:{}", JSON.toJSONString(dto));
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
String memberId = getMemberIdByAuthorization(request);
|
||||
dto.setMemberId(memberId);
|
||||
PageResponse pageResponse = memberService.getMemberBalanceChanges(dto);
|
||||
// PageResponse pageResponse = memberService.getMemberBalanceChanges(dto);
|
||||
// PageResponse pageResponse = memberService.getMemberWalletLog(dto);
|
||||
response = new RestApiResponse<>(pageResponse);
|
||||
MemberWalletInfoVO memberWalletInfo = memberService.getMemberWalletInfo(dto);
|
||||
response = new RestApiResponse<>(memberWalletInfo);
|
||||
} catch (Exception e) {
|
||||
logger.error("查询用户账户余额变动信息 error:", e);
|
||||
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_BALANCE_CHANGES_ERROR);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.service;
|
||||
|
||||
import cn.hutool.core.util.PageUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.fastjson2.TypeReference;
|
||||
@@ -32,10 +33,8 @@ import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.transaction.dto.MemberTransactionDTO;
|
||||
import com.jsowell.pile.transaction.service.TransactionService;
|
||||
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
|
||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||
import com.jsowell.pile.vo.base.StationInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.*;
|
||||
import com.jsowell.wxpay.service.WxAppletRemoteService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
@@ -80,6 +79,9 @@ public class MemberService {
|
||||
@Autowired
|
||||
private IMemberInvoiceTitleService memberInvoiceTitleService;
|
||||
|
||||
@Autowired
|
||||
private IMemberWalletInfoService memberWalletInfoService;
|
||||
|
||||
@Autowired
|
||||
private PileRemoteService pileRemoteService;
|
||||
|
||||
@@ -290,14 +292,12 @@ public class MemberService {
|
||||
return pageResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会员钱包明细
|
||||
* @return
|
||||
*/
|
||||
public PageResponse getMemberWalletLog (UniAppQueryMemberBalanceDTO dto) throws ParseException {
|
||||
// 获取分页信息以及memberId
|
||||
int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum();
|
||||
int pageSize = dto.getPageSize() == 0 ? 10 : dto.getPageSize();
|
||||
public MemberWalletInfoVO getMemberWalletInfo(UniAppQueryMemberBalanceDTO dto) throws ParseException {
|
||||
MemberWalletInfoVO vo = new MemberWalletInfoVO();
|
||||
vo.setMemberId(dto.getMemberId());
|
||||
// 获取分页信息
|
||||
long pageNum = dto.getPageNum() == 0 ? 1L : dto.getPageNum();
|
||||
long pageSize = dto.getPageSize() == 0 ? 10L : dto.getPageSize();
|
||||
String tradeDate = dto.getTradeDate();
|
||||
// 获取年、月
|
||||
String[] split = StringUtils.split(tradeDate, "-");
|
||||
@@ -311,13 +311,27 @@ public class MemberService {
|
||||
lastDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
|
||||
dto.setTradeDate(tradeDate);
|
||||
dto.setEndDate(lastDay);
|
||||
|
||||
// 查询会员钱包信息表,获取 本金余额
|
||||
MemberWalletInfo memberWalletInfo = memberWalletInfoService.selectByMemberId(dto.getMemberId());
|
||||
if (memberWalletInfo == null) {
|
||||
// 用户未注册小程序
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_AUTHENTICATION_ERROR);
|
||||
}
|
||||
// 当前余额
|
||||
vo.setCurrentBalance(memberWalletInfo.getPrincipalBalance().add(memberWalletInfo.getGiftBalance()));
|
||||
|
||||
// 根据日期查询会员钱包变动明细
|
||||
// 分页
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
// PageHelper.startPage(pageNum, pageSize);
|
||||
List<MemberWalletLogVO> list = memberBasicInfoService.getMemberWalletDetail(dto);
|
||||
PageInfo<MemberWalletLogVO> pageInfo = new PageInfo<>(list);
|
||||
// 总支出
|
||||
BigDecimal totalConsumption = list.stream().map(MemberWalletLogVO::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
vo.setTotalConsumption(totalConsumption);
|
||||
|
||||
// PageInfo<MemberWalletLogVO> pageInfo = new PageInfo<>(list);
|
||||
// 获取 type 和 subType 的对应信息
|
||||
for (MemberWalletLogVO walletLogVO : pageInfo.getList()) {
|
||||
for (MemberWalletLogVO walletLogVO : list) {
|
||||
// 将负数转为正数
|
||||
walletLogVO.setAmount(BigDecimal.valueOf(Math.abs(walletLogVO.getAmount().doubleValue())).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
String subType = walletLogVO.getSubType();
|
||||
@@ -328,16 +342,75 @@ public class MemberService {
|
||||
// walletLogVO.setTotalAccountAmount(walletLogVO.getPrincipalBalance().add(walletLogVO.getGiftBalance()));
|
||||
}
|
||||
|
||||
List<MemberWalletLogVO> collect = list.stream()
|
||||
.skip((pageNum - 1) * pageSize)
|
||||
.limit(pageSize)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
int total = list.size();
|
||||
int pages = PageUtil.totalPage(total, dto.getPageSize());
|
||||
// 返回结果集
|
||||
PageResponse pageResponse = PageResponse.builder()
|
||||
.pageSize(pageSize)
|
||||
.pageNum(pageNum)
|
||||
.list(pageInfo.getList())
|
||||
.pages(pageInfo.getPages())
|
||||
.total(pageInfo.getTotal())
|
||||
.pageNum(Integer.parseInt(String.valueOf(pageNum)))
|
||||
.pageSize(Integer.parseInt(String.valueOf(pageSize)))
|
||||
.list(collect)
|
||||
.pages(pages)
|
||||
.total(total)
|
||||
|
||||
.build();
|
||||
return pageResponse;
|
||||
|
||||
vo.setPageResponse(pageResponse);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会员钱包明细
|
||||
* @return
|
||||
*/
|
||||
// public PageResponse getMemberWalletLog (UniAppQueryMemberBalanceDTO dto) throws ParseException {
|
||||
// // 获取分页信息以及memberId
|
||||
// int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum();
|
||||
// int pageSize = dto.getPageSize() == 0 ? 10 : dto.getPageSize();
|
||||
// String tradeDate = dto.getTradeDate();
|
||||
// // 获取年、月
|
||||
// String[] split = StringUtils.split(tradeDate, "-");
|
||||
// int year = Integer.parseInt(split[0]);
|
||||
// int month = Integer.parseInt(split[1]);
|
||||
// // 根据年月获取当月第一天和最后一天
|
||||
// tradeDate = DateUtils.getFirstDay(year, month, DateUtils.YYYY_MM_DD);
|
||||
// String lastDay = DateUtils.getLastDay(year, month, DateUtils.YYYY_MM_DD);
|
||||
// // sql语句查询日期需要多加一天
|
||||
// Date date = DateUtils.addDays(DateUtils.parseDate(lastDay, DateUtils.YYYY_MM_DD), 1);
|
||||
// lastDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
|
||||
// dto.setTradeDate(tradeDate);
|
||||
// dto.setEndDate(lastDay);
|
||||
// // 根据日期查询会员钱包变动明细
|
||||
// // 分页
|
||||
// PageHelper.startPage(pageNum, pageSize);
|
||||
// List<MemberWalletLogVO> list = memberBasicInfoService.getMemberWalletDetail(dto);
|
||||
// PageInfo<MemberWalletLogVO> pageInfo = new PageInfo<>(list);
|
||||
// // 获取 type 和 subType 的对应信息
|
||||
// for (MemberWalletLogVO walletLogVO : pageInfo.getList()) {
|
||||
// // 将负数转为正数
|
||||
// walletLogVO.setAmount(BigDecimal.valueOf(Math.abs(walletLogVO.getAmount().doubleValue())).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
// String subType = walletLogVO.getSubType();
|
||||
// String subTypeValue = BalanceChangesEnum.getValueByCode(subType);
|
||||
// if (StringUtils.isNotBlank(subTypeValue)) {
|
||||
// walletLogVO.setSubType(subTypeValue);
|
||||
// }
|
||||
// // walletLogVO.setTotalAccountAmount(walletLogVO.getPrincipalBalance().add(walletLogVO.getGiftBalance()));
|
||||
// }
|
||||
//
|
||||
// PageResponse pageResponse = PageResponse.builder()
|
||||
// .pageSize(pageSize)
|
||||
// .pageNum(pageNum)
|
||||
// .list(pageInfo.getList())
|
||||
// .pages(pageInfo.getPages())
|
||||
// .total(pageInfo.getTotal())
|
||||
// .build();
|
||||
// return pageResponse;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 用户绑定车牌号
|
||||
* @param dto
|
||||
|
||||
@@ -3,9 +3,13 @@ package com.jsowell.web.controller.pile;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.domain.AjaxResult;
|
||||
import com.jsowell.common.enums.ykc.OrderPayModeEnum;
|
||||
import com.jsowell.common.enums.ykc.PayModeEnum;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.id.IdUtils;
|
||||
import com.jsowell.pile.dto.GenerateOrderDTO;
|
||||
import com.jsowell.pile.dto.PayOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryPileDTO;
|
||||
import com.jsowell.pile.dto.UpdateFirmwareDTO;
|
||||
import com.jsowell.service.OrderService;
|
||||
@@ -17,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 远程控制controller
|
||||
*/
|
||||
@@ -58,16 +64,27 @@ public class PileRemoteController {
|
||||
*/
|
||||
@PostMapping("/remoteStartChargingForWeb")
|
||||
public AjaxResult remoteStartCharging(@RequestBody GenerateOrderDTO dto) {
|
||||
// pileRemoteService.remoteStartCharging(queryPileDTO.getPileSn(), queryPileDTO.getConnectorCode());
|
||||
|
||||
// 生成订单并远程启动充电
|
||||
dto.setStartMode(Constants.ZERO);
|
||||
String orderCode = null;
|
||||
// dto.setStartMode(Constants.ZERO);
|
||||
// String orderCode = null;
|
||||
String transactionCode = null;
|
||||
try {
|
||||
orderCode = orderService.generateOrder(dto);
|
||||
transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
|
||||
pileRemoteService.remoteStartCharging(dto.getPileSn(), dto.getConnectorCode(), transactionCode, new BigDecimal("500"));
|
||||
// // 生成订单
|
||||
// orderCode = orderService.generateOrder(dto);
|
||||
// // 支付订单
|
||||
// PayOrderDTO payOrderDTO = new PayOrderDTO();
|
||||
// payOrderDTO.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
|
||||
// payOrderDTO.setOrderCode(orderCode);
|
||||
// payOrderDTO.setStartMode(Constants.ZERO);
|
||||
//
|
||||
// orderService.payOrder(payOrderDTO);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return AjaxResult.success(ImmutableMap.of("orderCode", orderCode));
|
||||
return AjaxResult.success(ImmutableMap.of("orderCode", transactionCode));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,8 @@ public interface IMemberWalletInfoService {
|
||||
|
||||
MemberWalletInfo selectByPrimaryKey(Integer id);
|
||||
|
||||
MemberWalletInfo selectByMemberId(String memberId);
|
||||
|
||||
int updateByPrimaryKeySelective(MemberWalletInfo record);
|
||||
|
||||
int updateByPrimaryKey(MemberWalletInfo record);
|
||||
|
||||
@@ -33,6 +33,11 @@ public class MemberWalletInfoServiceImpl implements IMemberWalletInfoService {
|
||||
return memberWalletInfoMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MemberWalletInfo selectByMemberId(String memberId) {
|
||||
return memberWalletInfoMapper.selectByMemberId(memberId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateByPrimaryKeySelective(MemberWalletInfo record) {
|
||||
return memberWalletInfoMapper.updateByPrimaryKeySelective(record);
|
||||
|
||||
@@ -619,8 +619,8 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService {
|
||||
List<PileInfoVO> pileInfoVOS = queryPileDetailList(stationIdList);
|
||||
// 对集合根据pileSn进行去重
|
||||
ArrayList<PileInfoVO> pileInfoList = pileInfoVOS.stream()
|
||||
.collect(Collectors.collectingAndThen(Collectors.toCollection(()
|
||||
-> new TreeSet<>(Comparator.comparing(PileInfoVO::getPileSn))), ArrayList::new));
|
||||
.collect(Collectors.collectingAndThen(Collectors.toCollection(
|
||||
() -> new TreeSet<>(Comparator.comparing(PileInfoVO::getPileSn))), ArrayList::new));
|
||||
// 桩总数
|
||||
generalInfo.setTotalPileQuantity(String.valueOf(pileInfoList.size()));
|
||||
// 总充电订单数 3.0 --> 3
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.jsowell.pile.vo.uniapp;
|
||||
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 会员钱包明细VO
|
||||
*
|
||||
* @author Lemon
|
||||
* @Date 2023/7/24 14:36
|
||||
*/
|
||||
@Data
|
||||
public class MemberWalletInfoVO {
|
||||
/**
|
||||
* 会员id
|
||||
*/
|
||||
private String memberId;
|
||||
|
||||
/**
|
||||
* 当前余额
|
||||
*/
|
||||
private BigDecimal currentBalance;
|
||||
|
||||
/**
|
||||
* 总消费
|
||||
*/
|
||||
private BigDecimal totalConsumption;
|
||||
|
||||
/**
|
||||
* 分页对象list
|
||||
*/
|
||||
private PageResponse pageResponse;
|
||||
}
|
||||
@@ -243,9 +243,12 @@ public class WxAppletRemoteService {
|
||||
stopChargingMessage.setEndReason(sendMessageVO.getStopReason()); // 结束原因
|
||||
stopChargingMessage.setOrderCode(sendMessageVO.getOrderCode()); // 订单号
|
||||
stopChargingMessage.setChargingDegree(sendMessageVO.getChargingDegree()); // 充电度数
|
||||
Date chargeStartTime = DateUtils.parseDate(sendMessageVO.getChargeStartTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||
Date chargeStopTime = DateUtils.parseDate(sendMessageVO.getChargeStopTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||
String chargingTime = DateUtils.getDatePoor(chargeStopTime, chargeStartTime);
|
||||
String chargingTime = "";
|
||||
if (StringUtils.isNotBlank(sendMessageVO.getChargeStartTime()) && StringUtils.isNotBlank(sendMessageVO.getChargeStopTime())) {
|
||||
Date chargeStartTime = DateUtils.parseDate(sendMessageVO.getChargeStartTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||
Date chargeStopTime = DateUtils.parseDate(sendMessageVO.getChargeStopTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||
chargingTime = DateUtils.getDatePoor(chargeStopTime, chargeStartTime);
|
||||
}
|
||||
|
||||
stopChargingMessage.setChargingTime(chargingTime); // 充电时长
|
||||
|
||||
|
||||
Reference in New Issue
Block a user