Sfoglia il codice sorgente

Merge branch 'master' of hyq/kmall-pt into master

黄亚琴 6 anni fa
parent
commit
40950422c4

+ 117 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/SupplierController.java

@@ -0,0 +1,117 @@
+package com.kmall.admin.controller;
+
+import java.util.List;
+import java.util.Map;
+
+import com.kmall.admin.entity.SupplierEntity;
+import com.kmall.admin.service.SupplierService;
+import com.kmall.api.service.common.CommonPropertiesBuilder;
+import com.kmall.api.service.merch.OmsMerchPropertiesBuilder;
+import com.kmall.common.utils.PageUtils;
+import com.kmall.common.utils.Query;
+import com.kmall.common.utils.R;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Controller
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2018-11-26 15:14:24
+ */
+@Controller
+@RequestMapping("supplier")
+public class SupplierController {
+    @Autowired
+    private SupplierService supplierService;
+
+    /**
+     * 查看列表
+     */
+    @RequestMapping("/list")
+    @RequiresPermissions("supplier:list")
+    @ResponseBody
+    public R list(@RequestParam Map<String, Object> params) {
+        //查询列表数据
+        Query query = new Query(params);
+
+        List<SupplierEntity> supplierList = supplierService.queryList(query);
+        int total = supplierService.queryTotal(query);
+
+        PageUtils pageUtil = new PageUtils(supplierList, total, query.getLimit(), query.getPage());
+
+        return R.ok().put("page", pageUtil);
+    }
+
+    /**
+     * 查看信息
+     */
+    @RequestMapping("/info/{id}")
+    @RequiresPermissions("supplier:info")
+    @ResponseBody
+    public R info(@PathVariable("id") Integer id) {
+        SupplierEntity supplier = new SupplierEntity();
+        if(id==0){
+            supplier.setLevelMerchSn(OmsMerchPropertiesBuilder.instance().getMerchSn());
+            supplier.setLevelMerchFlag(OmsMerchPropertiesBuilder.instance().getMerchShortName());
+            supplier.setIsShow("0");
+        }else{
+            supplier = supplierService.queryObject(id);
+        }
+
+        return R.ok().put("supplier", supplier);
+    }
+
+    /**
+     * 保存
+     */
+    @RequestMapping("/save")
+    @RequiresPermissions("supplier:save")
+    @ResponseBody
+    public R save(@RequestBody SupplierEntity supplier) {
+        supplier.setLevelMerchSn(OmsMerchPropertiesBuilder.instance().getMerchSn());
+        supplier.setLevelMerchFlag(OmsMerchPropertiesBuilder.instance().getMerchShortName());
+        supplierService.save(supplier);
+
+        return R.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping("/update")
+    @RequiresPermissions("supplier:update")
+    @ResponseBody
+    public R update(@RequestBody SupplierEntity supplier) {
+        supplierService.update(supplier);
+
+        return R.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping("/delete")
+    @RequiresPermissions("supplier:delete")
+    @ResponseBody
+    public R delete(@RequestBody Integer[]ids) {
+        supplierService.deleteBatch(ids);
+
+        return R.ok();
+    }
+
+    /**
+     * 查看所有列表
+     */
+    @RequestMapping("/queryAll")
+    @ResponseBody
+    public R queryAll(@RequestParam Map<String, Object> params) {
+
+        List<SupplierEntity> list = supplierService.queryList(params);
+
+        return R.ok().put("list", list);
+    }
+}

+ 15 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/SupplierDao.java

@@ -0,0 +1,15 @@
+package com.kmall.admin.dao;
+
+import com.kmall.admin.entity.SupplierEntity;
+import com.kmall.common.dao.BaseDao;
+
+/**
+ * Dao
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2018-11-26 15:14:24
+ */
+public interface SupplierDao extends BaseDao<SupplierEntity> {
+
+}

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/GoodsEntity.java

@@ -19,6 +19,8 @@ public class GoodsEntity implements Serializable {
     private Long id;
     //商品类型Id
     private Integer categoryId;
+    //供应商id
+    private Integer supplierId;
     //商品序列号
     private String goodsSn;
     //名称
@@ -130,6 +132,14 @@ public class GoodsEntity implements Serializable {
     //视频地址
     private String videoUrl;
 
+    public Integer getSupplierId() {
+        return supplierId;
+    }
+
+    public void setSupplierId(Integer supplierId) {
+        this.supplierId = supplierId;
+    }
+
     public String getVideoUrl() {
         return videoUrl;
     }

+ 137 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/SupplierEntity.java

@@ -0,0 +1,137 @@
+package com.kmall.admin.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 实体
+ * 表名 mall_supplier
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2018-11-26 15:14:24
+ */
+public class SupplierEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Integer id;
+    /**
+     * 一级商户编号
+     */
+    private String levelMerchSn;
+    /**
+     * 一级商户标识
+     */
+    private String levelMerchFlag;
+    /**
+     * 二级供货商名称
+     */
+    private String childSupplierSn;
+    /**
+     * 二级供货商标识
+     */
+    private String childSupplierFlag;
+    /**
+     * 排序
+     */
+    private Integer sortOrder;
+    /**
+     * 是否禁用:0:否;1:是
+     */
+    private String isShow;
+
+    /**
+     * 设置:主键
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 获取:主键
+     */
+    public Integer getId() {
+        return id;
+    }
+    /**
+     * 设置:一级商户编号
+     */
+    public void setLevelMerchSn(String levelMerchSn) {
+        this.levelMerchSn = levelMerchSn;
+    }
+
+    /**
+     * 获取:一级商户编号
+     */
+    public String getLevelMerchSn() {
+        return levelMerchSn;
+    }
+    /**
+     * 设置:一级商户标识
+     */
+    public void setLevelMerchFlag(String levelMerchFlag) {
+        this.levelMerchFlag = levelMerchFlag;
+    }
+
+    /**
+     * 获取:一级商户标识
+     */
+    public String getLevelMerchFlag() {
+        return levelMerchFlag;
+    }
+    /**
+     * 设置:二级供货商名称
+     */
+    public void setChildSupplierSn(String childSupplierSn) {
+        this.childSupplierSn = childSupplierSn;
+    }
+
+    /**
+     * 获取:二级供货商名称
+     */
+    public String getChildSupplierSn() {
+        return childSupplierSn;
+    }
+    /**
+     * 设置:二级供货商标识
+     */
+    public void setChildSupplierFlag(String childSupplierFlag) {
+        this.childSupplierFlag = childSupplierFlag;
+    }
+
+    /**
+     * 获取:二级供货商标识
+     */
+    public String getChildSupplierFlag() {
+        return childSupplierFlag;
+    }
+    /**
+     * 设置:排序
+     */
+    public void setSortOrder(Integer sortOrder) {
+        this.sortOrder = sortOrder;
+    }
+
+    /**
+     * 获取:排序
+     */
+    public Integer getSortOrder() {
+        return sortOrder;
+    }
+    /**
+     * 设置:是否禁用:0:否;1:是
+     */
+    public void setIsShow(String isShow) {
+        this.isShow = isShow;
+    }
+
+    /**
+     * 获取:是否禁用:0:否;1:是
+     */
+    public String getIsShow() {
+        return isShow;
+    }
+}

+ 72 - 0
kmall-admin/src/main/java/com/kmall/admin/service/SupplierService.java

@@ -0,0 +1,72 @@
+package com.kmall.admin.service;
+
+import com.kmall.admin.entity.SupplierEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Service接口
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2018-11-26 15:14:24
+ */
+public interface SupplierService {
+
+    /**
+     * 根据主键查询实体
+     *
+     * @param id 主键
+     * @return 实体
+     */
+    SupplierEntity queryObject(Integer id);
+
+    /**
+     * 分页查询
+     *
+     * @param map 参数
+     * @return list
+     */
+    List<SupplierEntity> queryList(Map<String, Object> map);
+
+    /**
+     * 分页统计总数
+     *
+     * @param map 参数
+     * @return 总数
+     */
+    int queryTotal(Map<String, Object> map);
+
+    /**
+     * 保存实体
+     *
+     * @param supplier 实体
+     * @return 保存条数
+     */
+    int save(SupplierEntity supplier);
+
+    /**
+     * 根据主键更新实体
+     *
+     * @param supplier 实体
+     * @return 更新条数
+     */
+    int update(SupplierEntity supplier);
+
+    /**
+     * 根据主键删除
+     *
+     * @param id
+     * @return 删除条数
+     */
+    int delete(Integer id);
+
+    /**
+     * 根据主键批量删除
+     *
+     * @param ids
+     * @return 删除条数
+     */
+    int deleteBatch(Integer[] ids);
+}

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -87,6 +87,7 @@ public class GoodsServiceImpl implements GoodsService {
         builder.put("goodsBizType", "货品业务类型");
         builder.put("name", "商品名称");
         builder.put("brandId", "品牌");
+        builder.put("supplierId", "供应商");
         builder.put("freightId", "运费模版");
         builder.put("goodsDesc", "商品描述");
         builder.put("isOnSale", "上架");
@@ -219,6 +220,7 @@ public class GoodsServiceImpl implements GoodsService {
         builder.put("goodsBizType", "货品业务类型");
         builder.put("name", "商品名称");
         builder.put("brandId", "品牌");
+        builder.put("supplierId", "供应商");
         builder.put("freightId", "运费模版");
         builder.put("goodsDesc", "商品描述");
         builder.put("isOnSale", "上架");

+ 3 - 8
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -192,6 +192,7 @@ public class OrderServiceImpl implements OrderService {
 
     @Override
     public Ticket printMsg(Long id) {
+        System.out.println("打印小票>>>>>>>>>>"+id);
         OrderEntity orderEntity = queryInfos(id);
         List<OrderGoodsEntity> orderGoodsEntityList = orderEntity.getOrderGoodsEntityList();
         // 获取门店
@@ -397,7 +398,7 @@ public class OrderServiceImpl implements OrderService {
         OrderProcessRecordEntity orderProcessRecordEntity = orderProcessRecordDao.queryObjectByOrderSn(orderEntity.getOrderSn());
         if (orderProcessRecordEntity != null) {
             if (StringUtils.isNotEmpty(orderEntity.getShippingCode())
-                    && StringUtils.isNotEmpty(orderEntity.getShippingNo()) &&orderProcessRecordEntity.getShipmentSuccTime()!=null) {
+                    && StringUtils.isNotEmpty(orderEntity.getShippingNo()) &&orderProcessRecordEntity.getShipmentStartTime()!=null) {
                 JSONObject traces = KdniaoUtil.getOrderTracesByJson(orderEntity.getShippingCode(), orderEntity.getShippingNo());
                 List<Map> mapList = (List<Map>) traces.get("Traces");
                 for (Map map : mapList) {
@@ -415,15 +416,9 @@ public class OrderServiceImpl implements OrderService {
                     wuliuEntityList.add(wuliuEntity);
                 }
             }
-            if (Dict.isSend.item_1.getItem().equalsIgnoreCase(orderProcessRecordEntity.getIsCustomsSend()) && orderProcessRecordEntity.getShipmentSuccTime() != null) {
-                WuliuEntity wuliuEntity = new WuliuEntity();
-                wuliuEntity.setAcceptStation( "订单已出库");
-                wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getShipmentSuccTime()));
-                wuliuEntityList.add(wuliuEntity);
-            }
             if (Dict.isSend.item_1.getItem().equalsIgnoreCase(orderProcessRecordEntity.getIsCustomsSend()) && orderProcessRecordEntity.getShipmentStartTime() != null) {
                 WuliuEntity wuliuEntity = new WuliuEntity();
-                wuliuEntity.setAcceptStation( "订单正在打包中");
+                wuliuEntity.setAcceptStation( "订单已出库");
                 wuliuEntity.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(orderProcessRecordEntity.getShipmentStartTime()));
                 wuliuEntityList.add(wuliuEntity);
             }

+ 58 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/SupplierServiceImpl.java

@@ -0,0 +1,58 @@
+package com.kmall.admin.service.impl;
+
+import com.kmall.admin.dao.SupplierDao;
+import com.kmall.admin.entity.SupplierEntity;
+import com.kmall.admin.service.SupplierService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Service实现类
+ *
+ * @author emato
+ * @email admin@qhdswl.com
+ * @date 2018-11-26 15:14:24
+ */
+@Service("supplierService")
+public class SupplierServiceImpl implements SupplierService {
+    @Autowired
+    private SupplierDao supplierDao;
+
+    @Override
+    public SupplierEntity queryObject(Integer id) {
+        return supplierDao.queryObject(id);
+    }
+
+    @Override
+    public List<SupplierEntity> queryList(Map<String, Object> map) {
+        return supplierDao.queryList(map);
+    }
+
+    @Override
+    public int queryTotal(Map<String, Object> map) {
+        return supplierDao.queryTotal(map);
+    }
+
+    @Override
+    public int save(SupplierEntity supplier) {
+        return supplierDao.save(supplier);
+    }
+
+    @Override
+    public int update(SupplierEntity supplier) {
+        return supplierDao.update(supplier);
+    }
+
+    @Override
+    public int delete(Integer id) {
+        return supplierDao.delete(id);
+    }
+
+    @Override
+    public int deleteBatch(Integer[]ids) {
+        return supplierDao.deleteBatch(ids);
+    }
+}

+ 4 - 0
kmall-admin/src/main/resources/mybatis/mapper/GoodsDao.xml

@@ -53,6 +53,7 @@
         <result property="oriCntCode" column="ori_cnt_code"/>
         <result property="cusDeclEle" column="cus_decl_ele"/>
         <result property="cusRecCode" column="cus_rec_code"/>
+        <result property="supplierId" column="supplier_id"/>
     </resultMap>
 
     <select id="queryObject" resultType="com.kmall.admin.entity.GoodsEntity">
@@ -202,6 +203,7 @@
     <insert id="save" parameterType="com.kmall.admin.entity.GoodsEntity" useGeneratedKeys="true" keyProperty="id">
         insert into mall_goods(
 			`category_id`,
+            `supplier_id`,
 			`goods_sn`,
 			`prod_barcode`,
 			`sku`,
@@ -250,6 +252,7 @@
 			`tstm`)
 		values(
 			#{categoryId},
+            #{supplierId},
 			#{goodsSn},
 			#{prodBarcode},
 			#{sku},
@@ -302,6 +305,7 @@
         update mall_goods
         <set>
             <if test="categoryId != null">`category_id` = #{categoryId}, </if>
+            <if test="supplierId != null">`supplier_id` = #{supplierId}, </if>
             <if test="goodsSn != null">`goods_sn` = #{goodsSn}, </if>
             <if test="prodBarcode != null">`prod_barcode` = #{prodBarcode}, </if>
             <if test="sku != null">`sku` = #{sku}, </if>

+ 105 - 0
kmall-admin/src/main/resources/mybatis/mapper/SupplierDao.xml

@@ -0,0 +1,105 @@
+<?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.kmall.admin.dao.SupplierDao">
+
+    <resultMap type="com.kmall.admin.entity.SupplierEntity" id="supplierMap">
+        <result property="id" column="id"/>
+        <result property="levelMerchSn" column="level_merch_sn"/>
+        <result property="levelMerchFlag" column="level_merch_flag"/>
+        <result property="childSupplierSn" column="child_supplier_sn"/>
+        <result property="childSupplierFlag" column="child_supplier_flag"/>
+        <result property="sortOrder" column="sort_order"/>
+        <result property="isShow" column="is_show"/>
+    </resultMap>
+
+	<select id="queryObject" resultType="com.kmall.admin.entity.SupplierEntity">
+		select
+			`id`,
+			`level_merch_sn`,
+			`level_merch_flag`,
+			`child_supplier_sn`,
+			`child_supplier_flag`,
+			`sort_order`,
+			`is_show`
+		from mall_supplier
+		where id = #{id}
+	</select>
+
+	<select id="queryList" resultType="com.kmall.admin.entity.SupplierEntity">
+		select
+    		`id`,
+    		`level_merch_sn`,
+    		`level_merch_flag`,
+    		`child_supplier_sn`,
+    		`child_supplier_flag`,
+    		`sort_order`,
+    		`is_show`
+		from mall_supplier
+		WHERE 1=1
+		<if test="name != null and name.trim() != ''">
+			AND name LIKE concat('%',#{name},'%')
+		</if>
+        <choose>
+            <when test="sidx != null and sidx.trim() != ''">
+                order by ${sidx} ${order}
+            </when>
+			<otherwise>
+                order by id desc
+			</otherwise>
+        </choose>
+		<if test="offset != null and limit != null">
+			limit #{offset}, #{limit}
+		</if>
+	</select>
+	
+ 	<select id="queryTotal" resultType="int">
+		select count(*) from mall_supplier
+		WHERE 1=1
+        <if test="name != null and name.trim() != ''">
+            AND name LIKE concat('%',#{name},'%')
+        </if>
+	</select>
+	 
+	<insert id="save" parameterType="com.kmall.admin.entity.SupplierEntity">
+		insert into mall_supplier(
+			`level_merch_sn`,
+			`level_merch_flag`,
+			`child_supplier_sn`,
+			`child_supplier_flag`,
+			`sort_order`,
+			`is_show`)
+		values(
+			#{levelMerchSn},
+			#{levelMerchFlag},
+			#{childSupplierSn},
+			#{childSupplierFlag},
+			#{sortOrder},
+			#{isShow})
+	</insert>
+	 
+	<update id="update" parameterType="com.kmall.admin.entity.SupplierEntity">
+		update mall_supplier 
+		<set>
+			<if test="levelMerchSn != null">`level_merch_sn` = #{levelMerchSn}, </if>
+			<if test="levelMerchFlag != null">`level_merch_flag` = #{levelMerchFlag}, </if>
+			<if test="childSupplierSn != null">`child_supplier_sn` = #{childSupplierSn}, </if>
+			<if test="childSupplierFlag != null">`child_supplier_flag` = #{childSupplierFlag}, </if>
+			<if test="sortOrder != null">`sort_order` = #{sortOrder}, </if>
+			<if test="isShow != null">`is_show` = #{isShow}</if>
+		</set>
+		where id = #{id}
+	</update>
+	
+	<delete id="delete">
+		delete from mall_supplier where id = #{value}
+	</delete>
+	
+	<delete id="deleteBatch">
+		delete from mall_supplier where id in 
+		<foreach item="id" collection="array" open="(" separator="," close=")">
+			#{id}
+		</foreach>
+	</delete>
+
+</mapper>

+ 10 - 3
kmall-admin/src/main/webapp/WEB-INF/page/shop/goods.html

@@ -59,10 +59,10 @@
                 <i-col span="4">
                     <i-input v-model="q.goodsSn" @on-enter="query" placeholder="商品编码"/>
                 </i-col>
-                <i-col span="4">
+                <i-col span="3">
                     <i-input v-model="q.name" @on-enter="query" placeholder="名称"/>
                 </i-col>
-                <i-col span="4">
+                <i-col span="3">
                     <i-select v-model="q.category" placeholder="商品分类" filterable @on-change="changeQueryCategories"
                               label-in-value>
                         <i-option v-for="category in queryCategories" :value="category.id"
@@ -70,7 +70,7 @@
                         </i-option>
                     </i-select>
                 </i-col>
-                <i-col span="4">
+                <i-col span="3">
                     <i-select v-model="q.categoryTwo" placeholder="商品二级分类" filterable label-in-value>
                         <i-option v-for="category in queryCategoriesTwo" :value="category.id"
                                   :key="category.id">{{category.name}}
@@ -156,6 +156,13 @@
                             </i-option>
                         </i-select>
                     </Form-item>
+                <Form-item label="供应商" prop="supplierId">
+                    <i-select v-model="goods.supplierId" filterable placeholder="供应商"
+                              label-in-value style="width: 268px;">
+                        <i-option v-for="supplier in suppliers" :value="supplier.id" :key="supplier.id">{{supplier.childSupplierSn}}
+                        </i-option>
+                    </i-select>
+                </Form-item>
                     <Form-item label="运费模版" prop="freightId">
                         <i-select v-model="goods.freightId" filterable placeholder="运费模版"
                                   label-in-value style="width: 268px;">

+ 74 - 0
kmall-admin/src/main/webapp/WEB-INF/page/shop/supplier.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title></title>
+    #parse("sys/header.html")
+</head>
+<body>
+<div id="rrapp" v-cloak>
+	<div v-show="showList">
+        <Row :gutter="16">
+            <div class="search-group">
+                <i-col span="4">
+                    <i-input v-model="q.name" @on-enter="query" placeholder="名称"/>
+                </i-col>
+                <i-button @click="query">查询</i-button>
+                <i-button @click="reloadSearch">重置</i-button>
+            </div>
+            <div class="buttons-group">
+                #if($shiro.hasPermission("supplier:save"))
+                <i-button type="info" @click="add"><i class="fa fa-plus"></i>&nbsp;新增</i-button>
+                #end
+                #if($shiro.hasPermission("supplier:update"))
+                <i-button type="warning" @click="update"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</i-button>
+                #end
+                #if($shiro.hasPermission("supplier:delete"))
+                <i-button type="error" @click="del"><i class="fa fa-trash-o"></i>&nbsp;删除</i-button>
+                #end
+            </div>
+        </Row>
+	    <table id="jqGrid"></table>
+	    <div id="jqGridPager"></div>
+    </div>
+
+    <Card v-show="!showList">
+        <p slot="title">{{title}}</p>
+		<i-form ref="formValidate" :model="supplier" :rules="ruleValidate" :label-width="150">
+            <Form-item label="一级商户编号" prop="levelMerchSn">
+                <i-input v-model="supplier.levelMerchSn" placeholder="一级商户编号" readonly/>
+            </Form-item>
+            <Form-item label="一级商户标识" prop="levelMerchFlag">
+                <i-input v-model="supplier.levelMerchFlag" placeholder="一级商户标识" readonly/>
+            </Form-item>
+            <Form-item label="二级供货商名称" prop="childSupplierSn">
+                <i-input v-model="supplier.childSupplierSn" placeholder="二级供货商名称"/>
+            </Form-item>
+            <Form-item label="二级供货商标识" prop="childSupplierFlag">
+                <i-input v-model="supplier.childSupplierFlag" placeholder="二级供货商标识"/>
+            </Form-item>
+            <Form-item label="排序" prop="sortOrder">
+                <i-input v-model="supplier.sortOrder" placeholder="排序"/>
+            </Form-item>
+            <Form-item label="是否禁用" prop="isShow">
+                <!--<i-input v-model="supplier.isShow" placeholder="是否禁用:0:否;1:是"/>-->
+                <Radio-group v-model="supplier.isShow">
+                    <Radio label="0">
+                        <span>否</span>
+                    </Radio>
+                    <Radio label="1">
+                        <span>是</span>
+                    </Radio>
+                </Radio-group>
+            </Form-item>
+            <Form-item>
+                <i-button type="primary" @click="handleSubmit('formValidate')">提交</i-button>
+                <i-button type="warning" @click="reload" style="margin-left: 8px"/>返回</i-button>
+                <!--<i-button type="ghost" @click="handleReset('formValidate')" style="margin-left: 8px">重置</i-button>-->
+            </Form-item>
+        </i-form>
+	</Card>
+</div>
+
+<script src="${rc.contextPath}/js/shop/supplier.js?_${date.systemTime}"></script>
+</body>
+</html>

+ 2 - 2
kmall-admin/src/main/webapp/index.html

@@ -32,9 +32,9 @@
                 <li class="nav-header">
                     <div class="dropdown profile-element"
                          style="text-align: center;font-size: 18px;font-weight: 600;color: white;">
-                        PWM商业版
+                        中网管理后台
                     </div>
-                    <div class="logo-element">PWM
+                    <div class="logo-element">ZW
                     </div>
                 </li>
                 <menu-item :item="item" v-for="item in menuList"></menu-item>

+ 9 - 1
kmall-admin/src/main/webapp/js/shop/goods.js

@@ -137,7 +137,8 @@ var vm = new Vue({
         showInput: true,
         categoryId: '',
         cusUnitCodeList: [],
-        cusNationCodeList: []
+        cusNationCodeList: [],
+        suppliers: []
     },
     methods: {
         delSpeRow: function (index) {
@@ -194,6 +195,7 @@ var vm = new Vue({
             vm.attributeEntityList = [{'id': '', 'goodsId': '', 'attributeId': '', 'value': '', 'isDelete': 0}];
             vm.getMacro();
             vm.getBrand();
+            vm.getSuppliers();
             vm.getFreights();
             vm.getCusUnitCodeList();
             vm.getCusNationCode();
@@ -214,6 +216,7 @@ var vm = new Vue({
             vm.getAttributes(opt);
             vm.getMacro();
             vm.getBrand();
+            vm.getSuppliers();
             vm.getCusUnitCodeList();
             vm.getCusNationCode();
             vm.getFreights();
@@ -234,6 +237,11 @@ var vm = new Vue({
                 vm.brands = r.list;
             });
         },
+        getSuppliers: function () {
+            $.get("../supplier/queryAll", function (r) {
+                vm.suppliers = r.list;
+            });
+        },
         getCusUnitCodeList: function () {
             $.get("../syscusunitcode/queryAll", function (r) {
                 vm.cusUnitCodeList = r.list;

+ 151 - 0
kmall-admin/src/main/webapp/js/shop/supplier.js

@@ -0,0 +1,151 @@
+$(function () {
+    $("#jqGrid").jqGrid({
+        url: '../supplier/list',
+        datatype: "json",
+        colModel: [
+			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
+			{label: '一级商户编号', name: 'levelMerchSn', index: 'level_merch_sn', width: 80},
+			{label: '一级商户标识', name: 'levelMerchFlag', index: 'level_merch_flag', width: 80},
+			{label: '二级供货商名称', name: 'childSupplierSn', index: 'child_supplier_sn', width: 80},
+			{label: '二级供货商标识', name: 'childSupplierFlag', index: 'child_supplier_flag', width: 80},
+			{label: '排序', name: 'sortOrder', index: 'sort_order', width: 80},
+			{label: '是否禁用:0:否;1:是', name: 'isShow', index: 'is_show', width: 80}],
+		viewrecords: true,
+        height: 385,
+        rowNum: 10,
+        rowList: [10, 30, 50],
+        rownumbers: true,
+        rownumWidth: 25,
+        autowidth: true,
+        multiselect: true,
+        pager: "#jqGridPager",
+        jsonReader: {
+            root: "page.list",
+            page: "page.currPage",
+            total: "page.totalPage",
+            records: "page.totalCount"
+        },
+        prmNames: {
+            page: "page",
+            rows: "limit",
+            order: "order"
+        },
+        gridComplete: function () {
+            $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
+        }
+    });
+});
+
+let vm = new Vue({
+	el: '#rrapp',
+	data: {
+        showList: true,
+        title: null,
+		supplier: {childSupplierSn: '', childSupplierFlag: '', isShow: 0},
+		ruleValidate: {
+            childSupplierSn: [
+				{required: true, message: '二级供货商名称不能为空', trigger: 'blur'}
+			],
+            childSupplierFlag: [
+                {required: true, message: '二级供货商标识不能为空', trigger: 'blur'}
+            ],
+            isShow: [
+                {required: true, message: '是否禁用不能为空', trigger: 'blur'}
+            ]
+		},
+		q: {
+		    name: ''
+		}
+	},
+	methods: {
+		query: function () {
+			vm.reload();
+		},
+		add: function () {
+			vm.showList = false;
+			vm.title = "新增";
+			vm.supplier = {};
+            vm.getInfo(0)
+		},
+		update: function (event) {
+            let id = getSelectedRow();
+			if (id == null) {
+				return;
+			}
+			vm.showList = false;
+            vm.title = "修改";
+
+            vm.getInfo(id)
+		},
+		saveOrUpdate: function (event) {
+            let url = vm.supplier.id == null ? "../supplier/save" : "../supplier/update";
+			$.ajax({
+				type: "POST",
+			    url: url,
+			    contentType: "application/json",
+			    data: JSON.stringify(vm.supplier),
+                success: function (r) {
+                    if (r.code === 0) {
+                        alert('操作成功', function (index) {
+                            vm.reload();
+                        });
+                    } else {
+                        alert(r.msg);
+                    }
+                }
+			});
+		},
+		del: function (event) {
+            let ids = getSelectedRows();
+			if (ids == null){
+				return;
+			}
+
+			confirm('确定要删除选中的记录?', function () {
+				$.ajax({
+					type: "POST",
+				    url: "../supplier/delete",
+				    contentType: "application/json",
+				    data: JSON.stringify(ids),
+				    success: function (r) {
+						if (r.code == 0) {
+							alert('操作成功', function (index) {
+								$("#jqGrid").trigger("reloadGrid");
+							});
+						} else {
+							alert(r.msg);
+						}
+					}
+				});
+			});
+		},
+		getInfo: function(id){
+			$.get("../supplier/info/"+id, function (r) {
+                vm.supplier = r.supplier;
+            });
+		},
+        reloadSearch: function() {
+            vm.q = {
+                name: ''
+            }
+            vm.reload();
+		},
+		reload: function (event) {
+			vm.showList = true;
+            let page = $("#jqGrid").jqGrid('getGridParam', 'page');
+			$("#jqGrid").jqGrid('setGridParam', {
+                postData: {'name': vm.q.name},
+                page: page
+            }).trigger("reloadGrid");
+            vm.handleReset('formValidate');
+		},
+        handleSubmit: function (name) {
+            handleSubmitValidate(this, name, function () {
+                vm.saveOrUpdate()
+            });
+        },
+        handleReset: function (name) {
+            handleResetForm(this, name);
+        }
+	}
+});

+ 4 - 16
kmall-api/src/main/java/com/kmall/api/api/ApiOrderController.java

@@ -143,7 +143,7 @@ public class ApiOrderController extends ApiBaseAction {
                 map.put("AcceptStation", "交易完成,用户已提走");
                 mapList.add(map);
             }else{
-                if (!StringUtils.isEmpty(orderInfo.getShipping_code()) && !StringUtils.isEmpty(orderInfo.getShipping_no()) &&entity.getShipmentSuccTime()!=null) {
+                if (!StringUtils.isEmpty(orderInfo.getShipping_code()) && !StringUtils.isEmpty(orderInfo.getShipping_no()) &&entity.getShipmentStartTime()!=null) {
                     JSONObject Traces = apiKdniaoService.getOrderTracesByJson(orderInfo.getShipping_code(), orderInfo.getShipping_no());
                     if (Traces != null) {
                         mapList = (List<Map>) Traces.get("Traces");
@@ -157,16 +157,10 @@ public class ApiOrderController extends ApiBaseAction {
                     }
                 }
             }
-            if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsCustomsSend()) && entity.getShipmentSuccTime() != null) {
-                Map map = new HashMap();
-                map.put("AcceptTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getShipmentSuccTime()));
-                map.put("AcceptStation", "订单已出库");
-                mapList.add(map);
-            }
             if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsCustomsSend()) && entity.getShipmentStartTime() != null) {
                 Map map = new HashMap();
                 map.put("AcceptTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getShipmentStartTime()));
-                map.put("AcceptStation", "订单正在打包中");
+                map.put("AcceptStation", "订单已出库");
                 mapList.add(map);
             }
             if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsCustomsSend())) {
@@ -326,7 +320,7 @@ public class ApiOrderController extends ApiBaseAction {
                 vo.setAcceptStation("交易完成,用户已提走");
                 wuliuList.add(vo);
             }else {
-                if (!StringUtils.isEmpty(orderInfo.getShipping_code()) && !StringUtils.isEmpty(orderInfo.getShipping_no()) && entity.getShipmentSuccTime() != null) {
+                if (!StringUtils.isEmpty(orderInfo.getShipping_code()) && !StringUtils.isEmpty(orderInfo.getShipping_no()) && entity.getShipmentStartTime() != null) {
                     // 快递
                     JSONObject Traces = apiKdniaoService.getOrderTracesByJson(orderInfo.getShipping_code(), orderInfo.getShipping_no());
                     List<Map> mapList = (List<Map>) Traces.get("Traces");
@@ -348,15 +342,9 @@ public class ApiOrderController extends ApiBaseAction {
                     map.put("Reason", Traces.get("Reason"));
                 }
             }
-            if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsCustomsSend()) && entity.getShipmentSuccTime() != null) {
-                WuliuVo wuliuVo = new WuliuVo();
-                wuliuVo.setAcceptStation("订单已出库");
-                wuliuVo.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getShipmentSuccTime()));
-                wuliuList.add(wuliuVo);
-            }
             if (Dict.isSend.item_1.getItem().equalsIgnoreCase(entity.getIsCustomsSend()) && entity.getShipmentStartTime() != null) {
                 WuliuVo wuliuVo = new WuliuVo();
-                wuliuVo.setAcceptStation("订单正在打包中");
+                wuliuVo.setAcceptStation("订单已出库");
                 wuliuVo.setAcceptTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(entity.getShipmentStartTime()));
                 wuliuList.add(wuliuVo);
             }

+ 1 - 1
kmall-api/src/main/java/com/kmall/api/util/CommonUtil.java

@@ -91,7 +91,7 @@ public class CommonUtil {
     public static String generateOrderNumber() {
         Calendar cal = Calendar.getInstance();
         cal.setTime(new Date());
-        String timeStr = DateUtils.format(cal.getTime(), DateUtils.DATE_TIME_PATTERN_YYYY_MM_DD_HH_MM_SS_SSS);
+        String timeStr = DateUtils.format(cal.getTime(), DateUtils.DATE_TIME_PATTERN_YYYY_MM_DD_HH_MM_SS);
         return timeStr + CharUtil.getRandomNum(4);
     }
 

+ 5 - 5
wx-mall/lib/wxParse/wxParse.js

@@ -25,12 +25,12 @@ function wxParse(bindName = 'wxParseData', type='html', data='<div class="color:
   var transData = {};//存放转化后的数据
   if (type == 'html') {
     transData = HtmlToJson.html2json(data, bindName);
-    console.log(JSON.stringify(transData, ' ', ' '));
+    // console.log(JSON.stringify(transData, ' ', ' '));
   } else if (type == 'md' || type == 'markdown') {
     var converter = new showdown.Converter();
     var html = converter.makeHtml(data);
     transData = HtmlToJson.html2json(html, bindName);
-    console.log(JSON.stringify(transData, ' ', ' '));
+    // console.log(JSON.stringify(transData, ' ', ' '));
   }
   transData.view = {};
   transData.view.imagePadding = 0;
@@ -96,12 +96,12 @@ function wxAutoImageCal(originalWidth, originalHeight,that,bindName) {
       windowWidth = res.windowWidth-2*padding;
       windowHeight = res.windowHeight;
       //判断按照那种方式进行缩放
-      console.log("windowWidth" + windowWidth);
+      // console.log("windowWidth" + windowWidth);
       if (originalWidth > windowWidth) {//在图片width大于手机屏幕width时候
         autoWidth = windowWidth;
-        console.log("autoWidth" + autoWidth);
+        // console.log("autoWidth" + autoWidth);
         autoHeight = (autoWidth * originalHeight) / originalWidth;
-        console.log("autoHeight" + autoHeight);
+        // console.log("autoHeight" + autoHeight);
         results.imageWidth = autoWidth;
         results.imageheight = autoHeight;
       } else {//否则展示原来的数据

+ 1 - 1
wx-mall/pages/goods/goods.wxml

@@ -46,7 +46,7 @@
             <view wx:for="{{gallery}}" wx:key="index" data-index="{{index}}" class="item"  bindtouchstart='touchStart' bindtouchend='touchEnd' >
               <view class='rank-num' style="background-color: #c8c8c8">{{index+1}}/{{gallery.length}}</view>
               <view class='img-wrapper'>
-                <video wx:if="{{item.file_type==1}}" id="myVideo" style='height:400rpx;width:100%;margin-top:140rpx;'  src="{{item.img_url}}" binderror="videoErrorCallback" objectFit="cover" initial-time='2' show-center-play-btn enable-progress-gesture controls></video>
+                <video wx:if="{{item.file_type==1}}" id="myVideo" class='myVideo' indicator-color="{{indicator}}" indicator-active-color="{{activeIndicator}}" src="{{item.img_url}}" style="transform:translate3d({{leftWidth}}px, 0, 0)" binderror="videoErrorCallback" objectFit="cover" initial-time='1' show-center-play-btn enable-progress-gesture controls></video>
                 <image src="{{item.img_url}}" class="imageClass" mode='aspectFill' catchtap='preview' data-url="{{item.img_url}}" wx:else/>
               </view>
             </view>

+ 10 - 4
wx-mall/pages/goods/goods.wxss

@@ -25,12 +25,12 @@
   bottom: 0;
   left: 0;
   z-index: 2;
-  width: 750rpx;
-  height: 750rpx;
+  /* width: 750rpx;
+  height: 750rpx; */
 }
 .content-wrapper .overflow {
-  width: 750rpx;
-  height: 750rpx;
+  /* width: 750rpx;
+  height: 750rpx; */
 }
 .content-wrapper .scroll-wrapper {
   width: 750rpx;
@@ -73,6 +73,11 @@
   transform-origin: center;
   letter-spacing: 0;
 }
+.content-wrapper .scroll-view .item .img-wrapper .myVideo {
+  height:400rpx;width:100%;
+  margin-top: 150rpx;
+  /* left:0; */
+}
 /* .content-wrapper .scroll-view .item:nth-child(1) {
    margin-left: 127rpx; 
 } */
@@ -213,6 +218,7 @@
   height: 210rpx;
   overflow: hidden;
   background: #fff;
+  z-index: 9999;
 }
 
 .goods-info .c {