Explorar o código

通过用户id和订单状态查询待客录单接口+分页

hxl13994548489 %!s(int64=2) %!d(string=hai) anos
pai
achega
226ff8adf2

+ 23 - 1
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -21,7 +21,6 @@ import com.ydtech.utils.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -175,4 +174,27 @@ public class InsOrdersController extends BaseController {
         String userId = getUserId();
         return insOrdersService.exportPolicyInsuranceReport(policyInsuranceReportReqVo, userId);
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:32
+     *  @Description: 添加待客录单查询订单接口
+     */
+    @PostMapping("/queryPageHospitalityOrder")
+    @ApiOperation(value = "通过用户id和订单状态查询待客录单接口+分页")
+    public HttpResult<BasePageResult<InsOrders>> queryPageHospitalityOrder(@RequestBody  OrderQueryVo orderQueryVo) {
+        if(orderQueryVo.getUserId()==null || "".equals(orderQueryVo.getUserId())){
+            return HttpResult.error("待客录单人员id不能为空");
+        }
+        if(orderQueryVo.getOrderStatus()==null || "".equals(orderQueryVo.getOrderStatus())){
+            return HttpResult.error("订单状态不能为空");
+        }
+        try{
+            BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageHospitalityOrder(orderQueryVo);
+            return HttpResult.ok("success", quoteResult);
+        }catch (Exception e){
+            return HttpResult.error("查询失败"+e.getMessage());
+        }
+    }
 }

+ 14 - 1
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -36,5 +36,18 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
     Long getPolicyInsuranceReportCount(@Param("policyReqVo") PolicyInsuranceReportReqVo policyInsuranceReportReqVo);
 
     boolean updateStatus(@Param("orderno") String orderno, @Param("status") String status);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:41
+     *  @Description: 通过用户id和订单状态查询订单信息
+     */
+    Page<InsOrders> queryPageHospitalityOrder(@Param("page") Page<InsOrders> page, @Param("orderQueryVo") OrderQueryVo orderQueryVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:43
+     *  @Description: 通过用户id和订单状态查询订单信息总条数
+     */
+    Long queryPageHospitalityOrderCount(@Param("orderQueryVo") OrderQueryVo orderQueryVo);
 }

+ 7 - 2
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -11,8 +11,6 @@ import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -132,4 +130,11 @@ public interface InsOrdersService extends IService<InsOrders> {
      * @return
      */
     HttpResult<String> exportPolicyInsuranceReport(PolicyInsuranceReportReqVo policyInsuranceReportReqVo,String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:33
+     *  @Description:  通过用户id和状态查询待客订单的订单接口
+     */
+    BasePageResult<InsOrders> queryPageHospitalityOrder(OrderQueryVo orderQueryVo);
 }

+ 18 - 1
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -753,5 +753,22 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         insOrdersTrackService.save(insOrdersTrack);
         return true;
     }
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/17 15:38
+     *  @Description: 通过待客录单id和订单状态查询订单数据
+     */
+    @Override
+    public BasePageResult<InsOrders> queryPageHospitalityOrder(OrderQueryVo orderQueryVo) {
+        Page<InsOrders> page = new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
+        page.setSearchCount(false).setOptimizeCountSql(false);//关闭count查询
+        orderQueryVo.setEndDate(orderQueryVo.getEndDatePlusOneDay());
+        Page<InsOrders> orderVoPage = baseMapper.queryPageHospitalityOrder(page, orderQueryVo);
+        Long total = baseMapper.queryPageHospitalityOrderCount(orderQueryVo);
+        orderVoPage.setTotal(total);
+        return new BasePageResult<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize(), orderVoPage.getTotal(),
+                orderVoPage.getPages()
+                , orderVoPage.getRecords());
+    }
 }

+ 47 - 0
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -684,4 +684,51 @@
     <update id="updateStatus">
         update ins_orders set orderstatus = #{status} where orderno = #{orderno}
     </update>
+
+    <select id="queryPageHospitalityOrder" resultMap="BaseResultMap">
+        select
+        io.*
+        from
+         ins_orders io
+        left JOIN
+        ins_area_company iac on iac.orderno = io.orderno
+        <where>
+            <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
+                and io.orderno = #{orderQueryVo.orderNo}
+            </if>
+            <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
+                and io.orderstatus = #{orderQueryVo.orderStatus}
+            </if>
+            <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
+                and io.userid = #{orderQueryVo.userId}
+            </if>
+        </where>
+        group by orderno
+        order by io.createtime desc
+    </select>
+
+    <select id="queryPageHospitalityOrderCount" resultType="Long">
+        select
+        count(1)
+        from (
+        select
+        io.orderno
+        from
+        ins_orders io
+            left JOIN
+            ins_area_company iac on iac.orderno = io.orderno
+        <where>
+            <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
+                and io.orderno = #{orderQueryVo.orderNo}
+            </if>
+            <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
+                and io.orderstatus = #{orderQueryVo.orderStatus}
+            </if>
+            <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
+                and io.userid = #{orderQueryVo.userId}
+            </if>
+        </where>
+        group by io.orderno
+        ) as s
+    </select>
 </mapper>