From 5d3b86a4d0032836c782e5e1319179eced5e5647 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 23 一月 2026 17:35:24 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_admin/src/main/java/com/doumee/api/business/GoodsorderController.java             |   13 +--
 admin/src/components/business/OperaGoodsLabelsWindow.vue                                        |   41 +++++----
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Labels.java                   |    3 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java     |    1 
 admin/src/views/business/goodsLabels.vue                                                        |    5 +
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java               |    3 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderExport.java         |   57 ++++++++------
 server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java          |    3 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |   73 +++++++++---------
 9 files changed, 110 insertions(+), 89 deletions(-)

diff --git a/admin/src/components/business/OperaGoodsLabelsWindow.vue b/admin/src/components/business/OperaGoodsLabelsWindow.vue
index 8a40330..13b9265 100644
--- a/admin/src/components/business/OperaGoodsLabelsWindow.vue
+++ b/admin/src/components/business/OperaGoodsLabelsWindow.vue
@@ -10,23 +10,15 @@
       <el-form-item label="鍒嗙被鍚嶇О" prop="name">
         <el-input v-model="form.name" placeholder="璇疯緭鍏ュ垎绫诲悕绉�" v-trim/>
       </el-form-item>
-<!--      <el-form-item label="鎵�灞炴澘鍧�" prop="module">
-        <el-select
-          v-model="form.module"
-          placeholder="璇烽�夋嫨鎵�灞炴澘鍧�"
-        >
-          <el-option
-            :key="0"
-            :value="0"
-            label="骞冲彴鍟嗗煄"
-          ></el-option>
-          <el-option
-            :key="1"
-            :value="1"
-            label="鍜栬眴鍟嗗煄"
-          ></el-option>
-        </el-select>
-      </el-form-item>-->
+      <el-form-item label="鍥炬爣" prop="imgurlfull">
+        <UploadAvatarImage
+            :uploadData="{folder:'labels'}"
+            :file="{ 'imgurlfull': form.imgurlfull, 'imgurl': form.imgurl }"
+            @uploadSuccess="uploadAvatarSuccess"
+            @uploadEnd="isUploading=false"
+            @uploadBegin="isUploading = true"
+        />
+      </el-form-item>
       <el-form-item label="鎺掑簭鐮�(鍗囧簭)" prop="sortnum">
         <el-input v-model="form.sortnum" type="number"  placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
       </el-form-item>
@@ -38,18 +30,22 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
+import UploadAvatarImage from '@/components/common/UploadAvatarImage'
 export default {
   name: 'OperaProductLabelWindow',
   extends: BaseOpera,
-  components: { GlobalAlertWindow },
+  components: { GlobalAlertWindow,UploadAvatarImage },
   data () {
     return {
       // 琛ㄥ崟鏁版嵁
+      isUploading: false,
       form: {
         id: null,
         name: '',
         module: 0,
         type: '0',
+        imgurl:null,
+        imgurlfull:null,
         sortnum: ''
       },
       // 楠岃瘉瑙勫垯
@@ -68,7 +64,14 @@
       api: '/business/labels',
       'field.id': 'id'
     })
-  }
+  },
+  methods: {
+    // 涓婁紶鍥剧墖
+    uploadAvatarSuccess(file) {
+      this.form.imgurl = file.imgurl;
+      this.form.imgurlfull = file.imgurlfull;
+    },
+  },
 }
 </script>
 
diff --git a/admin/src/views/business/goodsLabels.vue b/admin/src/views/business/goodsLabels.vue
index 6101d44..b738d43 100644
--- a/admin/src/views/business/goodsLabels.vue
+++ b/admin/src/views/business/goodsLabels.vue
@@ -24,6 +24,11 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="imgurlfull" label="鍥炬爣" align="center" min-width="80px">
+          <template slot-scope="{row}">
+            <el-image style="width: 50px;height: 50px;" v-if="row.imgurlfull && row.imgurlfull!=''" :src="row.imgurlfull" :preview-src-list="[row.imgurlfull]"></el-image>
+          </template>
+        </el-table-column>
         <el-table-column prop="name" label="鍟嗗搧鍒嗙被" min-width="100px"></el-table-column>
         <el-table-column prop="sortnum" label="鎺掑簭鐮�(鍗囧簭)" min-width="100px"></el-table-column>
         <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
diff --git a/server/dmmall_admin/src/main/java/com/doumee/api/business/GoodsorderController.java b/server/dmmall_admin/src/main/java/com/doumee/api/business/GoodsorderController.java
index 8bbc807..4cf2711 100644
--- a/server/dmmall_admin/src/main/java/com/doumee/api/business/GoodsorderController.java
+++ b/server/dmmall_admin/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -95,6 +95,7 @@
     @PostMapping("/page")
     @RequiresPermissions("business:goodsorder:query")
     public ApiResponse<PageData<Goodsorder>> findPage (@RequestBody PageWrap<Goodsorder> pageWrap) {
+        pageWrap.getModel().setNeedCount(true);
         return ApiResponse.success(goodsorderService.findPage(pageWrap));
     }
 
@@ -108,15 +109,9 @@
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:goodsorder:exportExcel")
-    public void exportExcel (@RequestBody Goodsorder pageWrap, HttpServletResponse response) {
-        List<Goodsorder> list=goodsorderService.exportExcel(pageWrap);
-       for(Goodsorder model:list){
-           if(model.getStatus()!=null){
-               model.setStatusStr(Constants.OrderStatus.getInfo(model.getStatus()));
-               model.setGoodsPrice(model.getGoodsPrice()+"  "+model.getGoodsNum());
-           }
-       }
-        ExcelExporter.build(Goodsorder.class).export(list, "鍟嗗搧璁㈠崟淇℃伅琛�", response);
+    public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
+        List<GoodsorderExport> list=goodsorderService.exportExcel(pageWrap);
+        ExcelExporter.build(GoodsorderExport.class).export(list, "鍟嗗搧璁㈠崟淇℃伅琛�", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index a21b33d..df488df 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -304,5 +304,8 @@
     @ApiModelProperty(value = "缁忛攢鍟嗗悕绉� ")
     @TableField(exist = false)
     private String shopName;
+    @ApiModelProperty(value = "鏄惁闇�瑕佺粺璁� ")
+    @TableField(exist = false)
+    private Boolean needCount;
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderExport.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderExport.java
index 6e62904..f08a3a1 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderExport.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderExport.java
@@ -23,30 +23,39 @@
 public class GoodsorderExport {
 
 
-    private Integer id;
-
-    @ExcelColumn(name="鍟嗗搧鍚嶇О" ,index =1 )
-    private String goodsName;
-    @ExcelColumn(name="瑙勬牸" ,index =2 )
-    private String skuName;
-    @ExcelColumn(name="浠锋牸" ,index =3 )
-    private String price;
-    @ExcelColumn(name="骞冲彴澶囨敞" ,index =4 )
-    private String sysInfo;
-    @ExcelColumn(name="鐢ㄦ埛澶囨敞" ,index =5 )
-    private String memberInfo;
-    @ExcelColumn(name="鑱旂郴浜�" ,index =6 )
-    private String linkeName;
-    @ExcelColumn(name="鑱旂郴鐢佃瘽" ,index =7 )
-    private String linkePhone;
-    @ExcelColumn(name="鑱旂郴鍦板潃" ,index =8 )
+    @ExcelColumn(name="璁㈠崟缂栧彿" ,index =1,width = 10)
+    private Long code;
+    @ExcelColumn(name="鍟嗗搧鎬绘暟閲�" ,index =2 ,width = 8)
+    private Integer totalNum;
+    @ExcelColumn(name="璁㈠崟鎬讳环锛堝厓锛�" ,index =3 ,width = 8)
+    private BigDecimal totalPrice;
+    @ExcelColumn(name="绉垎鎶垫墸锛堝厓锛�" ,index =4 ,width =8)
+    private BigDecimal integralPrice;
+    @ExcelColumn(name="浼樻儬鍒镐紭鎯狅紙鍏冿級" ,index =5 ,width = 8)
+    private BigDecimal couponPrice;
+    @ExcelColumn(name="杩愯垂锛堝厓锛�" ,index =6 ,width = 8)
+    private BigDecimal mailPrice;
+    @ExcelColumn(name="瀹炰粯浠锋牸锛堝厓锛�" ,index =7 ,width = 8)
+    private BigDecimal price;
+    @ExcelColumn(name="鎵�灞炵粡閿�鍟�" ,index =8 ,width = 10)
+    private String shopName;
+    @ExcelColumn(name="缁忛攢鍟嗙粨绠楋紙鍏冿級" ,index =9 ,width = 8)
+    private BigDecimal shopSettlement;
+    @ExcelColumn(name="閰嶉�佹柟寮�" ,index =10,width = 10 ,valueMapping = "0=蹇�掗厤閫�;1=闂ㄥ簵鑷彁")
+    private Integer receiveType;
+    @ExcelColumn(name="鏀惰揣浜哄鍚�" ,index =11 ,width = 10)
+    private String linkname;
+    @ExcelColumn(name="鏀惰揣浜虹數璇�" ,index =12 ,width = 10)
+    private String linkphone;
+    @ExcelColumn(name="鏀惰揣鍦板潃" ,index =13,width = 18 )
     private String addr;
-    @ExcelColumn(name="璁㈠崟浠锋牸" ,index =9 )
-    private String allprice;
-    @ExcelColumn(name="鐘舵��" ,index =10 )
-    private String status;
-
-
-
+    @ExcelColumn(name="蹇�掍俊鎭�" ,index =14,width = 10 )
+    private String kdInfo;
+    @ExcelColumn(name="鐘舵��" ,index =15,width = 6,valueMapping = "0=寰呮敮浠�;1=寰呭彂璐�/寰呰嚜鎻�;2=寰呮敹璐�;3=浜ゆ槗瀹屾垚;4=宸插彇娑�;5=閮ㄥ垎鍙戣揣;6=宸查��娆�")
+    private Integer status;
+    @ExcelColumn(name="璁㈠崟鏃堕棿" ,index =16,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 10)
+    private Date createDate;
+    @ExcelColumn(name="鍟嗗搧鍚嶇О/閲嶉噺(鍗曚环*鏁伴噺)" ,index =17 ,width = 60)
+    private String goodsName;
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Labels.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Labels.java
index 0e82332..6621694 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Labels.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Labels.java
@@ -105,6 +105,9 @@
     private String imgFullurl;
 
 
+    @ApiModelProperty(value = "鍥炬爣")
+    @TableField(exist = false)
+    private String imgurlfull;
     @ApiModelProperty(value = "鐖剁被鍚嶇О")
     @TableField(exist = false)
     private String parentName;
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java
index eb2de77..cc724e8 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -4,6 +4,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.Goodsorder;
+import com.doumee.dao.business.model.GoodsorderExport;
 import com.doumee.dao.business.model.Shop;
 import com.doumee.dao.web.request.*;
 import com.doumee.dao.web.request.goods.DealOrderRequest;
@@ -110,7 +111,7 @@
     PageData<Goodsorder> findPage(PageWrap<Goodsorder> pageWrap);
     PageData<Goodsorder> findPageShop(PageWrap<Goodsorder> pageWrap);
 
-    List<Goodsorder> exportExcel(Goodsorder goodsorder);
+    List<GoodsorderExport> exportExcel(PageWrap<Goodsorder> goodsorder);
 
     /**
      * 鏉′欢缁熻
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 155c66e..1829afe 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -483,7 +483,7 @@
             dealOrderDetailsBiz(idList,result);//鏌ヨ璁㈠崟鏄庣粏
         }
         PageData<Goodsorder> rr =  PageData.from(result);
-        if(pageWrap.getPage() == 1){
+        if(pageWrap.getPage() == 1  && pageWrap.getModel().getNeedCount()!=null&& pageWrap.getModel().getNeedCount()){
             //濡傛灉鏌ヨ绗竴椤碉紝鍋氭暟鎹粺璁�
             rr.setCountData(dealCountOrderNum(pageWrap));
         }
@@ -660,41 +660,42 @@
 
 
     @Override
-    public List<Goodsorder> exportExcel(Goodsorder pageWrap) {
-
-        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
-
-
-        queryWrapper.selectAll(Goodsorder.class);
-        queryWrapper.selectAs(GoodsorderDetail::getName,Goodsorder::getGoodsName);
-        queryWrapper.selectAs(GoodsorderDetail::getSkuName,Goodsorder::getSkuName);
-        queryWrapper.selectAs(GoodsorderDetail::getGoodsNum,Goodsorder::getGoodsNum);
-        queryWrapper.selectAs(GoodsorderDetail::getPrice,Goodsorder::getGoodsPrice);
-        queryWrapper.selectAs(Member::getNickname,Goodsorder::getNickName);
-        queryWrapper.selectAs(Member::getPhone,Goodsorder::getPhone);
-        queryWrapper.selectAs(Addr::getAddr,Goodsorder::getAddr);
-        queryWrapper.select("(select CREATE_DATE  from order_urge where ORDER_ID=t.id and ISDELETED=0 ORDER BY CREATE_DATE desc limit 1) as urgeCreateDate ");
-        queryWrapper.leftJoin(Member.class,Member::getId,Goodsorder::getMemberId);
-        queryWrapper.leftJoin(Addr.class,Addr::getMemberId,Member::getId);
-        queryWrapper.leftJoin(GoodsorderDetail.class,GoodsorderDetail::getOrderId,Goodsorder::getId);
-        queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
-        queryWrapper.eq(Addr::getIsDefault,Constants.ONE);
-
-        queryWrapper.eq(pageWrap.getCode()!=null,Goodsorder::getCode,pageWrap.getCode());
-        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getNickName()),ms->ms.like(Goodsorder::getLinkname,pageWrap.getNickName())
-                .or().like(Goodsorder::getLinkphone,pageWrap.getNickName())
-        );
-        queryWrapper.ge(pageWrap.getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getStarttime());
-        queryWrapper.le(pageWrap.getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getEndtime());
-
-        queryWrapper.eq(pageWrap.getStatus()!=null,Goodsorder::getStatus,pageWrap.getStatus());
-        queryWrapper.eq(pageWrap.getIsdeleted()==null,Goodsorder::getIsdeleted,Constants.ZERO);
-        queryWrapper.eq(pageWrap.getIsdeleted()!=null,Goodsorder::getIsdeleted,pageWrap.getIsdeleted());
-        queryWrapper.orderByDesc(Goodsorder::getCreateDate);
-
-        List<Goodsorder> result = goodsorderJoinMapper.selectJoinList(Goodsorder.class, queryWrapper);
-
-
+    public List<GoodsorderExport> exportExcel(PageWrap<Goodsorder> pageWrap) {
+        pageWrap.getModel().setNeedCount(false);
+        PageData<Goodsorder> list = findPage(pageWrap);
+        List<GoodsorderExport> result = new ArrayList<>();
+        if(list!=null && list.getRecords()!=null){
+            for(Goodsorder order: list.getRecords()){
+                GoodsorderExport param = new GoodsorderExport();
+                param.setCode(order.getCode());
+                String goodsInfo = "";
+                int goodsNum= 0;
+                if(order.getGoodsorderDetailList()!=null && order.getGoodsorderDetailList().size()>0){
+                    for(GoodsorderDetail detail:order.getGoodsorderDetailList()){
+                        goodsNum += Constants.formatIntegerNum(detail.getGoodsNum());
+                        goodsInfo+= StringUtils.defaultString(detail.getName(),"")+"/"+Constants.formatBigdecimal(detail.getGoodsWeight())+"kg"
+                                +"("+Constants.formatBigdecimal(detail.getPrice())+"  x  "+Constants.formatIntegerNum(detail.getGoodsNum())+")锛沑n";
+                    }
+                }
+                param.setTotalNum(goodsNum);
+                param.setGoodsName(goodsInfo);
+                param.setTotalPrice(order.getTotalPrice());
+                param.setIntegralPrice(order.getIntegral());
+                param.setCouponPrice(order.getCouponPrice());
+                param.setMailPrice(order.getMailPrice());
+                param.setPrice(order.getPrice());
+                param.setShopName(order.getShopName());
+                param.setShopSettlement(order.getShopSettlement());
+                param.setReceiveType(order.getReceiveType());
+                param.setLinkname(order.getLinkname());
+                param.setLinkphone(order.getLinkphone());
+                param.setAddr(order.getLinkaddr());
+                param.setKdInfo(StringUtils.defaultString(order.getKdName(),"")+StringUtils.defaultString(order.getKdCode(),""));
+                param.setStatus(order.getStatus());
+                param.setCreateDate(order.getCreateDate());
+                result.add(param);
+            }
+        }
         return result;
     }
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
index f075750..501672f 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
@@ -358,6 +358,7 @@
                }
                if(StringUtils.isNotBlank(model.getImgurl())){
                    model.setImgFullurl(path + model.getImgurl());
+                   model.setImgurlfull(path + model.getImgurl());
                }
                if(Constants.equalsInteger(model.getType(),Constants.LabelsType.BIG_AREA.getKey())
                         || Constants.equalsInteger(model.getType(),Constants.LabelsType.YUN_FEE.getKey())){

--
Gitblit v1.9.3