Browse Source

Merge branch 'featrue/商户门店管理增加二维码维护' into featrue/小票打印和二维码测试分支

qng 3 years ago
parent
commit
228af8d951

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

@@ -131,7 +131,6 @@ public class StoreController {
         builder.put("storeName", "门店名称");
         builder.put("storeNumber", "门店编号");
         builder.put("thirdPartyMerchCode", "第三方商户编号");
-//        builder.put("thirdPartyMerchName", "第三方商户名称");
         builder.put("exprAgreementType", "第三方商户快递协议类型");
         builder.put("latitude", "纬度");
         builder.put("longitude", "经度");

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

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

+ 1 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -493,6 +493,7 @@ public class OrderServiceImpl implements OrderService {
         if (StringUtils.isNullOrEmpty(exprNo)) {
             throw new RRException("快递面单为空,请联系客服");
         }
+        mailInfo.setStoreImgUrl(storeEntity.getStoreImgUrl());
         mailInfo.setExprNo(exprNo);
         String logoUrl = "/statics/img/yto_logo.jpg";
 

+ 7 - 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,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.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,8 @@
 			creater_sn,
 			create_time,
 			moder_sn,
-			mod_time
+			mod_time,
+			store_img_url
 		)
 		values(
 			#{merchSn},
@@ -249,7 +250,8 @@
 			#{createrSn},
 			#{createTime},
 			#{moderSn},
-			#{modTime}
+			#{modTime},
+			#{storeImgUrl}
 		)
 	</insert>
 
@@ -277,6 +279,7 @@
 			<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>
 		</set>
 		where id = #{id}
 	</update>

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

@@ -109,6 +109,29 @@
             <Form-item label="备注" prop="remark">
                 <i-input type="textarea" v-model="store.remark" 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">

+ 1 - 1
kmall-admin/src/main/webapp/js/sale/sale.js

@@ -1562,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大药房客服号,获取更多优惠信息"

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

@@ -18,7 +18,16 @@ $(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: '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 +115,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 +127,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 +150,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;
     }