mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-01 04:28:02 +08:00
新增 查询停车优免信息列表接口
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
package com.jsowell.api.uniapp.business;
|
package com.jsowell.api.uniapp.business;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.jsowell.common.core.controller.BaseController;
|
import com.jsowell.common.core.controller.BaseController;
|
||||||
|
import com.jsowell.common.core.page.PageResponse;
|
||||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
import com.jsowell.common.response.RestApiResponse;
|
import com.jsowell.common.response.RestApiResponse;
|
||||||
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
|
import com.jsowell.pile.dto.ParkingCouponRecordQueryDTO;
|
||||||
import com.jsowell.pile.service.BusinessFinancialService;
|
import com.jsowell.pile.service.BusinessFinancialService;
|
||||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -56,4 +59,32 @@ public class BusinessFinancialController extends BaseController {
|
|||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询停车优免记录
|
||||||
|
*
|
||||||
|
* @param dto 查询参数
|
||||||
|
* @return 优免记录列表
|
||||||
|
*/
|
||||||
|
@PostMapping("/parkingCouponRecords")
|
||||||
|
public RestApiResponse<?> queryParkingCouponRecords(@RequestBody ParkingCouponRecordQueryDTO dto) {
|
||||||
|
logger.info("查询停车优免记录 params:{}", JSONObject.toJSONString(dto));
|
||||||
|
RestApiResponse<?> response;
|
||||||
|
try {
|
||||||
|
if (dto == null) {
|
||||||
|
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
PageResponse result = businessFinancialService.queryParkingCouponRecords(dto);
|
||||||
|
response = new RestApiResponse<>(result);
|
||||||
|
logger.info("查询停车优免记录成功 total:{}", result.getTotal());
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
logger.warn("查询停车优免记录业务异常 code:{}, message:{}", e.getCode(), e.getMessage(), e);
|
||||||
|
response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("查询停车优免记录系统异常", e);
|
||||||
|
response = new RestApiResponse<>(e);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.jsowell.pile.mapper;
|
package com.jsowell.pile.mapper;
|
||||||
|
|
||||||
import com.jsowell.pile.domain.CarCouponRecord;
|
import com.jsowell.pile.domain.CarCouponRecord;
|
||||||
|
import com.jsowell.pile.dto.ParkingCouponRecordQueryDTO;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.ParkingOrderVO;
|
import com.jsowell.pile.vo.uniapp.customer.ParkingOrderVO;
|
||||||
|
import com.jsowell.pile.vo.web.ParkingCouponRecordVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@@ -76,4 +78,12 @@ public interface CarCouponRecordMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ParkingOrderVO> queryParkingOrderList(@Param("memberId") String memberId);
|
List<ParkingOrderVO> queryParkingOrderList(@Param("memberId") String memberId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询停车优免记录(联表查询站点名称和优免信息)
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 停车优免记录列表
|
||||||
|
*/
|
||||||
|
List<ParkingCouponRecordVO> selectParkingCouponRecordList(ParkingCouponRecordQueryDTO queryDTO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,19 @@
|
|||||||
package com.jsowell.pile.service;
|
package com.jsowell.pile.service;
|
||||||
|
|
||||||
|
import com.jsowell.common.core.page.PageResponse;
|
||||||
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
|
import com.jsowell.pile.dto.ParkingCouponRecordQueryDTO;
|
||||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||||
|
import com.jsowell.pile.vo.web.ParkingCouponRecordVO;
|
||||||
|
|
||||||
public interface BusinessFinancialService {
|
public interface BusinessFinancialService {
|
||||||
MerchantOrderReportVO getMyWallet(MerchantOrderReportDTO dto);
|
MerchantOrderReportVO getMyWallet(MerchantOrderReportDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询停车优免记录
|
||||||
|
*
|
||||||
|
* @param dto 查询条件
|
||||||
|
* @return 分页结果
|
||||||
|
*/
|
||||||
|
PageResponse queryParkingCouponRecords(ParkingCouponRecordQueryDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,28 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||||
import com.jsowell.adapay.service.AdapayService;
|
import com.jsowell.adapay.service.AdapayService;
|
||||||
import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
|
import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
|
||||||
|
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
||||||
|
import com.jsowell.common.core.page.PageResponse;
|
||||||
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
|
import com.jsowell.pile.dto.ParkingCouponRecordQueryDTO;
|
||||||
|
import com.jsowell.pile.mapper.CarCouponRecordMapper;
|
||||||
import com.jsowell.pile.service.BusinessFinancialService;
|
import com.jsowell.pile.service.BusinessFinancialService;
|
||||||
import com.jsowell.pile.service.ClearingWithdrawInfoService;
|
import com.jsowell.pile.service.ClearingWithdrawInfoService;
|
||||||
|
import com.jsowell.pile.service.PileStationInfoService;
|
||||||
import com.jsowell.pile.service.SettleOrderReportService;
|
import com.jsowell.pile.service.SettleOrderReportService;
|
||||||
|
import com.jsowell.pile.util.UserUtils;
|
||||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||||
|
import com.jsowell.pile.vo.web.ParkingCouponRecordVO;
|
||||||
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 java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 运营端小程序财务相关Service
|
* 运营端小程序财务相关Service
|
||||||
@@ -30,6 +40,12 @@ public class BusinessFinancialServiceImpl implements BusinessFinancialService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ClearingWithdrawInfoService clearingWithdrawInfoService;
|
private ClearingWithdrawInfoService clearingWithdrawInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CarCouponRecordMapper carCouponRecordMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PileStationInfoService pileStationInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的钱包查询
|
* 我的钱包查询
|
||||||
* @param dto
|
* @param dto
|
||||||
@@ -77,4 +93,59 @@ public class BusinessFinancialServiceImpl implements BusinessFinancialService {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询停车优免记录
|
||||||
|
*
|
||||||
|
* @param dto 查询条件
|
||||||
|
* @return 分页结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public PageResponse queryParkingCouponRecords(ParkingCouponRecordQueryDTO dto) {
|
||||||
|
// 设置默认分页参数
|
||||||
|
if (dto.getPageNum() == null || dto.getPageNum() <= 0) {
|
||||||
|
dto.setPageNum(1);
|
||||||
|
}
|
||||||
|
if (dto.getPageSize() == null || dto.getPageSize() <= 0) {
|
||||||
|
dto.setPageSize(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取当前登录用户的站点权限
|
||||||
|
if (dto.getStationIds() == null || dto.getStationIds().isEmpty()) {
|
||||||
|
try {
|
||||||
|
AuthorizedDeptVO authorizedMap = UserUtils.getAuthorizedMap();
|
||||||
|
if (authorizedMap != null) {
|
||||||
|
// 判断用户角色类型
|
||||||
|
if (authorizedMap.getStationDeptIds() != null && !authorizedMap.getStationDeptIds().isEmpty()) {
|
||||||
|
// 站点管理员:根据站点部门ID查询站点
|
||||||
|
dto.setStationIds(pileStationInfoService.queryByStationDeptIds(authorizedMap.getStationDeptIds()));
|
||||||
|
} else if (authorizedMap.getMerchantDeptIds() != null && !authorizedMap.getMerchantDeptIds().isEmpty()) {
|
||||||
|
// 运营商管理员:根据运营商部门ID查询站点
|
||||||
|
dto.setStationIds(pileStationInfoService.getStationIdsByMerchantIds(authorizedMap.getMerchantDeptIds()));
|
||||||
|
}
|
||||||
|
// 平台账号:不设置站点ID限制,可查询所有站点
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.warn("获取当前登录用户站点权限失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用 PageHelper 分页
|
||||||
|
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
|
||||||
|
|
||||||
|
// 查询列表
|
||||||
|
List<ParkingCouponRecordVO> list = carCouponRecordMapper.selectParkingCouponRecordList(dto);
|
||||||
|
|
||||||
|
// 构建 PageInfo
|
||||||
|
PageInfo<ParkingCouponRecordVO> pageInfo = new PageInfo<>(list);
|
||||||
|
|
||||||
|
// 构建 PageResponse
|
||||||
|
return PageResponse.builder()
|
||||||
|
.pageNum(dto.getPageNum())
|
||||||
|
.pageSize(dto.getPageSize())
|
||||||
|
.list(pageInfo.getList())
|
||||||
|
.pages(pageInfo.getPages())
|
||||||
|
.total(pageInfo.getTotal())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,24 @@
|
|||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="com.jsowell.pile.vo.web.ParkingCouponRecordVO" id="ParkingCouponRecordVOResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="orderCode" column="order_code" />
|
||||||
|
<result property="stationId" column="station_id" />
|
||||||
|
<result property="stationName" column="station_name" />
|
||||||
|
<result property="plateNumber" column="plate_number" />
|
||||||
|
<result property="returnCode" column="return_code" />
|
||||||
|
<result property="returnMsg" column="return_msg" />
|
||||||
|
<result property="parkingPlatformId" column="parking_platform_id" />
|
||||||
|
<result property="conditionType" column="condition_type" />
|
||||||
|
<result property="conditionValue" column="condition_value" />
|
||||||
|
<result property="discountType" column="discount_type" />
|
||||||
|
<result property="discountValue" column="discount_value" />
|
||||||
|
<result property="startTime" column="start_time" />
|
||||||
|
<result property="endTime" column="end_time" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectCarCouponRecordVo">
|
<sql id="selectCarCouponRecordVo">
|
||||||
select id, order_code, station_id, plate_number, return_code, return_msg, create_time, del_flag from car_coupon_record
|
select id, order_code, station_id, plate_number, return_code, return_msg, create_time, del_flag from car_coupon_record
|
||||||
</sql>
|
</sql>
|
||||||
@@ -107,4 +125,50 @@
|
|||||||
t1.del_flag = '0'
|
t1.del_flag = '0'
|
||||||
AND t2.member_id = #{memberId,jdbcType=VARCHAR}
|
AND t2.member_id = #{memberId,jdbcType=VARCHAR}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 分页查询停车优免记录(联表查询站点名称和优免信息) -->
|
||||||
|
<select id="selectParkingCouponRecordList" parameterType="com.jsowell.pile.dto.ParkingCouponRecordQueryDTO" resultMap="ParkingCouponRecordVOResult">
|
||||||
|
SELECT
|
||||||
|
ccr.id,
|
||||||
|
ccr.order_code,
|
||||||
|
ccr.station_id,
|
||||||
|
psi.station_name,
|
||||||
|
ccr.plate_number,
|
||||||
|
ccr.return_code,
|
||||||
|
ccr.return_msg,
|
||||||
|
cpd.parking_platform_id,
|
||||||
|
cpd.condition_type,
|
||||||
|
cpd.condition_value,
|
||||||
|
cpd.discount_type,
|
||||||
|
cpd.discount_value,
|
||||||
|
cpd.start_time,
|
||||||
|
cpd.end_time,
|
||||||
|
DATE_FORMAT(ccr.create_time, '%Y-%m-%d %H:%i:%s') AS create_time
|
||||||
|
FROM
|
||||||
|
car_coupon_record ccr
|
||||||
|
INNER JOIN pile_station_info psi ON ccr.station_id = psi.id
|
||||||
|
LEFT JOIN charge_parking_discount cpd ON ccr.station_id = cpd.station_id AND cpd.del_flag = '0'
|
||||||
|
<where>
|
||||||
|
ccr.del_flag = '0'
|
||||||
|
<if test="stationId != null">
|
||||||
|
AND ccr.station_id = #{stationId}
|
||||||
|
</if>
|
||||||
|
<if test="stationIds != null and stationIds.size() > 0">
|
||||||
|
AND ccr.station_id IN
|
||||||
|
<foreach collection="stationIds" item="stationId" open="(" separator="," close=")">
|
||||||
|
#{stationId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="plateNumber != null and plateNumber != ''">
|
||||||
|
AND ccr.plate_number LIKE CONCAT('%', #{plateNumber}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="orderCode != null and orderCode != ''">
|
||||||
|
AND ccr.order_code = #{orderCode}
|
||||||
|
</if>
|
||||||
|
<if test="merchantId != null and merchantId != ''">
|
||||||
|
AND psi.merchant_id = #{merchantId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
ORDER BY ccr.create_time DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user