拒绝接单接口开发,订单统计接口修改

This commit is contained in:
donqi 2022-09-12 14:48:30 +08:00
parent 973419a4a3
commit df2fccef06
15 changed files with 127 additions and 7 deletions

View File

@ -236,7 +236,7 @@ public class OrderController extends BaseController {
// 如果派单师傅的抽成金额>0 则为派单师傅生成子财务单
if (BigDecimal.ZERO.compareTo(assignWorkerMoney) < 0) {
FinancialDetail fd = new FinancialDetail(fm.getDeptId(), financialDetailService.createCode(), fm.getId(),
fm.getCode(), null, null, assignWorkerMoney, FinancialDetailType.WORKER_FEE.getCode(), assignWorker.getWorkerId(),
fm.getCode(), od.getId(), od.getCode(), assignWorkerMoney, FinancialDetailType.WORKER_FEE.getCode(), assignWorker.getWorkerId(),
fm.getPayType(), fm.getPayStatus(), fm.getPayTime());
financialDetailService.insertFinancialDetail(fd);
}
@ -417,8 +417,13 @@ public class OrderController extends BaseController {
OrderMaster orderMaster = new OrderMaster();
orderMaster.setOrderStatus(OrderStatus.RECEIVE.code());
orderMaster.setWorkerId(request.getWorkerId());
OrderDetail orderDetail = new OrderDetail();
orderDetail.setOrderStatus(OrderStatus.RECEIVE.code());
orderDetail.setWorkerId(request.getWorkerId());
Long newMasterOrderCount = orderMasterService.countOrderMasterList(orderMaster);
Long newDetailOrderCount = orderDetailService.countOrderDetailList(orderDetail);
// 统计新订单的单量
response.setNewOrderNum(orderMasterService.countOrderMasterList(orderMaster));
response.setNewOrderNum(newMasterOrderCount + newDetailOrderCount);
// 统计未排的单量
orderMaster.setOrderStatus(OrderStatus.PLAIN.code());
response.setPlanOrderNum(orderMasterService.countOrderMasterList(orderMaster));

View File

@ -423,4 +423,18 @@ public class OrderDetailController extends BaseController {
return AjaxResult.success("发起成功");
}
@PostMapping("/app/order/reject")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
public AjaxResult rejectDetailOrder(@RequestBody OrderDetail orderDetail) {
// 删除子单
orderDetailService.deleteOrderDetailByIds(orderDetail.getId().toString());
// 删除子财务单
financialDetailService.deleteFinancialDetailByOrderDetailId(orderDetail.getId());
// 删除派单记录
orderGoodsService.deleteByOrderDetailId(orderDetail.getId());
return AjaxResult.success();
}
}

View File

@ -31,6 +31,8 @@ public interface OrderDetailMapper {
*/
List<OrderDetail> selectOrderDetailList(OrderDetail orderDetail);
Long countOrderDetailList(OrderDetail orderDetail);
/**
* @param orderDetailId 细单表id
* @return 细单表

View File

@ -37,6 +37,8 @@ public interface OrderGoodsMapper {
List<OrderGoods> selectByOrderDetailId(@Param("orderDetailId") Long orderDetailId);
int deleteByOrderDetailId(@Param("orderDetailId") Long orderDetailId);
/**
* 批量删除订单商品信息
*

View File

@ -108,4 +108,6 @@ public interface OrderDetailService {
* @param orderDetailId 子订单ID
*/
void finish(Long orderDetailId) throws BaseAdaPayException;
Long countOrderDetailList(OrderDetail orderDetail);
}

View File

@ -52,4 +52,6 @@ public interface OrderGoodsService {
* @return 键值队列数据 key-> 订单Id value-> 订单实体集合信息
*/
Map<Long, List<OrderGoods>> byOrderIdInMap(List<Long> orderIdList);
int deleteByOrderDetailId(Long orderDetailId);
}

View File

@ -348,4 +348,9 @@ public class OrderDetailServiceImpl implements OrderDetailService {
}
}));
}
@Override
public Long countOrderDetailList(OrderDetail orderDetail) {
return orderDetailMapper.countOrderDetailList(orderDetail);
}
}

View File

@ -79,4 +79,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
return longByOrderGoodsListMap;
}
@Override
public int deleteByOrderDetailId(Long orderDetailId) {
return orderGoodsMapper.deleteByOrderDetailId(orderDetailId);
}
}

View File

@ -119,6 +119,56 @@
</trim>
</select>
<select id="countOrderDetailList" parameterType="com.ghy.order.domain.OrderDetail" resultType="Long">
SELECT COUNT(*) FROM order_detail od
<where>
<if test="code != null and code != ''">
AND od.code LIKE concat('%', #{code}, '%')
</if>
<if test="customerId != null and customerId != 0">
AND od.customer_id = #{customerId}
</if>
<if test="orderType != null">
AND od.order_type = #{orderType}
</if>
<if test="orderStatus != null">
AND od.order_status = #{orderStatus}
</if>
<if test="orderMasterCode != null and orderMasterCode != 0">
AND od.order_detail_code = #{orderMasterCode}
</if>
<if test="workerId != null and workerId != 0">
AND od.worker_id = #{workerId}
</if>
<if test="goodsCategoryId != null">
AND g.dept_goods_category_id = #{goodsCategoryId}
</if>
<if test="goodsName != null and goodsName != ''">
AND g.goods_name like concat('%', #{goodsName}, '%')
</if>
<if test="countryId != null">
AND ca.country_id = #{countryId}
</if>
<if test="expectTimeStart != null">
AND od.expect_time_start &gt;= #{expectTimeStart}
</if>
<if test="expectTimeEnd != null">
AND od.expect_time_end &lt;= #{expectTimeEnd}
</if>
</where>
order by od.create_time
<trim suffixOverrides=",">
<choose>
<when test="params.createTimeSort != null and params.createTimeSort != ''">
${params.createTimeSort}
</when>
<otherwise>
desc
</otherwise>
</choose>
</trim>
</select>
<select id="selectById" parameterType="long" resultMap="OrderDetailResult">
<include refid="selectOrderDetail"/> WHERE id = #{orderDetailId}
</select>

View File

@ -108,6 +108,15 @@
</where>
</select>
<delete id="deleteByOrderDetailId" parameterType="Long">
DELETE FROM order_goods
<where>
<if test="orderDetailId != null and orderDetailId != 0">
AND order_detail_id = #{orderDetailId}
</if>
</where>
</delete>
<delete id="deleteOrderGoodsByIds" parameterType="Long">
DELETE FROM order_goods WHERE order_goods_id IN
<foreach collection="array" item="orderGoodsId" open="(" separator="," close=")">

View File

@ -195,6 +195,9 @@
<if test="payType != null">pay_type = #{payType},</if>
<if test="payStatus != null">pay_status = #{payStatus},</if>
<if test="workerId != null and workerId != 0">worker_id = #{workerId},</if>
<if test="workerId == -1">
worker_id = NULL,
</if>
<if test="payTime != null">pay_time = #{payTime},</if>
<if test="revTime != null">rev_time = #{revTime},</if>
<if test="expectTimeStart != null">expect_time_start = #{expectTimeStart},</if>

View File

@ -62,6 +62,8 @@ public interface FinancialDetailMapper {
*/
int deleteFinancialDetailByIds(Long[] financialDetailIds);
int deleteFinancialDetailByOrderDetailId(Long orderDetailId);
/**
* @param financialDetailCode 财务细单编码
* @return 财务细单信息
@ -90,4 +92,4 @@ public interface FinancialDetailMapper {
* @param financialDetail 子财务单
*/
void updateByFinancialMasterId(FinancialDetail financialDetail);
}
}

View File

@ -62,6 +62,7 @@ public interface FinancialDetailService {
*/
int deleteFinancialDetailByIds(String ids);
int deleteFinancialDetailByOrderDetailId(Long orderDetailId);
/**
* 校验财务细单编码是否重复
*

View File

@ -2,11 +2,13 @@ package com.ghy.payment.service.impl;
import com.ghy.common.constant.UserConstants;
import com.ghy.common.core.text.Convert;
import com.ghy.common.enums.FinancialDetailType;
import com.ghy.payment.domain.FinancialDetail;
import com.ghy.payment.mapper.FinancialDetailMapper;
import com.ghy.payment.response.FinancialCountResponse;
import com.ghy.payment.service.FinancialDetailService;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
@ -58,7 +60,14 @@ public class FinancialDetailServiceImpl implements FinancialDetailService {
@Override
public FinancialDetail selectByOrderDetailId(Long orderDetailId) {
return financialDetailMapper.selectByOrderDetailId(orderDetailId);
FinancialDetail financialDetail = new FinancialDetail();
financialDetail.setOrderDetailId(orderDetailId);
financialDetail.setFinancialDetailType(FinancialDetailType.ORDER_FEE.getCode());
List<FinancialDetail> list = financialDetailMapper.selectFinancialDetailList(financialDetail);
if (!CollectionUtils.isEmpty(list)) {
return list.get(0);
}
return null;
}
@Override
@ -92,6 +101,11 @@ public class FinancialDetailServiceImpl implements FinancialDetailService {
return financialDetailMapper.deleteFinancialDetailByIds(financialDetailIds);
}
@Override
public int deleteFinancialDetailByOrderDetailId(Long orderDetailId) {
return financialDetailMapper.deleteFinancialDetailByOrderDetailId(orderDetailId);
}
@Override
public String checkFinancialDetailCodeUnique(FinancialDetail financialDetail) {
long financialDetailId = financialDetail.getId() == null ? -1L : financialDetail.getId();

View File

@ -27,7 +27,7 @@
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
</resultMap>
<resultMap id="countResult" type="com.ghy.payment.response.FinancialCountResponse">
<result property="createTime" column="create_time"/>
<result property="payCount" column="pay_count"/>
@ -90,6 +90,10 @@
</foreach>
</delete>
<delete id="deleteFinancialDetailByOrderDetailId" parameterType="Long">
DELETE FROM financial_detail WHERE order_detail_id = #{orderDetailId}
</delete>
<update id="updateFinancialDetail" parameterType="com.ghy.payment.domain.FinancialDetail">
UPDATE financial_detail
<set>
@ -145,7 +149,7 @@
</where>
group by DATE_FORMAT(create_time,'%Y-%m') order by create_time desc
</select>
<insert id="insertFinancialDetail" parameterType="com.ghy.payment.domain.FinancialDetail" useGeneratedKeys="true"
keyProperty="id">
INSERT INTO financial_detail(
@ -202,4 +206,4 @@
</where>
</select>
</mapper>
</mapper>