Bladeren bron

直播订单导出增加字段

yuhongqi 1 week geleden
bovenliggende
commit
cc640267ef

+ 38 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java

@@ -7,14 +7,17 @@ import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.domain.model.LoginUser;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.CloudHostUtils;
+import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.company.service.ICompanyMoneyLogsService;
 import com.fs.course.dto.FsOrderDeliveryNoteDTO;
 import com.fs.erp.service.IErpOrderService;
+import com.fs.framework.web.service.TokenService;
 import com.fs.his.domain.FsStoreOrderDf;
 import com.fs.his.service.IFsStoreOrderDfService;
 import com.fs.his.service.IFsUserService;
@@ -48,6 +51,8 @@ public class FsStoreHealthOrderScrmController extends BaseController {
 
     @Autowired
     private IFsStoreOrderStatusScrmService orderStatusService;
+    @Autowired
+    private TokenService tokenService;
 
     @Autowired
     IErpOrderService erpOrderService;
@@ -93,6 +98,7 @@ public class FsStoreHealthOrderScrmController extends BaseController {
             dataTable.setMsg("knt");
         }
         if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
@@ -105,6 +111,17 @@ public class FsStoreHealthOrderScrmController extends BaseController {
                         vo.setErpAccount(df.getLoginAccount());
                     }
                 }
+                //
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setPayDelivery(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                }
 
             }
         }
@@ -269,6 +286,7 @@ public class FsStoreHealthOrderScrmController extends BaseController {
         List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
         //对手机号脱敏
         if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
             for (FsStoreOrderItemExportVO vo : list) {
                 if (vo.getUserPhone() != null) {
                     String phone = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2");
@@ -281,6 +299,16 @@ public class FsStoreHealthOrderScrmController extends BaseController {
                     } catch (Exception e) {
                     }
                 }
+                //
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                }
             }
         }
         ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);
@@ -314,6 +342,7 @@ public class FsStoreHealthOrderScrmController extends BaseController {
         List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
         //对手机号脱敏
         if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
             for (FsStoreOrderItemExportVO vo : list) {
                 if (!StringUtils.isEmpty(vo.getJsonInfo())) {
                     try {
@@ -322,6 +351,15 @@ public class FsStoreHealthOrderScrmController extends BaseController {
                     } catch (Exception e) {
                     }
                 }
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                }
             }
         }
         ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);

+ 35 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -194,6 +194,7 @@ public class FsStoreOrderScrmController extends BaseController {
             dataTable.setMsg("knt");
         }
         if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
@@ -206,6 +207,17 @@ public class FsStoreOrderScrmController extends BaseController {
                         vo.setErpAccount(df.getLoginAccount());
                     }
                 }
+                //
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setPayDelivery(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                }
             }
         }
         FsStoreOrderListAndStatisticsVo vo = new FsStoreOrderListAndStatisticsVo();
@@ -435,6 +447,8 @@ public class FsStoreOrderScrmController extends BaseController {
         List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
         //对手机号脱敏
         if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+
             for (FsStoreOrderItemExportVO vo : list) {
                 if (vo.getUserPhone() != null) {
                     String phone = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2");
@@ -450,6 +464,16 @@ public class FsStoreOrderScrmController extends BaseController {
                     } catch (Exception e) {
                     }
                 }
+                //
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                }
             }
         }
         ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);
@@ -486,6 +510,7 @@ public class FsStoreOrderScrmController extends BaseController {
         List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
         //对手机号脱敏
         if (list != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
             for (FsStoreOrderItemExportVO vo : list) {
                 if (!StringUtils.isEmpty(vo.getJsonInfo())) {
                     try {
@@ -494,6 +519,16 @@ public class FsStoreOrderScrmController extends BaseController {
                     } catch (Exception e) {
                     }
                 }
+                //
+                if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
+                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                } else {
+                    vo.setPayPostage(BigDecimal.ZERO);
+                    vo.setCost(BigDecimal.ZERO);
+                    vo.setFPrice(BigDecimal.ZERO);
+                    vo.setBarCode("");
+                    vo.setCateName("");
+                }
             }
         }
         ExcelUtil<FsStoreOrderItemExportVO> util = new ExcelUtil<FsStoreOrderItemExportVO>(FsStoreOrderItemExportVO.class);

+ 3 - 0
fs-admin/src/main/java/com/fs/live/controller/LiveOrderController.java

@@ -178,6 +178,9 @@ public class LiveOrderController extends BaseController
             } else {
                 vo.setCostPrice(BigDecimal.ZERO);
                 vo.setFPrice(BigDecimal.ZERO);
+                vo.setPayDelivery(BigDecimal.ZERO);
+                vo.setBarCode("");
+                vo.setCateName("");
             }
             vo.setCost(vo.getCostPrice());
 

+ 2 - 1
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderItemScrmMapper.java

@@ -75,9 +75,10 @@ public interface FsStoreOrderItemScrmMapper
     List<FsStoreOrderItemVO> selectFsStoreOrderItemListAndProductByOrderId(Long id);
 
     @Select({"<script> " +
-            "select i.*,o.user_id,o.status, o.real_name,o.user_phone,o.user_address,o.create_time,o.pay_time,o.delivery_sn,o.delivery_name,o.delivery_id, c.company_name ,cu.nick_name as company_user_nick_name ,cu.phonenumber as company_usere_phonenumber,o.upload_time ,CASE WHEN o.certificates IS NULL OR o.certificates = '' THEN 0 ELSE 1 END AS is_upload   " +
+            "select i.*,o.user_id,psps.cost,o.pay_postage,o.total_num,o.status,fspcs.cate_name, o.real_name,o.user_phone,o.user_address,o.create_time,o.pay_time,o.delivery_sn,o.delivery_name,o.delivery_id, c.company_name ,cu.nick_name as company_user_nick_name ,cu.phonenumber as company_usere_phonenumber,o.upload_time ,CASE WHEN o.certificates IS NULL OR o.certificates = '' THEN 0 ELSE 1 END AS is_upload   " +
             " ,p.title as package_name,cts.name as scheduleName from fs_store_order_item_scrm i left join fs_store_order_scrm o on o.id=i.order_id left join fs_user u on o.user_id=u.user_id  " +
             " left join fs_store_product_package_scrm p on o.package_id=p.package_id left join company c on c.company_id=o.company_id left join company_user cu on cu.user_id=o.company_user_id left join company_tcm_schedule cts on cts.id = o.schedule_id " +
+            " left join fs_store_product_scrm psps on i.product_id=psps.product_id left join fs_store_product_category_scrm fspcs on fspcs.cate_id=psps.cate_id " +
             "where 1=1 " +
             "<if test = 'maps.orderCode != null and  maps.orderCode !=\"\"    '> " +
             "and o.order_code like CONCAT('%',#{maps.orderCode},'%') " +

+ 2 - 3
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -2966,9 +2966,8 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
         BigDecimal payIntegral = this.getOrderSumPrice(cartInfo, "payIntegral");//获取订单需要的积分
 
         //如果设置满包邮0 表示全局包邮,如果设置大于0表示满这价格包邮,否则走运费模板算法
-        if (storeFreePostage.compareTo(BigDecimal.ZERO) != 0 && totalPrice.compareTo(storeFreePostage) <= 0) {
-            storePostage = this.handlePostage(cartInfo, userAddress);
-        }
+        storePostage = this.handlePostage(cartInfo, userAddress);
+
 
         FsStoreOrderPriceDTO priceGroupDTO = new FsStoreOrderPriceDTO();
         priceGroupDTO.setStorePostage(storePostage);

+ 15 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderExportVO.java

@@ -126,6 +126,21 @@ public class FsStoreOrderExportVO implements Serializable
     @Excel(name = "订单状态", dictType = "store_order_status")
     private String status;
 
+    @Excel(name = "成本价",cellType= Excel.ColumnType.NUMERIC)
+    private BigDecimal cost;
+
+    /** 结算价 */
+    @Excel(name = "结算价",cellType= Excel.ColumnType.NUMERIC)
+    private BigDecimal FPrice;
+
+    /** 商品编码 */
+    @Excel(name = "商品编码")
+    private String barCode;
+
+    /** 商品分类 */
+    @Excel(name = "商品分类")
+    private String cateName;
+
 //    /** 0 未退款 1 申请中 2 已退款 */
 ////    @Excel(name = "0 未退款 1 申请中 2 已退款")
 //    private Integer refundStatus;

+ 10 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderItemExportVO.java

@@ -41,6 +41,16 @@ public class FsStoreOrderItemExportVO implements Serializable
     @Excel(name = "产品价格")
     private BigDecimal price;
 
+    @Excel(name = "成本价")
+    private BigDecimal cost;
+    @Excel(name = "结算价")
+    private BigDecimal FPrice;
+    @Excel(name = "额外运费")
+    private BigDecimal payPostage;
+    private Integer totalNum;
+    @Excel(name = "商品分类")
+    private String cateName;
+
 
     private String jsonInfo;
 

+ 13 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderVO.java

@@ -194,8 +194,21 @@ public class FsStoreOrderVO implements Serializable
     private Integer isDel;
 
     /** 成本价 */
+    @Excel(name = "成本价")
     private BigDecimal cost;
 
+    /** 结算价 */
+    @Excel(name = "结算价")
+    private BigDecimal FPrice;
+
+    /** 商品编码 */
+    @Excel(name = "商品编码")
+    private String barCode;
+
+    /** 商品分类 */
+    @Excel(name = "商品分类")
+    private String cateName;
+
     /** 核销码 */
     private String verifyCode;
 

+ 2 - 0
fs-service/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -3466,6 +3466,8 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
 
         }
 
+        liveOrder.setPayDelivery(storePostage);
+
         return storePostage;
     }
 

+ 3 - 0
fs-service/src/main/java/com/fs/live/service/impl/LiveServiceImpl.java

@@ -245,6 +245,9 @@ public class LiveServiceImpl implements ILiveService
         notifyTask.setTemplateId((String) param.get("templateId"));
         FsUser fsUser = fsUserMapper.selectFsUserById(Long.valueOf((Integer) param.get("userId")));
         String maOpenId = fsUser.getMaOpenId();
+        if (StringUtils.isEmpty(maOpenId)) {
+            maOpenId = (String) param.get("maOpenId");
+        }
         notifyTask.setTouser(maOpenId);
         notifyTask.setPage(String.valueOf(1));
 

+ 11 - 3
fs-service/src/main/java/com/fs/live/vo/LiveOrderVoZm.java

@@ -98,6 +98,7 @@ public class LiveOrderVoZm{
     @Excel(name = "所属店铺名称")
     private String storeName;
 
+
     @Excel(name = "商品ID")
     private Long productId;
 
@@ -123,6 +124,16 @@ public class LiveOrderVoZm{
     @Excel(name = "结算价格")
     private BigDecimal fPrice;
 
+    /** 支付运费 */
+    @Excel(name = "支付运费")
+    private BigDecimal payDelivery;
+
+    @Excel(name = "商品编码")
+    private String barCode;
+
+    @Excel(name = "商品分类")
+    private String cateName;
+
     /** 支付金额 */
     @Excel(name = "支付金额")
     private BigDecimal payMoney;
@@ -311,9 +322,6 @@ public class LiveOrderVoZm{
 //    @Excel(name = "扩展订单ID")
     private String extendOrderId;
 
-    /** 支付运费 */
-//    @Excel(name = "支付运费")
-    private BigDecimal payDelivery;
 
     /** 剩余金额 */
 //    @Excel(name = "剩余金额")

+ 7 - 5
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -1572,9 +1572,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ${maps.params.dataScope} GROUP BY sp.product_id
         ) AS t
     </select>
+<!--    商城订单查询接口-->
     <select id="selectFsStoreOrderListVO" resultType="com.fs.hisStore.vo.FsStoreOrderVO">
         select o.*,u.phone,u.register_code,u.register_date,u.source, c.company_name ,cu.nick_name as company_user_nick_name ,cu.phonenumber as company_usere_phonenumber
-        , csc.name miniProgramName
+        , csc.name miniProgramName,fsp.cost as cost, fspc.cate_name,spavs.bar_code
         from fs_store_order_scrm o
         left join fs_user u on o.user_id=u.user_id
         left join company c on c.company_id=o.company_id
@@ -1583,10 +1584,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LEFT JOIN fs_store_order_df df on df.order_id=o.id
 
         </if>
-        <if test = "maps.productName != null and  maps.productName !=  '' ">
-            left join fs_store_order_item_scrm oi on o.id = oi.order_id
-            left join fs_store_product_scrm fsp on fsp.product_id = oi.product_id
-        </if>
+        left join fs_store_order_item_scrm oi on o.id = oi.order_id
+        left join fs_store_product_scrm fsp on fsp.product_id = oi.product_id
+        left join fs_store_product_category_scrm fspc on fspc.cate_id = fsp.cate_id
+        left join fs_store_product_attr_value_scrm spavs on fsp.product_id = spavs.product_id
+
         LEFT JOIN (
         SELECT
         sp.*,

+ 9 - 1
fs-service/src/main/resources/mapper/live/LiveOrderMapper.xml

@@ -950,6 +950,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             o.pay_time,
             o.pay_type,
             o.pay_money,
+            o.pay_delivery,
             o.create_time,
             o.update_time,
             o.status,
@@ -997,7 +998,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
             <!-- 门店信息 -->
             s.store_name AS storeName,
-            s.store_id AS storeId
+            s.store_id AS storeId,
+
+            <!-- 门店信息 -->
+            spavs.bar_code,
+            spcs.cate_name
 
         FROM
             live_order o
@@ -1005,6 +1010,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LEFT JOIN company_user cu ON o.company_user_id = cu.user_id
             LEFT JOIN fs_store_product_scrm p ON o.product_id = p.product_id
             LEFT JOIN fs_store_scrm s ON p.store_id = s.store_id
+            LEFT JOIN fs_store_product_attr_value_scrm spavs ON p.product_id = spavs.product_id
+            LEFT JOIN fs_store_product_category_scrm spcs ON p.cate_id = spcs.cate_id
+
         <where>
             o.is_del = 0
             <if test="orderId != null">