Prechádzať zdrojové kódy

Merge branch 'saas-api' of http://1.14.104.71:10880/txl/ylrz_saas_his_scrm into saas-api

云联一号 1 týždeň pred
rodič
commit
910327de19

+ 15 - 56
fs-admin/src/main/java/com/fs/admin/controller/AdminStoreOrderAdminController.java

@@ -2,7 +2,7 @@ package com.fs.admin.controller;
 
 import java.util.*;
 
-import com.fs.admin.helper.AdminCrossTenantHelper;
+import com.fs.admin.service.IAdminStoreOrderService;
 import com.fs.common.annotation.Excel;
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
@@ -15,16 +15,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-/**
- * 总后台销售订单管理控制器
- * 遍历所有租户库查询 fs_store_order_scrm 数据
- */
 @RestController
 @RequestMapping("/admin/storeOrder")
 public class AdminStoreOrderAdminController extends BaseController {
 
     @Autowired
-    private AdminCrossTenantHelper crossTenantHelper;
+    private IAdminStoreOrderService adminStoreOrderService;
 
     private String str(Object o) { return o == null ? "" : o.toString(); }
 
@@ -39,68 +35,31 @@ public class AdminStoreOrderAdminController extends BaseController {
         @Excel(name = "创建时间") private String createTime;
     }
 
-    @Log(title = "导出商城订单", businessType = BusinessType.EXPORT)
+    @Log(title = "导出销售订单", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('admin:storeOrder:list')")
     @GetMapping("/export")
-    public AjaxResult export(@RequestParam(required = false) String orderNo,
-                             @RequestParam(required = false) Long companyId,
-                             @RequestParam(required = false) String companyName) {
-        List<Map<String, Object>> allList = crossTenantHelper.queryAcrossTenants(
-                companyId, companyName, (tenant, jdbc) -> {
-                    StringBuilder sql = new StringBuilder(
-                            "SELECT o.order_id, o.order_no, o.order_amount, o.pay_type, " +
-                            "o.order_status, o.create_time, o.user_name " +
-                            "FROM fs_store_order_scrm o WHERE 1=1");
-                    List<Object> params = new ArrayList<>();
-                    if (orderNo != null && !orderNo.isEmpty()) {
-                        sql.append(" AND o.order_no LIKE ?");
-                        params.add("%" + orderNo + "%");
-                    }
-                    sql.append(" ORDER BY o.create_time DESC");
-                    return params.isEmpty()
-                            ? jdbc.queryForList(sql.toString())
-                            : jdbc.queryForList(sql.toString(), params.toArray());
-                });
+    public AjaxResult export(@RequestParam(required = false) String orderNo) {
+        List<Map<String, Object>> allList = adminStoreOrderService.selectStoreOrderListForExport(orderNo);
         List<StoreOrderExportVO> voList = new ArrayList<>();
         for (Map<String, Object> m : allList) {
             StoreOrderExportVO vo = new StoreOrderExportVO();
-            vo.setCompanyName(str(m.get("company_name")));
-            vo.setOrderNo(str(m.get("order_no")));
-            vo.setOrderAmount(str(m.get("order_amount")));
-            vo.setPayType(str(m.get("pay_type")));
-            vo.setOrderStatus(str(m.get("order_status")));
-            vo.setUserName(str(m.get("user_name")));
-            vo.setCreateTime(str(m.get("create_time")));
+            vo.setCompanyName(str(m.get("companyName")));
+            vo.setOrderNo(str(m.get("orderNo")));
+            vo.setOrderAmount(str(m.get("orderAmount")));
+            vo.setPayType(str(m.get("payType")));
+            vo.setOrderStatus(str(m.get("orderStatus")));
+            vo.setUserName(str(m.get("userName")));
+            vo.setCreateTime(str(m.get("createTime")));
             voList.add(vo);
         }
         ExcelUtil<StoreOrderExportVO> util = new ExcelUtil<>(StoreOrderExportVO.class);
-        return util.exportExcel(voList, "商城订单数据");
+        return util.exportExcel(voList, "销售订单数据");
     }
 
-    /**
-     * 查询所有租户的销售订单列表
-     */
     @PreAuthorize("@ss.hasPermi('admin:storeOrder:list')")
     @GetMapping("/list")
-    public TableDataInfo list(@RequestParam(required = false) String orderNo,
-                              @RequestParam(required = false) Long companyId,
-                              @RequestParam(required = false) String companyName) {
-        List<Map<String, Object>> allList = crossTenantHelper.queryAcrossTenants(
-                companyId, companyName, (tenant, jdbc) -> {
-                    StringBuilder sql = new StringBuilder(
-                            "SELECT o.order_id, o.order_no, o.order_amount, o.pay_type, " +
-                            "o.order_status, o.create_time, o.user_name " +
-                            "FROM fs_store_order_scrm o WHERE 1=1");
-                    List<Object> params = new ArrayList<>();
-                    if (orderNo != null && !orderNo.isEmpty()) {
-                        sql.append(" AND o.order_no LIKE ?");
-                        params.add("%" + orderNo + "%");
-                    }
-                    sql.append(" ORDER BY o.create_time DESC LIMIT 200");
-                    return params.isEmpty()
-                            ? jdbc.queryForList(sql.toString())
-                            : jdbc.queryForList(sql.toString(), params.toArray());
-                });
+    public TableDataInfo list(@RequestParam(required = false) String orderNo) {
+        List<Map<String, Object>> allList = adminStoreOrderService.selectStoreOrderList(orderNo);
         return getDataTable(allList);
     }
 }

+ 13 - 0
fs-service/src/main/java/com/fs/admin/mapper/AdminStoreOrderMapper.java

@@ -0,0 +1,13 @@
+package com.fs.admin.mapper;
+
+import com.fs.admin.vo.AdminStoreOrderVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface AdminStoreOrderMapper {
+
+    List<AdminStoreOrderVO> selectStoreOrderList(@Param("orderNo") String orderNo);
+
+    AdminStoreOrderVO selectStoreOrderById(@Param("id") Long id);
+}

+ 13 - 0
fs-service/src/main/java/com/fs/admin/service/IAdminStoreOrderService.java

@@ -0,0 +1,13 @@
+package com.fs.admin.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IAdminStoreOrderService {
+
+    List<Map<String, Object>> selectStoreOrderList(String orderNo);
+
+    List<Map<String, Object>> selectStoreOrderListForExport(String orderNo);
+
+    Map<String, Object> selectStoreOrderById(Long id);
+}

+ 54 - 0
fs-service/src/main/java/com/fs/admin/service/impl/AdminStoreOrderServiceImpl.java

@@ -0,0 +1,54 @@
+package com.fs.admin.service.impl;
+
+import com.fs.admin.mapper.AdminStoreOrderMapper;
+import com.fs.admin.service.IAdminStoreOrderService;
+import com.fs.admin.vo.AdminStoreOrderVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class AdminStoreOrderServiceImpl implements IAdminStoreOrderService {
+
+    @Autowired
+    private AdminStoreOrderMapper adminStoreOrderMapper;
+
+    @Override
+    public List<Map<String, Object>> selectStoreOrderList(String orderNo) {
+        return toMapList(adminStoreOrderMapper.selectStoreOrderList(orderNo));
+    }
+
+    @Override
+    public List<Map<String, Object>> selectStoreOrderListForExport(String orderNo) {
+        return toMapList(adminStoreOrderMapper.selectStoreOrderList(orderNo));
+    }
+
+    @Override
+    public Map<String, Object> selectStoreOrderById(Long id) {
+        AdminStoreOrderVO vo = adminStoreOrderMapper.selectStoreOrderById(id);
+        if (vo == null) return null;
+        return toMap(vo);
+    }
+
+    private Map<String, Object> toMap(AdminStoreOrderVO vo) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("orderId", vo.getId());
+        map.put("orderNo", vo.getOrderCode());
+        map.put("userName", vo.getRealName());
+        map.put("orderAmount", vo.getTotalPrice());
+        map.put("payType", vo.getPayType());
+        map.put("orderStatus", vo.getStatus());
+        map.put("createTime", vo.getCreateTime());
+        map.put("companyId", vo.getCompanyId());
+        map.put("companyName", vo.getCompanyName());
+        map.put("tenantCode", vo.getTenantCode());
+        return map;
+    }
+
+    private List<Map<String, Object>> toMapList(List<AdminStoreOrderVO> voList) {
+        return voList.stream().map(this::toMap).collect(java.util.stream.Collectors.toList());
+    }
+}

+ 108 - 0
fs-service/src/main/java/com/fs/admin/vo/AdminStoreOrderVO.java

@@ -0,0 +1,108 @@
+package com.fs.admin.vo;
+
+import lombok.Data;
+import java.math.BigDecimal;
+
+@Data
+public class AdminStoreOrderVO {
+
+    private Long id;
+    private String orderCode;
+    private String extendOrderId;
+    private String payOrderId;
+    private String bankOrderId;
+    private Long userId;
+    private String realName;
+    private String userPhone;
+    private String userAddress;
+    private String cartId;
+    private BigDecimal freightPrice;
+    private Integer totalNum;
+    private BigDecimal totalPrice;
+    private BigDecimal totalPostage;
+    private BigDecimal payPrice;
+    private BigDecimal payPostage;
+    private BigDecimal payDelivery;
+    private BigDecimal payMoney;
+    private BigDecimal deductionPrice;
+    private Integer couponId;
+    private BigDecimal couponPrice;
+    private Integer paid;
+    private String payTime;
+    private String payType;
+    private String createTime;
+    private String updateTime;
+    private Integer status;
+    private Integer refundStatus;
+    private String refundReasonWapImg;
+    private String refundReasonWapExplain;
+    private String refundReasonTime;
+    private String refundReasonWap;
+    private String refundReason;
+    private BigDecimal refundPrice;
+    private String deliverySn;
+    private String deliveryName;
+    private String deliveryType;
+    private String deliveryId;
+    private BigDecimal gainIntegral;
+    private BigDecimal useIntegral;
+    private BigDecimal payIntegral;
+    private BigDecimal backIntegral;
+    private String mark;
+    private Integer isDel;
+    private String remark;
+    private BigDecimal cost;
+    private String verifyCode;
+    private Integer storeId;
+    private Integer shippingType;
+    private Integer isChannel;
+    private Integer isRemind;
+    private Integer isSysDel;
+    private Integer isPrescribe;
+    private Long prescribeId;
+    private Long companyId;
+    private Long companyUserId;
+    private Integer isPackage;
+    private String packageJson;
+    private Integer orderType;
+    private Long packageId;
+    private String finishTime;
+    private Integer deliveryStatus;
+    private Integer deliveryPayStatus;
+    private String deliveryTime;
+    private String deliveryPayTime;
+    private BigDecimal deliveryPayMoney;
+    private BigDecimal tuiMoney;
+    private Integer tuiMoneyStatus;
+    private String deliveryImportTime;
+    private Long tuiUserId;
+    private Integer tuiUserMoneyStatus;
+    private Integer orderCreateType;
+    private String storeHouseCode;
+    private Long deptId;
+    private Integer isEditMoney;
+    private Long customerId;
+    private Integer isPayRemain;
+    private String deliverySendTime;
+    private String certificates;
+    private String uploadTime;
+    private String itemJson;
+    private Long scheduleId;
+    private String deliveryPayType;
+    private String orderVisit;
+    private BigDecimal serviceFee;
+    private Integer cycle;
+    private BigDecimal prescribePrice;
+    private Long followDoctorId;
+    private String followTime;
+    private Long userCouponId;
+    private Integer orderMedium;
+    private String erpPhone;
+    private Integer isAudit;
+    private String orderRemark;
+    private Integer backendEditProductType;
+    private String auditTime;
+
+    private String companyName;
+    private String tenantCode;
+}

+ 150 - 0
fs-service/src/main/resources/mapper/admin/AdminStoreOrderMapper.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.admin.mapper.AdminStoreOrderMapper">
+
+    <resultMap type="com.fs.admin.vo.AdminStoreOrderVO" id="AdminStoreOrderVOResult">
+        <id     property="id"                   column="id"                    />
+        <result property="orderCode"             column="order_code"            />
+        <result property="extendOrderId"         column="extend_order_id"       />
+        <result property="payOrderId"            column="pay_order_id"          />
+        <result property="bankOrderId"           column="bank_order_id"         />
+        <result property="userId"                column="user_id"               />
+        <result property="realName"              column="real_name"             />
+        <result property="userPhone"             column="user_phone"            />
+        <result property="userAddress"           column="user_address"          />
+        <result property="cartId"                column="cart_id"               />
+        <result property="freightPrice"          column="freight_price"         />
+        <result property="totalNum"              column="total_num"             />
+        <result property="totalPrice"            column="total_price"           />
+        <result property="totalPostage"          column="total_postage"         />
+        <result property="payPrice"              column="pay_price"             />
+        <result property="payPostage"            column="pay_postage"           />
+        <result property="payDelivery"           column="pay_delivery"          />
+        <result property="payMoney"              column="pay_money"             />
+        <result property="deductionPrice"        column="deduction_price"       />
+        <result property="couponId"              column="coupon_id"             />
+        <result property="couponPrice"           column="coupon_price"          />
+        <result property="paid"                  column="paid"                  />
+        <result property="payTime"               column="pay_time"              />
+        <result property="payType"               column="pay_type"              />
+        <result property="createTime"            column="create_time"           />
+        <result property="updateTime"            column="update_time"           />
+        <result property="status"                column="status"                />
+        <result property="refundStatus"          column="refund_status"         />
+        <result property="refundReasonWapImg"    column="refund_reason_wap_img" />
+        <result property="refundReasonWapExplain" column="refund_reason_wap_explain"/>
+        <result property="refundReasonTime"      column="refund_reason_time"    />
+        <result property="refundReasonWap"       column="refund_reason_wap"     />
+        <result property="refundReason"          column="refund_reason"         />
+        <result property="refundPrice"           column="refund_price"          />
+        <result property="deliverySn"            column="delivery_sn"           />
+        <result property="deliveryName"          column="delivery_name"         />
+        <result property="deliveryType"          column="delivery_type"         />
+        <result property="deliveryId"            column="delivery_id"           />
+        <result property="gainIntegral"          column="gain_integral"         />
+        <result property="useIntegral"           column="use_integral"          />
+        <result property="payIntegral"           column="pay_integral"          />
+        <result property="backIntegral"          column="back_integral"         />
+        <result property="mark"                  column="mark"                  />
+        <result property="isDel"                 column="is_del"                />
+        <result property="remark"                column="remark"                />
+        <result property="cost"                  column="cost"                  />
+        <result property="verifyCode"            column="verify_code"           />
+        <result property="storeId"               column="store_id"              />
+        <result property="shippingType"          column="shipping_type"         />
+        <result property="isChannel"             column="is_channel"            />
+        <result property="isRemind"              column="is_remind"             />
+        <result property="isSysDel"              column="is_sys_del"            />
+        <result property="isPrescribe"           column="is_prescribe"          />
+        <result property="prescribeId"           column="prescribe_id"          />
+        <result property="companyId"             column="company_id"            />
+        <result property="companyUserId"         column="company_user_id"       />
+        <result property="isPackage"             column="is_package"            />
+        <result property="packageJson"           column="package_json"          />
+        <result property="orderType"             column="order_type"            />
+        <result property="packageId"             column="package_id"            />
+        <result property="finishTime"            column="finish_time"           />
+        <result property="deliveryStatus"        column="delivery_status"       />
+        <result property="deliveryPayStatus"     column="delivery_pay_status"   />
+        <result property="deliveryTime"          column="delivery_time"         />
+        <result property="deliveryPayTime"       column="delivery_pay_time"     />
+        <result property="deliveryPayMoney"      column="delivery_pay_money"    />
+        <result property="tuiMoney"              column="tui_money"             />
+        <result property="tuiMoneyStatus"        column="tui_money_status"      />
+        <result property="deliveryImportTime"    column="delivery_import_time"  />
+        <result property="tuiUserId"             column="tui_user_id"           />
+        <result property="tuiUserMoneyStatus"    column="tui_user_money_status" />
+        <result property="orderCreateType"       column="order_create_type"     />
+        <result property="storeHouseCode"        column="store_house_code"      />
+        <result property="deptId"                column="dept_id"               />
+        <result property="isEditMoney"           column="is_edit_money"         />
+        <result property="customerId"            column="customer_id"           />
+        <result property="isPayRemain"           column="is_pay_remain"         />
+        <result property="deliverySendTime"      column="delivery_send_time"    />
+        <result property="certificates"          column="certificates"          />
+        <result property="uploadTime"            column="upload_time"           />
+        <result property="itemJson"              column="item_json"             />
+        <result property="scheduleId"            column="schedule_id"           />
+        <result property="deliveryPayType"       column="delivery_pay_type"     />
+        <result property="orderVisit"            column="order_visit"           />
+        <result property="serviceFee"            column="service_fee"           />
+        <result property="cycle"                 column="cycle"                 />
+        <result property="prescribePrice"        column="prescribe_price"       />
+        <result property="followDoctorId"        column="follow_doctor_id"      />
+        <result property="followTime"            column="follow_time"           />
+        <result property="userCouponId"          column="user_coupon_id"        />
+        <result property="orderMedium"             column="order_medium"             />
+        <result property="erpPhone"                column="erp_phone"                />
+        <result property="isAudit"                 column="is_audit"                 />
+        <result property="orderRemark"             column="order_remark"             />
+        <result property="backendEditProductType"  column="backend_edit_product_type"/>
+        <result property="auditTime"               column="audit_time"               />
+    </resultMap>
+
+    <sql id="selectAdminStoreOrderVo">
+        SELECT o.id, o.order_code, o.extend_order_id, o.pay_order_id,
+               o.bank_order_id, o.user_id, o.real_name, o.user_phone,
+               o.user_address, o.cart_id, o.freight_price, o.total_num,
+               o.total_price, o.total_postage, o.pay_price, o.pay_postage,
+               o.pay_delivery, o.pay_money, o.deduction_price, o.coupon_id,
+               o.coupon_price, o.paid, o.pay_time, o.pay_type, o.create_time,
+               o.update_time, o.status, o.refund_status, o.refund_reason_wap_img,
+               o.refund_reason_wap_explain, o.refund_reason_time, o.refund_reason_wap,
+               o.refund_reason, o.refund_price, o.delivery_sn, o.delivery_name,
+               o.delivery_type, o.delivery_id, o.gain_integral, o.use_integral,
+               o.pay_integral, o.back_integral, o.mark, o.is_del, o.remark,
+               o.cost, o.verify_code, o.store_id, o.shipping_type, o.is_channel,
+               o.is_remind, o.is_sys_del, o.is_prescribe, o.prescribe_id,
+               o.company_id, o.company_user_id, o.is_package, o.package_json,
+               o.order_type, o.package_id, o.finish_time, o.delivery_status,
+               o.delivery_pay_status, o.delivery_time, o.delivery_pay_time,
+               o.delivery_pay_money, o.tui_money, o.tui_money_status,
+               o.delivery_import_time, o.tui_user_id, o.tui_user_money_status,
+               o.order_create_type, o.store_house_code, o.dept_id, o.is_edit_money,
+               o.customer_id, o.is_pay_remain, o.delivery_send_time, o.certificates,
+               o.upload_time, o.item_json, o.schedule_id, o.delivery_pay_type,
+               o.order_visit, o.service_fee, o.cycle, o.prescribe_price,
+               o.follow_doctor_id, o.follow_time, o.user_coupon_id, o.order_medium,
+               o.erp_phone, o.is_audit, o.order_remark, o.backend_edit_product_type,
+               o.audit_time
+        FROM fs_store_order_scrm o
+    </sql>
+
+    <select id="selectStoreOrderList" resultMap="AdminStoreOrderVOResult">
+        <include refid="selectAdminStoreOrderVo"/>
+        <where>
+            <if test="orderNo != null and orderNo != ''">
+                AND o.order_code LIKE CONCAT('%', #{orderNo}, '%')
+            </if>
+        </where>
+        ORDER BY o.create_time DESC
+    </select>
+
+    <select id="selectStoreOrderById" resultMap="AdminStoreOrderVOResult">
+        <include refid="selectAdminStoreOrderVo"/>
+        WHERE o.id = #{id}
+    </select>
+
+</mapper>