ソースを参照

Merge branch 'featrue/小票打印和门店二维码和号码可配置0818' of qng/kmall-pt-general into master

杨波 3 年 前
コミット
2aa704fe9c

+ 14 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java

@@ -307,6 +307,19 @@ public class OrderController {
         return R.ok().put("ticket", ticket);
     }
 
+    /**
+     * 打印快递面单
+     * @param param
+     * @return
+     */
+    @RequestMapping("/printMsgChangeEwb")
+    public R printMsgChangeEwb(@RequestBody Map param) {
+        Integer id = (Integer) param.get("id");
+        String sessionId = (String) param.get("sessionId");
+        Ticket ticket = orderService.printMsgEwb(id.longValue(),sessionId);
+        return R.ok().put("ticket", ticket);
+    }
+
     @RequestMapping("/printCode")
     public R printMsg(){
 
@@ -1094,6 +1107,7 @@ public class OrderController {
     @RequestMapping("/orderDetail/{orderSn}")
     public R orderDetail(@PathVariable("orderSn") String orderSn) throws IOException {
 
+
         OrderProcessRecordEntity orderProcessRecordEntity = orderProcessRecordService.queryObjectByOrderSn(orderSn);
         OrderEntity orderEntity = orderService.queryObjectByOrderSn(orderSn);
         Map map = new HashMap();

+ 2 - 1
kmall-admin/src/main/java/com/kmall/admin/controller/StoreController.java

@@ -105,6 +105,7 @@ public class StoreController {
         builder.put("exprAgreementType", "第三方商户快递协议类型");
         builder.put("latitude", "纬度");
         builder.put("longitude", "经度");
+        builder.put("telephoneNumber", "门店电话");
         R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
         if (Integer.valueOf(r.get("code").toString()) != 0) {
             throw new RRException(r.get("msg").toString());
@@ -131,10 +132,10 @@ public class StoreController {
         builder.put("storeName", "门店名称");
         builder.put("storeNumber", "门店编号");
         builder.put("thirdPartyMerchCode", "第三方商户编号");
-//        builder.put("thirdPartyMerchName", "第三方商户名称");
         builder.put("exprAgreementType", "第三方商户快递协议类型");
         builder.put("latitude", "纬度");
         builder.put("longitude", "经度");
+        builder.put("telephoneNumber", "门店电话");
         R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
         if (Integer.valueOf(r.get("code").toString()) != 0) {
             throw new RRException(r.get("msg").toString());

+ 21 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/StoreEntity.java

@@ -82,6 +82,27 @@ public class StoreEntity implements Serializable {
 
     private String isValid;
 
+    //门店二维码图片
+    private String storeImgUrl;
+    //门店电话号码
+    private String telephoneNumber;
+
+    public String getTelephoneNumber() {
+        return telephoneNumber;
+    }
+
+    public void setTelephoneNumber(String telephoneNumber) {
+        this.telephoneNumber = telephoneNumber;
+    }
+
+    public String getStoreImgUrl() {
+        return storeImgUrl;
+    }
+
+    public void setStoreImgUrl(String storeImgUrl) {
+        this.storeImgUrl = storeImgUrl;
+    }
+
     public String getIsValid() {
         return isValid;
     }

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

@@ -217,4 +217,6 @@ public interface OrderService {
      * @param orderSn
      */
     void toBeRestored(String orderSn);
+
+    Ticket printMsgEwb(long longValue, String sessionId);
 }

+ 133 - 2
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -408,7 +408,7 @@ public class OrderServiceImpl implements OrderService {
         head.setTitle(storeEntity.getStoreName());
         //        head.setMemberId(orderEntity.getUserName().toString());
         head.setOrderId(orderEntity.getOrderSn());
-        head.setTradeTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE").format(new Date()));
+        head.setTradeTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE").format(orderEntity.getPayTime()));
 
         // 商品信息
         Integer goodsTotal = 0; // 商品总个数
@@ -493,6 +493,8 @@ public class OrderServiceImpl implements OrderService {
         if (StringUtils.isNullOrEmpty(exprNo)) {
             throw new RRException("快递面单为空,请联系客服");
         }
+        //图片地址
+        mailInfo.setStoreImgUrl(storeEntity.getStoreImgUrl()==null?"/statics/img/cw_qrcode.png":storeEntity.getStoreImgUrl().trim());
         mailInfo.setExprNo(exprNo);
         String logoUrl = "/statics/img/yto_logo.jpg";
 
@@ -506,7 +508,7 @@ public class OrderServiceImpl implements OrderService {
         mailInfo.setExprLogoUrl(logoUrl);
         byte[] barCode128 = BarcodeUtil.generateBarCode128(exprNo, 6.0D, null, true, false);
         String exprNoBase64Img = new String(Base64.getEncoder().encode(barCode128));
-        mailInfo.setShopTel("0752-2688660");
+        mailInfo.setShopTel(storeEntity.getTelephoneNumber()==null?"0752-2688660":storeEntity.getTelephoneNumber().trim());
 
         // 发货人
         mailInfo.setSenderTel("0752-2688660");
@@ -3314,6 +3316,135 @@ public class OrderServiceImpl implements OrderService {
 
     }
 
+    @Override
+    public Ticket printMsgEwb(long id, String sessionId) {
+            OrderEntity orderEntity = queryInfos(id);
+
+            List<OrderGoodsEntity> orderGoodsEntityList = orderEntity.getOrderGoodsEntityList();
+            // 获取门店
+            StoreEntity storeEntity = storeDao.queryObject(orderEntity.getStoreId());
+            // 获取清关信息
+            OrderProcessRecordEntity orderProcessRecordEntity =
+                    orderProcessRecordDao.queryObjectByOrderSn(orderEntity.getOrderSn());
+
+            // 小票头
+            TicketHead head = new TicketHead();
+            head.setTitle(storeEntity.getStoreName());
+            //        head.setMemberId(orderEntity.getUserName().toString());
+            head.setOrderId(orderEntity.getOrderSn());
+            head.setTradeTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE").format(orderEntity.getPayTime()));
+
+            // 商品信息
+            Integer goodsTotal = 0; // 商品总个数
+            BigDecimal total = Constant.ZERO; // 商品总计
+            BigDecimal taxTotal = Constant.ZERO; //税费总计
+            List<Goods> goodsList = new ArrayList<>();
+            BigDecimal discountedPrice = Constant.ZERO; // 优惠金额
+            for (OrderGoodsEntity orderGoods : orderGoodsEntityList) {
+                goodsTotal += orderGoods.getNumber();
+                total = total.add(orderGoods.getRetailPrice().multiply(new BigDecimal(orderGoods.getNumber())))
+                        .setScale(2, BigDecimal.ROUND_HALF_UP);
+                discountedPrice = discountedPrice.add(orderGoods.getDiscountedPrice());
+
+                GoodsEntity goodsEntity = goodsService.queryObject(orderGoods.getGoodsId());
+                BigDecimal goodsTax = CalculateTax.calculateFinalTax(goodsEntity, orderGoods.getRetailPrice(), goodsService).setScale(3, RoundingMode.HALF_UP);
+                goodsTax = goodsTax.multiply(new BigDecimal(orderGoods.getNumber())).setScale(2, RoundingMode.HALF_UP);
+                taxTotal = taxTotal.add(goodsTax).setScale(2, RoundingMode.HALF_UP);
+
+                Goods goods = new Goods(orderGoods.getGoodsName(),
+                        orderGoods.getRetailPrice().toString(), // 含税价
+//                    beforeTaxPrice.toString(),// 税前价
+                        goodsTax.toString(),
+                        orderGoods.getNumber().toString(),
+                        new BigDecimal(orderGoods.getNumber()).multiply(orderGoods.getRetailPrice()).setScale(2, RoundingMode.HALF_UP).toString(),
+                        orderGoods.getDiscountedPrice().toString());
+                goodsList.add(goods);
+            }
+
+            // 收银信息
+            CashInfo cashInfo = new CashInfo();
+            cashInfo.setGoodsTotal(goodsTotal.toString());
+            cashInfo.setTotal(total.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+            cashInfo.setTaxTotal(taxTotal.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+            cashInfo.setReceipts(orderEntity.getActualPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+            cashInfo.setOddChange(discountedPrice.toString());
+            cashInfo.setCoupon(orderEntity.getCouponPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+            cashInfo.setFreight(
+                    new BigDecimal(orderEntity.getFreightPrice()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+            if ("alipay".equals(orderEntity.getPayFlag())) {
+                cashInfo.setPaymentMode("支付宝支付");
+            } else {
+                cashInfo.setPaymentMode("微信支付");
+            }
+            // 海关清单
+            CusListing cusListing = new CusListing();
+            cusListing.setOrderId(orderEntity.getOrderSn());
+            if (!orderEntity.getOrderBizType().equalsIgnoreCase(Dict.orderBizType.item_11.getItem())) {
+                cusListing.setWaybillId(orderProcessRecordEntity.getLogisticsNo());
+                cusListing.setInvtNo(orderProcessRecordEntity.getInvtNo()==null?"":orderProcessRecordEntity.getInvtNo());
+
+                cusListing.setConsignee(orderEntity.getConsignee());
+                // 脱敏设置
+                if (StringUtils.isNotEmpty(cusListing.getConsignee()) && cusListing.getConsignee().length() > 1) {
+                    cusListing.setConsignee(new StringBuilder(cusListing.getConsignee()).replace(1, 2, "*").toString());
+                }
+                cusListing.setConsigneeTel(orderEntity.getMobile());
+                if (StringUtils.isNotEmpty(cusListing.getConsigneeTel())) {
+                    cusListing.setConsigneeTel(new StringBuilder(cusListing.getConsigneeTel()).replace(3, 7, "****").toString());
+                }
+            }
+            cusListing.setOriginAddress(PrintTicketPropertiesBuilder.instance().getAddress());
+            cusListing.setDeliveryAddress(storeEntity.getStoreAddress());
+            // 尝试在取货码表中查询数据,如果有的话就改变状态
+//            String orderSn = orderEntity.getOrderSn();
+//            PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(orderSn);
+//            if (pickUpCodeEntity != null) {
+//                pickUpCodeEntity.setPickUpCodeStatus("0");
+//                pickUpCodeService.update(pickUpCodeEntity);
+//
+//            }
+            TicketMailInfo mailInfo = new TicketMailInfo();
+            String exprNo = orderProcessRecordEntity.getLogisticsNo();
+            if (StringUtils.isNullOrEmpty(exprNo)) {
+                throw new RRException("快递面单为空,请联系客服");
+            }
+            //图片地址
+            mailInfo.setStoreImgUrl(storeEntity.getStoreImgUrl()==null?"/statics/img/cw_qrcode.png":storeEntity.getStoreImgUrl().trim());
+            mailInfo.setExprNo(exprNo);
+            String logoUrl = "/statics/img/yto_logo.jpg";
+
+            Map<String, String> logoMap = new HashMap<>();
+            logoMap.put("yto", "/statics/img/yto_logo.jpg");
+            logoMap.put("best", "/statics/img/bestex_logo3.png");
+            if (StringUtils.isNotEmpty(orderEntity.getShippingCode()) && logoMap.containsKey(orderEntity.getShippingCode())) {
+                logoUrl = logoMap.get(orderEntity.getShippingCode());
+            }
+
+            mailInfo.setExprLogoUrl(logoUrl);
+            byte[] barCode128 = BarcodeUtil.generateBarCode128(exprNo, 6.0D, null, true, false);
+            String exprNoBase64Img = new String(Base64.getEncoder().encode(barCode128));
+            mailInfo.setShopTel(storeEntity.getTelephoneNumber()==null?"0752-2688660":storeEntity.getTelephoneNumber().trim());
+
+            // 发货人
+            mailInfo.setSenderTel("0752-26886602");
+            mailInfo.setSenderName("CW澳洲大药房");
+            mailInfo.setSenderProvince("广东省");
+            mailInfo.setSenderCity("深圳市");
+            mailInfo.setSenderDistrict("南山区");
+            mailInfo.setSenderAddress("前海综合保税区W104");
+
+            // 收货人
+            mailInfo.setConsigneeMob(new StringBuilder(orderEntity.getMobile()).replace(3, 7, "****").toString());
+            mailInfo.setConsigneeName(new StringBuilder(orderEntity.getConsignee()).replace(1, 2, "*").toString());
+            mailInfo.setConsigneeProvince(orderEntity.getProvince());
+            mailInfo.setConsigneeCity(orderEntity.getCity());
+            mailInfo.setConsigneeDistrict(orderEntity.getDistrict());
+            mailInfo.setConsigneeAddress(orderEntity.getAddress());
+
+            mailInfo.setExprNoBase64Img(exprNoBase64Img);
+            return TicketPrintUtil.print(head, goodsList, cashInfo, cusListing, mailInfo);
+    }
+
 
     /**
      * 设置订单数据

+ 11 - 4
kmall-admin/src/main/resources/mybatis/mapper/StoreDao.xml

@@ -45,7 +45,7 @@
 			`longitude`,
 			`cover_radius`,expr_agreement_type,
 			`remark`,merch_sn, merch_name, creater_sn, create_time,third_party_merch_code,third_party_merch_name,
-		moder_sn, mod_time, tstm,is_valid
+		moder_sn, mod_time, tstm,is_valid,telephone_number as telephoneNumber,store_img_url as storeImgUrl
 		from mall_store
 		where id = #{id}
 	</select>
@@ -143,7 +143,7 @@
 		s.`longitude`,
 		s.`cover_radius`,
 		s.`remark`,s.merch_sn, s.merch_name, s.creater_sn, s.create_time,s.third_party_merch_code,t.third_party_merch_name,s.expr_agreement_type,
-		s.moder_sn, s.mod_time, s.tstm,s.is_valid
+		s.moder_sn, s.mod_time, s.tstm,s.is_valid,s.telephone_number as telephoneNumber,s.store_img_url as storeImgUrl
 		from mall_store s left join third_merchant_biz t on s.third_party_merch_code = t.third_party_merch_code
 		WHERE 1=1
 		<if test="merchSn != null and merchSn.trim() != ''">
@@ -227,7 +227,9 @@
 			creater_sn,
 			create_time,
 			moder_sn,
-			mod_time
+			mod_time,
+			store_img_url,
+			telephone_number
 		)
 		values(
 			#{merchSn},
@@ -249,7 +251,10 @@
 			#{createrSn},
 			#{createTime},
 			#{moderSn},
-			#{modTime}
+			#{modTime},
+			#{storeImgUrl},
+			#{telephoneNumber}
+
 		)
 	</insert>
 
@@ -277,6 +282,8 @@
 			<if test="moderSn != null" >moder_sn = #{moderSn},</if>
 			<if test="modTime != null" >mod_time = #{modTime},</if>
 			<if test="tstm != null" >tstm = #{tstm},</if>
+			<if test="storeImgUrl != null" >store_img_url = #{storeImgUrl},</if>
+			<if test="telephoneNumber != null" >telephone_number = #{telephoneNumber}</if>
 		</set>
 		where id = #{id}
 	</update>

+ 1 - 0
kmall-admin/src/main/webapp/WEB-INF/page/sale/sale.html

@@ -386,6 +386,7 @@
 <!--                            <button type="button" style="margin:0 30px 0 20px;font-size: 25px;" class="btn btn-primary" @click="resendOrder" id="resendOrder" data-dismiss="modal">重发订单</button>-->
                             <button type="button" style="margin:0 30px 0 20px;font-size: 25px;" class="btn btn-primary" @click="forceSendToOms" id="forceSendToOms" data-dismiss="modal">强推清关</button>
                             <button type="button" style="margin:0 30px 0 20px;font-size: 25px;" class="btn btn-primary" @click="verification" id="verification" data-dismiss="modal">核销</button>
+                            <button type="button" style="margin:0 30px 0 20px;font-size: 25px;" class="btn btn-primary" @click="verEwbtion" id="verEwbtion" data-dismiss="modal">打印快递单</button>
                         </div>
                     </div>
                 </div><!-- /.modal -->

+ 26 - 0
kmall-admin/src/main/webapp/WEB-INF/page/shop/store.html

@@ -109,6 +109,32 @@
             <Form-item label="备注" prop="remark">
                 <i-input type="textarea" v-model="store.remark" placeholder="备注"/>
             </Form-item>
+            <Form-item label="门店电话" prop="telephoneNumber">
+                <i-input v-model="store.telephoneNumber" placeholder="门店电话"/>
+            </Form-item>
+            <Row>
+                <i-col span="16">
+                    <Form-item label="门店二维码" prop="storeImgUrl">
+                        <i-input v-model="store.storeImgUrl" placeholder="图片尺寸建议760*484像素以内,大小100k以下" readonly/>
+                    </Form-item>
+                </i-col>
+                <i-col span="4">
+                    <Form-item :label-width="1">
+                        <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"
+                                max-size="100"
+                                :on-success="handleSuccessListPicUrl" :on-format-error="handleFormatError"
+                                :show-upload-list="false"
+                                :on-exceeded-size="handleMaxSize">
+                            <i-button icon="ios-cloud-upload-outline">上传图片</i-button>
+                        </Upload>
+                    </Form-item>
+                </i-col>
+                <i-col span="4">
+                    <Form-item :label-width="1">
+                        <i-button icon="eye" @click="eyeImageListPicUrl">预览图片</i-button>
+                    </Form-item>
+                </i-col>
+            </Row>
             <Form-item label="是否显示" prop="isValid">
                 <Radio-group v-model="store.isValid">
                     <Radio label="1">

+ 25 - 4
kmall-admin/src/main/webapp/js/sale/sale.js

@@ -1135,6 +1135,27 @@ let vm = new Vue({
                 });
             })
         },
+        verEwbtion:function(){
+
+
+            confirm('确认打印快递单吗?', function () {
+                $.ajax({
+                    type: "POST",
+                    url: "../order/printMsgChangeEwb",
+                    contentType: "application/json",
+                    data: JSON.stringify({'id':vm.currentOrderNo,'sessionId':vm.sessionId}),
+                    success: function (r) {
+                        if (r.ticket != null) {
+                            var content = getPrintContentOrder(r.ticket);
+                            printArea(content);
+
+                        }else{
+                            alert("打印快递单失败");
+                        }
+                    }
+                });
+            })
+        },
         refundOrder:function(){
             vm.debounceRefund();
         },
@@ -1304,7 +1325,7 @@ function openWebSocket() {
         //无法使用wss,浏览器打开WebSocket时报错
         //ws对应http、wss对应https。
         //kmall测试环境
-        // webSocket = new WebSocket("ws://183.62.225.124:8080/ws/server/"+storeId);
+        //webSocket = new WebSocket("ws://183.62.225.124:8080/ws/server/"+storeId);
         //kmall正式环境
         webSocket = new WebSocket("ws://8.135.102.238:8080/ws/server/"+storeId);
         //kmall本地环境
@@ -1475,7 +1496,7 @@ function getPrintContentOrder(ticket) {
     content += "<div style=\"width: 100%;\">";
     content += "<span style=\"float: left;width: 50%;text-align: left;\">支付渠道:</span>";
     // 后期改成从系统中取
-    content += "<span style=\"float: right;width: 50%;text-align: right;\">" + "支付宝支付" + "</span>";
+    content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.paymentMode + "</span>";
     content += "</div>";
     content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
     //海关清单信息
@@ -1519,7 +1540,7 @@ function getPrintContentOrder(ticket) {
     // content += "网址:" + ticket.ticketFoot.url1;
     content += "</div>";
     content += "<div style=\"width: 100%;\">";
-    content += ticket.ticketFoot.welcome;
+    content += "欢迎再次惠顾 --服务电话:" + ticket.ticketMailInfo.shopTel;
     content += "</div>";
     if(ticket.cusListing.deliveryAddress.indexOf("港惠") != -1){
         content += "<div style=\"width: 100%;\">";
@@ -1541,7 +1562,7 @@ function getPrintContentOrder(ticket) {
     content += "</div>";
     // 打印二维码
     content += "<div style=\"text-align: center;width: 100%;height: 250px;\">";
-    content += "<img src='/statics/img/cw_qrcode.png' style='width: 100%;height: 100%;' />";
+    content +=  `<img src='${ticket.ticketMailInfo.storeImgUrl}' style='width: 100%;height: 100%;' />`;
     content += "</div>";
     content += "<div style=\"width: 100%;text-align: center;\">";
     content += "关注CW大药房客服号,获取更多优惠信息"

+ 38 - 2
kmall-admin/src/main/webapp/js/shop/store.js

@@ -18,7 +18,17 @@ $(function () {
             {label: '经度', name: 'longitude', index: 'longitude', width: 120, align: 'right'},
             // {label: '配送半径(km)', name: 'coverRadius', index: 'cover_radius', width: 60, align: 'center'},
             {label: '备注', name: 'remark', index: 'remark', width: 80, align: 'center'},
-
+            {label: '门店电话', name: 'telephoneNumber', index: 'telephone_number', width: 120, align: 'center'},
+            {
+                label: '门店二维码',
+                name: 'storeImgUrl',
+                index: 'store_img_url',
+                align: 'center',
+                width: 100,
+                formatter: function (value) {
+                    return transImg(value);
+                }
+            },
             {label: '是否显示', name: 'isValid', index: 'is_valid', width: 80, align: 'center',
                 formatter: function (value) {
                     if (value == '0') {
@@ -106,7 +116,7 @@ let vm = new Vue({
         add: function () {
             vm.showList = false;
             vm.title = "新增";
-            vm.store = {isValid: 0,exprAgreementType:'00',distId:''};
+            vm.store = {storeImgUrl: '',isValid: 0,exprAgreementType:'00',distId:''};
             vm.merchList = [];
             vm.getMerchList();
         },
@@ -118,6 +128,7 @@ let vm = new Vue({
             vm.showList = false;
             vm.title = "修改";
             vm.merchList = [];
+            vm.store = {storeImgUrl: '',isValid: 0,exprAgreementType:'00',distId:''};
             vm.thirdMerchantBizList = [];
             vm.getMerchList();
             vm.getInfo(id);
@@ -140,6 +151,31 @@ let vm = new Vue({
                 }
             });
         },
+        handleFormatError: function (file) {
+            this.$Notice.warning({
+                title: '文件格式不正确',
+                desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。'
+            });
+        },
+        handleMaxSize: function (file) {
+            this.$Notice.warning({
+                title: '超出文件大小限制',
+                desc: '文件 ' + file.name + ' 太大,不能超过 100k。'
+            });
+        },
+        eyeImageListPicUrl: function () {
+            var url = vm.store.storeImgUrl;
+            eyeImage(url);
+        },
+        handleSuccessListPicUrl: function (res, file) {
+            if (res.code == "500" && res.msg == "没有权限,请联系管理员授权") {
+                this.$Notice.warning({
+                    title: res.msg,
+                    desc: "无上传文件的权限,请联系管理员授权"
+                });
+            }
+            vm.store.storeImgUrl = file.response.url;
+        },
         del: function (event) {
             let ids = getSelectedRows();
             if (ids == null) {

+ 11 - 0
kmall-common/src/main/java/com/kmall/common/utils/print/ticket/item/TicketMailInfo.java

@@ -52,6 +52,17 @@ public class TicketMailInfo implements Serializable {
 
     private String consigneeAddress;
 
+    //门店二维码图片
+    private String storeImgUrl;
+
+    public String getStoreImgUrl() {
+        return storeImgUrl;
+    }
+
+    public void setStoreImgUrl(String storeImgUrl) {
+        this.storeImgUrl = storeImgUrl;
+    }
+
     public String getConsigneeName() {
         return consigneeName;
     }