mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
查询用户可申请开票的订单列表
This commit is contained in:
@@ -15,6 +15,7 @@ import com.jsowell.pile.dto.QueryOrderDTO;
|
|||||||
import com.jsowell.pile.dto.SettleOrderDTO;
|
import com.jsowell.pile.dto.SettleOrderDTO;
|
||||||
import com.jsowell.pile.dto.StopChargingDTO;
|
import com.jsowell.pile.dto.StopChargingDTO;
|
||||||
import com.jsowell.pile.dto.UniAppQueryOrderDTO;
|
import com.jsowell.pile.dto.UniAppQueryOrderDTO;
|
||||||
|
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||||
import com.jsowell.pile.vo.uniapp.UniAppOrderVO;
|
import com.jsowell.pile.vo.uniapp.UniAppOrderVO;
|
||||||
import com.jsowell.service.OrderService;
|
import com.jsowell.service.OrderService;
|
||||||
import com.jsowell.service.PileRemoteService;
|
import com.jsowell.service.PileRemoteService;
|
||||||
@@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -241,4 +243,26 @@ public class OrderController extends BaseController {
|
|||||||
logger.info("关闭支付未启动的订单 result:{}", response);
|
logger.info("关闭支付未启动的订单 result:{}", response);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询未开发票订单
|
||||||
|
* 时间限制60天内
|
||||||
|
*/
|
||||||
|
@PostMapping("/queryUninvoicedOrderList")
|
||||||
|
public RestApiResponse<?> queryUninvoicedOrderList(HttpServletRequest request, @RequestBody QueryOrderDTO dto) {
|
||||||
|
logger.info("查询未开发票订单 param:{}", JSONObject.toJSONString(dto));
|
||||||
|
RestApiResponse<?> response;
|
||||||
|
try {
|
||||||
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
|
if (StringUtils.isBlank(memberId)) {
|
||||||
|
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||||
|
}
|
||||||
|
List<OrderVO> list = orderService.queryUninvoicedOrderList(dto);
|
||||||
|
response = new RestApiResponse<>(ImmutableMap.of("list", list));
|
||||||
|
} catch (Exception e){
|
||||||
|
logger.error("查询未开发票订单 error", e);
|
||||||
|
response = new RestApiResponse<>("00300003", "查询未开发票订单异常");
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.jsowell.common.util.id.IdUtils;
|
|||||||
import com.jsowell.pile.domain.MemberTransactionRecord;
|
import com.jsowell.pile.domain.MemberTransactionRecord;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.OrderDetail;
|
import com.jsowell.pile.domain.OrderDetail;
|
||||||
|
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||||
import com.jsowell.pile.domain.OrderPayRecord;
|
import com.jsowell.pile.domain.OrderPayRecord;
|
||||||
import com.jsowell.pile.domain.WxpayCallbackRecord;
|
import com.jsowell.pile.domain.WxpayCallbackRecord;
|
||||||
import com.jsowell.pile.dto.BasicPileDTO;
|
import com.jsowell.pile.dto.BasicPileDTO;
|
||||||
@@ -40,6 +41,7 @@ import com.jsowell.pile.dto.PayOrderDTO;
|
|||||||
import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO;
|
import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO;
|
||||||
import com.jsowell.pile.dto.PaymentScenarioDTO;
|
import com.jsowell.pile.dto.PaymentScenarioDTO;
|
||||||
import com.jsowell.pile.dto.QueryConnectorListDTO;
|
import com.jsowell.pile.dto.QueryConnectorListDTO;
|
||||||
|
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||||
import com.jsowell.pile.dto.SettleOrderDTO;
|
import com.jsowell.pile.dto.SettleOrderDTO;
|
||||||
import com.jsowell.pile.dto.StopChargingDTO;
|
import com.jsowell.pile.dto.StopChargingDTO;
|
||||||
@@ -48,6 +50,7 @@ import com.jsowell.pile.dto.WeixinPayDTO;
|
|||||||
import com.jsowell.pile.service.IMemberBasicInfoService;
|
import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||||
import com.jsowell.pile.service.IMemberTransactionRecordService;
|
import com.jsowell.pile.service.IMemberTransactionRecordService;
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||||
|
import com.jsowell.pile.service.IOrderInvoiceRecordService;
|
||||||
import com.jsowell.pile.service.IOrderPayRecordService;
|
import com.jsowell.pile.service.IOrderPayRecordService;
|
||||||
import com.jsowell.pile.service.IPileBillingTemplateService;
|
import com.jsowell.pile.service.IPileBillingTemplateService;
|
||||||
import com.jsowell.pile.service.IPileStationInfoService;
|
import com.jsowell.pile.service.IPileStationInfoService;
|
||||||
@@ -76,6 +79,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
@@ -127,6 +131,9 @@ public class OrderService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IPileStationInfoService pileStationInfoService;
|
private IPileStationInfoService pileStationInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IOrderInvoiceRecordService orderInvoiceRecordService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisCache redisCache;
|
private RedisCache redisCache;
|
||||||
|
|
||||||
@@ -975,4 +982,40 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<OrderVO> queryUninvoicedOrderList(QueryOrderDTO dto) {
|
||||||
|
int i = 60;
|
||||||
|
|
||||||
|
// 查询最近60天完成的订单
|
||||||
|
LocalDateTime dateTime = LocalDateTime.now().plusDays(-i);
|
||||||
|
List<OrderVO> orderList = orderBasicInfoService.getListByMemberIdAndOrderStatus(dto.getMemberId(), Lists.newArrayList("6"), dateTime);
|
||||||
|
|
||||||
|
// 过滤掉订单金额为0的
|
||||||
|
orderList = orderList.stream()
|
||||||
|
.filter(x -> x.getOrderAmount().compareTo(BigDecimal.ZERO) > 0)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 查询最近60天申请开票记录
|
||||||
|
QueryInvoiceRecordDTO build = QueryInvoiceRecordDTO.builder()
|
||||||
|
.memberId(dto.getMemberId())
|
||||||
|
.startTime(dateTime)
|
||||||
|
.build();
|
||||||
|
List<OrderInvoiceRecord> orderInvoiceRecords = orderInvoiceRecordService.selectInvoiceRecordList(build);
|
||||||
|
if (CollectionUtils.isEmpty(orderInvoiceRecords)) {
|
||||||
|
return orderList;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 排除掉已经申请过的订单
|
||||||
|
List<String> orderCodeList = Lists.newArrayList();
|
||||||
|
for (OrderInvoiceRecord orderInvoiceRecord : orderInvoiceRecords) {
|
||||||
|
String orderCodes = orderInvoiceRecord.getOrderCodes();
|
||||||
|
orderCodeList.addAll(Lists.newArrayList(StringUtils.split(orderCodes, ",")));
|
||||||
|
}
|
||||||
|
|
||||||
|
orderList = orderList.stream()
|
||||||
|
.filter(x -> !orderCodeList.contains(x.getOrderCode()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
return orderList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.jsowell.pile.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class QueryInvoiceRecordDTO {
|
||||||
|
private String memberId;
|
||||||
|
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
}
|
||||||
@@ -135,9 +135,12 @@ public interface OrderBasicInfoMapper {
|
|||||||
*
|
*
|
||||||
* @param memberId 会员id
|
* @param memberId 会员id
|
||||||
* @param orderStatusList 订单状态集合
|
* @param orderStatusList 订单状态集合
|
||||||
|
* @param dateTime
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<OrderVO> getListByMemberIdAndOrderStatus(@Param("memberId") String memberId, @Param("orderStatusList") List<String> orderStatusList);
|
List<OrderVO> getListByMemberIdAndOrderStatus(@Param("memberId") String memberId,
|
||||||
|
@Param("orderStatusList") List<String> orderStatusList,
|
||||||
|
@Param("dateTime") LocalDateTime dateTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将某订单修改为某状态
|
* 将某订单修改为某状态
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.jsowell.pile.mapper;
|
package com.jsowell.pile.mapper;
|
||||||
|
|
||||||
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||||
|
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -58,4 +59,6 @@ public interface OrderInvoiceRecordMapper {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteOrderInvoiceRecordByIds(Integer[] ids);
|
public int deleteOrderInvoiceRecordByIds(Integer[] ids);
|
||||||
|
|
||||||
|
List<OrderInvoiceRecord> selectInvoiceRecordList(QueryInvoiceRecordDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ public interface IOrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList);
|
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList);
|
||||||
|
|
||||||
|
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList, LocalDateTime dateTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算订单退款和用户余额退款调这个方法
|
* 结算订单退款和用户余额退款调这个方法
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.jsowell.pile.service;
|
package com.jsowell.pile.service;
|
||||||
|
|
||||||
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||||
|
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -27,6 +28,8 @@ public interface IOrderInvoiceRecordService {
|
|||||||
*/
|
*/
|
||||||
public List<OrderInvoiceRecord> selectOrderInvoiceRecordList(OrderInvoiceRecord orderInvoiceRecord);
|
public List<OrderInvoiceRecord> selectOrderInvoiceRecordList(OrderInvoiceRecord orderInvoiceRecord);
|
||||||
|
|
||||||
|
List<OrderInvoiceRecord> selectInvoiceRecordList(QueryInvoiceRecordDTO memberId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增申请开票
|
* 新增申请开票
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1159,7 +1159,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList) {
|
public List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList) {
|
||||||
return orderBasicInfoMapper.getListByMemberIdAndOrderStatus(memberId, orderStatusList);
|
return orderBasicInfoMapper.getListByMemberIdAndOrderStatus(memberId, orderStatusList, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList, LocalDateTime dateTime) {
|
||||||
|
return orderBasicInfoMapper.getListByMemberIdAndOrderStatus(memberId, orderStatusList, dateTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.jsowell.pile.service.impl;
|
|||||||
|
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||||
|
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||||
import com.jsowell.pile.mapper.OrderInvoiceRecordMapper;
|
import com.jsowell.pile.mapper.OrderInvoiceRecordMapper;
|
||||||
import com.jsowell.pile.service.IOrderInvoiceRecordService;
|
import com.jsowell.pile.service.IOrderInvoiceRecordService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -42,6 +43,11 @@ public class OrderInvoiceRecordServiceImpl implements IOrderInvoiceRecordService
|
|||||||
return orderInvoiceRecordMapper.selectOrderInvoiceRecordList(orderInvoiceRecord);
|
return orderInvoiceRecordMapper.selectOrderInvoiceRecordList(orderInvoiceRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrderInvoiceRecord> selectInvoiceRecordList(QueryInvoiceRecordDTO dto) {
|
||||||
|
return orderInvoiceRecordMapper.selectInvoiceRecordList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增申请开票
|
* 新增申请开票
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -747,6 +747,9 @@
|
|||||||
#{orderStatus,jdbcType=VARCHAR}
|
#{orderStatus,jdbcType=VARCHAR}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="dateTime != null">
|
||||||
|
and t1.create_time <![CDATA[ >= ]]> #{dateTime,jdbcType=VARCHAR}
|
||||||
|
</if>
|
||||||
order by t1.create_time desc
|
order by t1.create_time desc
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.jsowell.pile.mapper.OrderInvoiceRecordMapper">
|
<mapper namespace="com.jsowell.pile.mapper.OrderInvoiceRecordMapper">
|
||||||
|
|
||||||
<resultMap type="OrderInvoiceRecord" id="OrderInvoiceRecordResult">
|
<resultMap type="com.jsowell.pile.domain.OrderInvoiceRecord" id="OrderInvoiceRecordResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="memberId" column="member_id" />
|
<result property="memberId" column="member_id" />
|
||||||
<result property="orderCodes" column="order_codes" />
|
<result property="orderCodes" column="order_codes" />
|
||||||
@@ -19,11 +19,18 @@
|
|||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectOrderInvoiceRecordVo">
|
<sql id="Base_Column_List">
|
||||||
select id, member_id, order_codes, status, total_amount, total_service_amount, total_elec_amount, create_by, create_time, update_by, update_time, del_flag from order_invoice_record
|
<!--@mbg.generated-->
|
||||||
|
id, member_id, order_codes, status, total_amount, total_service_amount, total_elec_amount, create_by, create_time, update_by, update_time, del_flag
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectOrderInvoiceRecordList" parameterType="OrderInvoiceRecord" resultMap="OrderInvoiceRecordResult">
|
<sql id="selectOrderInvoiceRecordVo">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
from order_invoice_record
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectOrderInvoiceRecordList" parameterType="com.jsowell.pile.domain.OrderInvoiceRecord" resultMap="OrderInvoiceRecordResult">
|
||||||
<include refid="selectOrderInvoiceRecordVo"/>
|
<include refid="selectOrderInvoiceRecordVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="memberId != null and memberId != ''"> and member_id = #{memberId}</if>
|
<if test="memberId != null and memberId != ''"> and member_id = #{memberId}</if>
|
||||||
@@ -40,7 +47,7 @@
|
|||||||
where id = #{id}
|
where id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertOrderInvoiceRecord" parameterType="OrderInvoiceRecord" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertOrderInvoiceRecord" parameterType="com.jsowell.pile.domain.OrderInvoiceRecord" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into order_invoice_record
|
insert into order_invoice_record
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="memberId != null">member_id,</if>
|
<if test="memberId != null">member_id,</if>
|
||||||
@@ -70,7 +77,7 @@
|
|||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="updateOrderInvoiceRecord" parameterType="OrderInvoiceRecord">
|
<update id="updateOrderInvoiceRecord" parameterType="com.jsowell.pile.domain.OrderInvoiceRecord">
|
||||||
update order_invoice_record
|
update order_invoice_record
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="memberId != null">member_id = #{memberId},</if>
|
<if test="memberId != null">member_id = #{memberId},</if>
|
||||||
@@ -98,4 +105,20 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="selectInvoiceRecordList" resultType="com.jsowell.pile.domain.OrderInvoiceRecord">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
from order_invoice_record
|
||||||
|
where del_flag = '0'
|
||||||
|
<if test="memberId != null and memberId != ''">
|
||||||
|
and member_id = #{memberId,jdbcType=VARCHAR}
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null">
|
||||||
|
and create_time <![CDATA[ >= ]]> #{startTime,jdbcType=TIMESTAMP}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null">
|
||||||
|
and create_time <![CDATA[ <= ]]> #{startTime,jdbcType=TIMESTAMP}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user