Forráskód Böngészése

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

project 5 éve
szülő
commit
66ebae0c0f

+ 21 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/GoodsController.java

@@ -1,5 +1,6 @@
 package com.kmall.admin.controller;
 
+import com.kmall.admin.dto.GoodsDetailsDto;
 import com.kmall.admin.dto.GoodsDto;
 import com.kmall.admin.entity.GoodsEntity;
 import com.kmall.admin.entity.GoodsGalleryEntity;
@@ -281,4 +282,24 @@ public class GoodsController {
         }
         return R.ok().put("goods", goods);
     }
+
+    @RequestMapping("/details/{prodBarcode}")
+//    @RequiresPermissions("goods:details") http://127.0.0.1:8080/goods/details/11111
+    public R details(@PathVariable("prodBarcode")String prodBarcode) {
+        SysUserEntity user = ShiroUtils.getUserEntity();
+        if(user == null) {
+            return R.error("用户登录超时,请重新登录");
+        }
+        if (!user.getRoleType().equalsIgnoreCase("2")) {
+            return R.error("该操作只允许店员账户操作");
+        }
+        GoodsDetailsDto goods = goodsService.queryGoodsDetailsByProdBarcode(prodBarcode);
+        if(goods == null) {
+            return R.error("商品信息不存在");
+        }
+        return R.ok().put("goodsDetails", goods);
+    }
+
+
+
 }

+ 3 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/GoodsDao.java

@@ -1,5 +1,6 @@
 package com.kmall.admin.dao;
 
+import com.kmall.admin.dto.GoodsDetailsDto;
 import com.kmall.admin.entity.GoodsEntity;
 import com.kmall.manager.dao.BaseDao;
 import org.apache.ibatis.annotations.Param;
@@ -21,6 +22,8 @@ public interface GoodsDao extends BaseDao<GoodsEntity> {
 
     GoodsEntity queryObjectByProdBarcodeAndBizType(@Param("prodBarcode")String prodBarcode, @Param("storeId")Integer storeId);
 
+    GoodsDetailsDto queryGoodsDetailsByProdBarcode(@Param("prodBarcode")String prodBarcode);
+
     List<GoodsEntity> querySame(Map<String, Object> map);
 
     List<GoodsEntity> queryObjectByProdBarcode(@Param("prodBarcode") String prodBarcode, @Param("merchSn") String merchSn,@Param("goodsId")Long id);

+ 115 - 0
kmall-admin/src/main/java/com/kmall/admin/dto/GoodsDetailsDto.java

@@ -0,0 +1,115 @@
+package com.kmall.admin.dto;
+
+/**
+ * @author hhq
+ * @version 1.0.0
+ * 2020-5-18
+ */
+
+import com.kmall.common.utils.R;
+
+/**
+ * 商品详情
+ */
+public class GoodsDetailsDto {
+    //商品序列号
+    private String goodsSn;
+    //商品条形号
+    private String prodBarcode;
+    //名称
+    private String name;
+    //品牌
+    private String brand;
+    //商品描述
+    private String goodsDesc;
+    //商品单位
+    private String goodsUnit;
+    //商品税率
+    private String goodsRate;
+    //商品税费 -系统计算
+    private String goodstaxes;
+    //商品规格
+    private String specification;
+    //商品主图
+    private String primaryPicUrl;
+
+    public String getGoodsSn() {
+        return goodsSn;
+    }
+
+    public void setGoodsSn(String goodsSn) {
+        this.goodsSn = goodsSn;
+    }
+
+    public String getProdBarcode() {
+        return prodBarcode;
+    }
+
+    public void setProdBarcode(String prodBarcode) {
+        this.prodBarcode = prodBarcode;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public String getGoodsDesc() {
+        return goodsDesc;
+    }
+
+    public void setGoodsDesc(String goodsDesc) {
+        this.goodsDesc = goodsDesc;
+    }
+
+    public String getGoodsUnit() {
+        return goodsUnit;
+    }
+
+    public void setGoodsUnit(String goodsUnit) {
+        this.goodsUnit = goodsUnit;
+    }
+
+    public String getGoodsRate() {
+        return goodsRate;
+    }
+
+    public void setGoodsRate(String goodsRate) {
+        this.goodsRate = goodsRate;
+    }
+
+    public String getGoodstaxes() {
+        return goodstaxes;
+    }
+
+    public void setGoodstaxes(String goodstaxes) {
+        this.goodstaxes = goodstaxes;
+    }
+
+    public String getSpecification() {
+        return specification;
+    }
+
+    public void setSpecification(String specification) {
+        this.specification = specification;
+    }
+
+    public String getPrimaryPicUrl() {
+        return primaryPicUrl;
+    }
+
+    public void setPrimaryPicUrl(String primaryPicUrl) {
+        this.primaryPicUrl = primaryPicUrl;
+    }
+}

+ 8 - 0
kmall-admin/src/main/java/com/kmall/admin/service/GoodsService.java

@@ -1,5 +1,6 @@
 package com.kmall.admin.service;
 
+import com.kmall.admin.dto.GoodsDetailsDto;
 import com.kmall.admin.dto.GoodsDto;
 import com.kmall.admin.entity.GoodsEntity;
 import com.kmall.common.utils.R;
@@ -123,4 +124,11 @@ public interface GoodsService {
      * @return
      */
     int uploadExcel(List<GoodsDto> goodsEntityList,int exportDataType);
+
+    /**
+     * 条形码查询商品详情
+     * @param prodBarcode 条形码
+     * @return
+     */
+    GoodsDetailsDto queryGoodsDetailsByProdBarcode(String prodBarcode);
 }

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

@@ -3,6 +3,7 @@ package com.kmall.admin.service.impl;
 import com.google.common.collect.ImmutableBiMap;
 import com.google.common.collect.Maps;
 import com.kmall.admin.dao.*;
+import com.kmall.admin.dto.GoodsDetailsDto;
 import com.kmall.admin.dto.GoodsDto;
 import com.kmall.admin.entity.*;
 import com.kmall.admin.service.GoodsService;
@@ -1017,6 +1018,11 @@ public class GoodsServiceImpl implements GoodsService {
         }
         return 1;
     }
+
+    @Override
+    public GoodsDetailsDto queryGoodsDetailsByProdBarcode(String prodBarcode) {
+        return goodsDao.queryGoodsDetailsByProdBarcode(prodBarcode);
+    }
 /*  @Override
     @Transactional
     public int uploadExcel(MultipartFile file) {

+ 77 - 62
kmall-admin/src/main/resources/mybatis/mapper/GoodsDao.xml

@@ -41,11 +41,11 @@
         <result property="goodsType" column="goodsType"/>
         <result property="sku" column="sku"/>
         <result property="goodsBizType" column="goods_biz_type"/>
-        <result column="creater_sn" property="createrSn" jdbcType="VARCHAR" />
-        <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
-        <result column="moder_sn" property="moderSn" jdbcType="VARCHAR" />
-        <result column="mod_time" property="modTime" jdbcType="TIMESTAMP" />
-        <result column="tstm" property="tstm" jdbcType="TIMESTAMP" />
+        <result column="creater_sn" property="createrSn" jdbcType="VARCHAR"/>
+        <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+        <result column="moder_sn" property="moderSn" jdbcType="VARCHAR"/>
+        <result column="mod_time" property="modTime" jdbcType="TIMESTAMP"/>
+        <result column="tstm" property="tstm" jdbcType="TIMESTAMP"/>
         <result property="prodBarcode" column="prod_barcode"/>
         <result property="unitCode" column="unit_code"/>
         <result property="goodsDesc" column="goods_desc"/>
@@ -59,13 +59,13 @@
         <result property="storeName" column="store_name"/>
         <result property="productId" column="productId"/>
         <result property="storeId" column="storeId"/>
-        <result column="merch_name" property="merchName" />
-        <result column="storeMarketPrice" property="storeMarketPrice" />
-        <result column="storeRetailPrice" property="storeRetailPrice" />
-        <result column="third_party_merch_code" property="thirdPartyMerchCode" />
-        <result column="isStockShare" property="isStockShare" />
-        <result column="gross_weight" property="grossWeight" />
-        <result column="net_weight" property="netWeight" />
+        <result column="merch_name" property="merchName"/>
+        <result column="storeMarketPrice" property="storeMarketPrice"/>
+        <result column="storeRetailPrice" property="storeRetailPrice"/>
+        <result column="third_party_merch_code" property="thirdPartyMerchCode"/>
+        <result column="isStockShare" property="isStockShare"/>
+        <result column="gross_weight" property="grossWeight"/>
+        <result column="net_weight" property="netWeight"/>
         <result property="isGoodsShareStock" column="is_goods_share_stock"/>
 
     </resultMap>
@@ -212,6 +212,17 @@
         </if>
     </select>
 
+    <select id="queryGoodsDetailsByProdBarcode" resultType="com.kmall.admin.dto.GoodsDetailsDto">
+        SELECT
+        a.goods_sn as GoodsSn,a.prod_barcode as prodBarcode,a.name,a.brand,a.goods_desc as goodsDesc,a.goods_unit as goodsUnit,a.goods_rate as goodsRate,a.primary_pic_url ,r.value as specification
+        FROM
+            mall_goods a
+        LEFT JOIN mall_goods_specification r ON r.goods_id = a.id
+
+        where a.prod_barcode = #{prodBarcode}
+    </select>
+
+
     <select id="queryObjectBySn" resultType="com.kmall.admin.entity.GoodsEntity">
         SELECT
             a.*, CASE
@@ -231,7 +242,8 @@
         from mall_goods
         left join mall_merch m on mall_goods.merch_sn = m.merch_sn
         left join mall_goods_group on mall_goods_group.goods_id = mall_goods.id and mall_goods_group.open_status != 3
-        left join third_merchant_biz mb on mb.third_party_merch_code = mall_goods.third_party_merch_code and mb.merch_sn=mall_goods.merch_sn
+        left join third_merchant_biz mb on mb.third_party_merch_code = mall_goods.third_party_merch_code and
+        mb.merch_sn=mall_goods.merch_sn
         WHERE 1=1
         <!--  数据过滤  -->
         ${filterSql}
@@ -284,7 +296,8 @@
             AND mall_goods.id = #{id}
         </if>
         <if test="storeId != null and storeId != ''">
-            AND mall_goods.third_party_merch_code = ( SELECT third_party_merch_code FROM mall_store WHERE id = #{storeId} )
+            AND mall_goods.third_party_merch_code = ( SELECT third_party_merch_code FROM mall_store WHERE id =
+            #{storeId} )
             AND mall_goods.id NOT IN (
             SELECT
             goods_id
@@ -328,7 +341,8 @@
         <!--  数据过滤  -->
         ${filterSql}
         <if test="isSame != null and isSame != ''">
-            AND ((mall_goods.sku = #{sku} AND mall_goods.goods_biz_type = #{goodsBizType}) OR mall_goods.goods_sn = #{goodsSn})
+            AND ((mall_goods.sku = #{sku} AND mall_goods.goods_biz_type = #{goodsBizType}) OR mall_goods.goods_sn =
+            #{goodsSn})
             <if test="id != null and id != ''">
                 AND mall_goods.id != #{id}
             </if>
@@ -381,7 +395,8 @@
             AND mall_goods.goods_biz_type = #{goodsBizType}
         </if>
         <if test="storeId != null and storeId != ''">
-            AND mall_goods.third_party_merch_code = ( SELECT third_party_merch_code FROM mall_store WHERE id = #{storeId} )
+            AND mall_goods.third_party_merch_code = ( SELECT third_party_merch_code FROM mall_store WHERE id =
+            #{storeId} )
             AND mall_goods.id NOT IN (
             SELECT
             goods_id
@@ -500,52 +515,52 @@
     <update id="update" parameterType="com.kmall.admin.entity.GoodsEntity">
         update mall_goods
         <set>
-            <if test="merchSn != null">`merch_sn` = #{merchSn}, </if>
-            <if test="thirdPartyMerchCode != null">`third_party_merch_code` = #{thirdPartyMerchCode}, </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>
-            <if test="goodsBizType != null">`goods_biz_type` = #{goodsBizType}, </if>
-            <if test="name != null">`name` = #{name}, </if>
-            <if test="unitCode != null">`unit_code` = #{unitCode}, </if>
-            <if test="brand != null">`brand` = #{brand}, </if>
-            <if test="goodsNumber != null">`goods_number` = #{goodsNumber}, </if>
-            <if test="keywords != null">`keywords` = #{keywords}, </if>
-            <if test="goodsBrief != null">`goods_brief` = #{goodsBrief}, </if>
-            <if test="goodsDesc != null">`goods_desc` = #{goodsDesc}, </if>
-            <if test="cusGoodsCode != null">`cus_goods_code` = #{cusGoodsCode}, </if>
-            <if test="ciqProdModel != null">`ciq_prod_model` = #{ciqProdModel}, </if>
-            <if test="oriCntCode != null">`ori_cnt_code` = #{oriCntCode}, </if>
-            <if test="cusDeclEle != null">`cus_decl_ele` = #{cusDeclEle}, </if>
-            <if test="cusRecCode != null">`cus_rec_code` = #{cusRecCode}, </if>
-            <if test="isOnSale != null">`is_on_sale` = #{isOnSale}, </if>
-            <if test="addTime != null">`add_time` = #{addTime}, </if>
-            <if test="sortOrder != null">`sort_order` = #{sortOrder}, </if>
-            <if test="isDelete != null">`is_delete` = #{isDelete}, </if>
-            <if test="counterPrice != null">`counter_price` = #{counterPrice}, </if>
-            <if test="extraPrice != null">`extra_price` = #{extraPrice}, </if>
-            <if test="isNew != null">`is_new` = #{isNew}, </if>
-            <if test="goodsUnit != null">`goods_unit` = #{goodsUnit}, </if>
-            <if test="primaryPicUrl != null">`primary_pic_url` = #{primaryPicUrl}, </if>
-            <if test="listPicUrl != null">`list_pic_url` = #{listPicUrl}, </if>
-            <if test="goodsRate != null">`goods_rate` = #{goodsRate}, </if>
-            <if test="sellVolume != null">`sell_volume` = #{sellVolume}, </if>
-            <if test="primaryProductId != null">`primary_product_id` = #{primaryProductId}, </if>
-            <if test="unitPrice != null">`unit_price` = #{unitPrice}, </if>
-            <if test="promotionDesc != null">`promotion_desc` = #{promotionDesc}, </if>
-            <if test="promotionTag != null">`promotion_tag` = #{promotionTag}, </if>
-            <if test="appExclusivePrice != null">`app_exclusive_price` = #{appExclusivePrice}, </if>
-            <if test="isAppExclusive != null">`is_app_exclusive` = #{isAppExclusive}, </if>
-            <if test="grossWeight != null">`gross_weight` = #{grossWeight}, </if>
-            <if test="netWeight != null">`net_weight` = #{netWeight}, </if>
-            <if test="isGoodsShareStock != null">`is_goods_share_stock` = #{isGoodsShareStock}, </if>
-            <if test="isLimited != null">`is_limited` = #{isLimited}, </if>
-            <if test="isHot != null">`is_hot` = #{isHot}, </if>
-            <if test="createrSn != null">`creater_sn` = #{createrSn}, </if>
-            <if test="createTime != null">`create_time` = #{createTime}, </if>
-            <if test="moderSn != null">`moder_sn` = #{moderSn}, </if>
-            <if test="modTime != null">`mod_time` = #{modTime}, </if>
+            <if test="merchSn != null">`merch_sn` = #{merchSn},</if>
+            <if test="thirdPartyMerchCode != null">`third_party_merch_code` = #{thirdPartyMerchCode},</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>
+            <if test="goodsBizType != null">`goods_biz_type` = #{goodsBizType},</if>
+            <if test="name != null">`name` = #{name},</if>
+            <if test="unitCode != null">`unit_code` = #{unitCode},</if>
+            <if test="brand != null">`brand` = #{brand},</if>
+            <if test="goodsNumber != null">`goods_number` = #{goodsNumber},</if>
+            <if test="keywords != null">`keywords` = #{keywords},</if>
+            <if test="goodsBrief != null">`goods_brief` = #{goodsBrief},</if>
+            <if test="goodsDesc != null">`goods_desc` = #{goodsDesc},</if>
+            <if test="cusGoodsCode != null">`cus_goods_code` = #{cusGoodsCode},</if>
+            <if test="ciqProdModel != null">`ciq_prod_model` = #{ciqProdModel},</if>
+            <if test="oriCntCode != null">`ori_cnt_code` = #{oriCntCode},</if>
+            <if test="cusDeclEle != null">`cus_decl_ele` = #{cusDeclEle},</if>
+            <if test="cusRecCode != null">`cus_rec_code` = #{cusRecCode},</if>
+            <if test="isOnSale != null">`is_on_sale` = #{isOnSale},</if>
+            <if test="addTime != null">`add_time` = #{addTime},</if>
+            <if test="sortOrder != null">`sort_order` = #{sortOrder},</if>
+            <if test="isDelete != null">`is_delete` = #{isDelete},</if>
+            <if test="counterPrice != null">`counter_price` = #{counterPrice},</if>
+            <if test="extraPrice != null">`extra_price` = #{extraPrice},</if>
+            <if test="isNew != null">`is_new` = #{isNew},</if>
+            <if test="goodsUnit != null">`goods_unit` = #{goodsUnit},</if>
+            <if test="primaryPicUrl != null">`primary_pic_url` = #{primaryPicUrl},</if>
+            <if test="listPicUrl != null">`list_pic_url` = #{listPicUrl},</if>
+            <if test="goodsRate != null">`goods_rate` = #{goodsRate},</if>
+            <if test="sellVolume != null">`sell_volume` = #{sellVolume},</if>
+            <if test="primaryProductId != null">`primary_product_id` = #{primaryProductId},</if>
+            <if test="unitPrice != null">`unit_price` = #{unitPrice},</if>
+            <if test="promotionDesc != null">`promotion_desc` = #{promotionDesc},</if>
+            <if test="promotionTag != null">`promotion_tag` = #{promotionTag},</if>
+            <if test="appExclusivePrice != null">`app_exclusive_price` = #{appExclusivePrice},</if>
+            <if test="isAppExclusive != null">`is_app_exclusive` = #{isAppExclusive},</if>
+            <if test="grossWeight != null">`gross_weight` = #{grossWeight},</if>
+            <if test="netWeight != null">`net_weight` = #{netWeight},</if>
+            <if test="isGoodsShareStock != null">`is_goods_share_stock` = #{isGoodsShareStock},</if>
+            <if test="isLimited != null">`is_limited` = #{isLimited},</if>
+            <if test="isHot != null">`is_hot` = #{isHot},</if>
+            <if test="createrSn != null">`creater_sn` = #{createrSn},</if>
+            <if test="createTime != null">`create_time` = #{createTime},</if>
+            <if test="moderSn != null">`moder_sn` = #{moderSn},</if>
+            <if test="modTime != null">`mod_time` = #{modTime},</if>
             <if test="tstm != null">`tstm` = #{tstm}</if>
         </set>
         where id = #{id}