Browse Source

Merge branch 'master' of lhm/kmall-haikong into master

lhm 3 years ago
parent
commit
f9aee30bc6

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

@@ -1,6 +1,7 @@
 package com.kmall.admin.service.impl;
 
 import cn.hutool.core.lang.UUID;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.core.type.TypeReference;
@@ -2790,7 +2791,9 @@ public class OrderServiceImpl implements OrderService {
         HaiKongSendOrderInfoRecordEntity haiKongSendOrderInfoRecordEntity = wrapSendOrderInfoRecord(sendOrderToVmcShopDTO);
         List<HaiKongSendOrderInfoDetailRecordEntity> detailRecordEntities = wrapSendOrderInfoDetailRecord(orderInfoItemDTOList);
 
-        String body = JacksonUtil.toJson(sendOrderToVmcShopDTO);
+        // 不要用自带的工具类,处理XML字符串时有bug
+        cn.hutool.json.JSON json = JSONUtil.parse(sendOrderToVmcShopDTO);
+        String body = JSONUtil.toJsonPrettyStr(json);
 
         String orderSn = order.getOrder_sn();
         try {
@@ -3085,7 +3088,11 @@ public class OrderServiceImpl implements OrderService {
         orderWXPayRecordService.updateRecord(orderWXPayRecordCurrent.getId(), wechatMicropayApiResult);
 
         order.setRequest(payOriginInfoDTO.getRequest());
-        order.setResponse(payOriginInfoDTO.getResponse());
+        String response = payOriginInfoDTO.getResponse();
+        if (!org.springframework.util.StringUtils.isEmpty(response)) {
+            response = response.replaceAll("\r|\n", "");
+        }
+        order.setResponse(response);
         order.setPayApp("wxpay");
         order.setFeeType(wechatMicropayApiResult.getFee_type());
         order.setAliTradeNo(wechatMicropayApiResult.getTransaction_id());

+ 9 - 9
kmall-admin/src/main/webapp/js/haikong/haikongmemberordersyncresend.js

@@ -4,19 +4,19 @@ $(function () {
         datatype: "json",
         colModel: [
 			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
-			{label: '海控会员系统会员唯一标识open_id', name: 'openId', index: 'open_id', width: 100},
-			{label: '会员手机号', name: 'phone', index: 'phone', width: 100},
+			{label: 'open_id', name: 'openId', index: 'open_id', align: 'center', width: 160},
+			{label: '会员手机号', name: 'phone', index: 'phone', align: 'center', width: 100},
 			{
-				label: '消费时间', name: 'consumeDate', index: 'consume_date', width: 100,
+				label: '消费时间', name: 'consumeDate', index: 'consume_date', align: 'center', width: 140,
 				formatter: function (value) {
 					return transDate(value, 'yyyy-MM-dd hh:mm:ss')
 				}
 			},
-			{label: '订单金额', name: 'orderAmount', index: 'order_amount', width: 100},
-			{label: '订单编号', name: 'orderNo', index: 'order_no', width: 100},
-			{label: '订单抵扣积分数量', name: 'orderScore', index: 'order_score', width: 100},
-			{label: '会员系统订单id', name: 'memberSysOrderId', index: 'member_sys_order_id', width: 100},
-			{label: '重发状态', name: 'resendStatus', index: 'resend_status', width: 100,
+			{label: '订单金额', name: 'orderAmount', index: 'order_amount', align: 'center', width: 80},
+			{label: '订单编号', name: 'orderNo', index: 'order_no', align: 'center', width: 200},
+			{label: '订单抵扣积分数量', name: 'orderScore', index: 'order_score', align: 'center', width: 120},
+			{label: '会员系统订单id', name: 'memberSysOrderId', index: 'member_sys_order_id', align: 'center', width: 120},
+			{label: '重发状态', name: 'resendStatus', index: 'resend_status', align: 'center', width: 100,
 				formatter: function (value) {
 					if (value == '0') {
 						return '等待重发';
@@ -29,7 +29,7 @@ $(function () {
 					}
 				}
 			},
-			{label: '最后一次重发时间', name: 'lastResendTime', index: 'last_resend_time', width: 100,
+			{label: '最后一次重发时间', name: 'lastResendTime', index: 'last_resend_time', align: 'center', width: 140,
 				formatter: function (value) {
 					return transDate(value, 'yyyy-MM-dd hh:mm:ss')
 				}

+ 10 - 10
kmall-admin/src/main/webapp/js/haikong/haikongmemberscorechangedetailrecord.js

@@ -4,15 +4,15 @@ $(function () {
         datatype: "json",
         colModel: [
 			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
-			{label: '订单编号', name: 'orderSn', index: 'order_sn', width: 100},
-			{label: '条码', name: 'productBarcode', index: 'product_barcode', width: 100},
-			{label: 'sku', name: 'sku', index: 'sku', width: 100},
-			{label: '零售价', name: 'retailPrice', index: 'retail_price', width: 100},
-			{label: '实际支付价', name: 'actualPrice', index: 'actual_price', width: 100},
-			{label: '销售数', name: 'sellVolume', index: 'sell_volume', width: 100},
-			{label: '分摊抵扣积分', name: 'deductionScore', index: 'deduction_score', width: 100},
-			{label: '赠送积分', name: 'giftScore', index: 'gift_score', width: 100},
-			{label: '生成规则', name: 'generateRules', index: 'generate_rules', width: 100,
+			{label: '订单编号', name: 'orderSn', index: 'order_sn', align: 'center', width: 200},
+			{label: '条码', name: 'productBarcode', index: 'product_barcode', align: 'center', width: 120},
+			{label: 'sku', name: 'sku', index: 'sku', align: 'center', width: 120},
+			{label: '零售价', name: 'retailPrice', index: 'retail_price', align: 'center', width: 100},
+			{label: '实际支付价', name: 'actualPrice', index: 'actual_price', align: 'center', width: 100},
+			{label: '销售数', name: 'sellVolume', index: 'sell_volume', align: 'center', width: 100},
+			{label: '分摊抵扣积分', name: 'deductionScore', index: 'deduction_score', align: 'center', width: 100},
+			{label: '赠送积分', name: 'giftScore', index: 'gift_score', align: 'center', width: 100},
+			{label: '生成规则', name: 'generateRules', index: 'generate_rules', align: 'center', width: 100,
 				formatter: function (value) {
 					if (value == '0') {
 						return '门店';
@@ -25,7 +25,7 @@ $(function () {
 					}
 				}
 			},
-			{label: '生成规则比例', name: 'generateRatio', index: 'generate_ratio', width: 100}
+			{label: '生成规则比例', name: 'generateRatio', index: 'generate_ratio', align: 'center', width: 100}
 			],
 		viewrecords: true,
         height: 550,

+ 8 - 8
kmall-admin/src/main/webapp/js/haikong/haikongmemberscorechangerecord.js

@@ -4,14 +4,14 @@ $(function () {
         datatype: "json",
         colModel: [
 			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
-			{label: 'openid', name: 'openId', index: 'open_id', width: 100},
-			{label: '会员积分', name: 'score', index: 'score', width: 100},
-			{label: '订单号', name: 'outBizNo', index: 'out_biz_no', width: 100},
-			{label: '积分变动描述', name: 'changeReason', index: 'change_reason', width: 100},
-			{label: '积分变动事件', name: 'changeEvent', index: 'change_event', width: 100},
-			{label: '自定义积分变动唯一标识', name: 'changeId', index: 'change_id', width: 100},
-			{label: '积分变动流水id', name: 'statementId', index: 'statement_id', width: 100},
-			{label: '重发状态', name: 'resendStatus', index: 'resend_status', width: 100,
+			{label: 'openid', name: 'openId', index: 'open_id', align: 'center', width: 140},
+			{label: '会员积分', name: 'score', index: 'score', align: 'center', width: 100},
+			{label: '订单号', name: 'outBizNo', index: 'out_biz_no', align: 'center', width: 200},
+			{label: '积分变动描述', name: 'changeReason', index: 'change_reason', align: 'center', width: 100},
+			{label: '积分变动事件', name: 'changeEvent', index: 'change_event', align: 'center', width: 100},
+			{label: '自定义积分变动唯一标识', name: 'changeId', index: 'change_id', align: 'center', width: 280},
+			{label: '积分变动流水id', name: 'statementId', index: 'statement_id', align: 'center', width: 180},
+			{label: '重发状态', name: 'resendStatus', index: 'resend_status', align: 'center', width: 100,
 				formatter: function (value) {
 					if (value == '0') {
 						return '等待重发';

+ 12 - 12
kmall-admin/src/main/webapp/js/haikong/haikongsendorderinfodetailrecord.js

@@ -4,18 +4,18 @@ $(function () {
         datatype: "json",
         colModel: [
 			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
-			{label: '订单id', name: 'orderId', index: 'order_id', width: 80},
-			{label: '图片地址', name: 'imageUrl', index: 'image_url', width: 80},
-			{label: '明细商品货号', name: 'bn', index: 'bn', width: 80},
-			{label: '条码', name: 'barcode', index: 'barcode', width: 80},
-			{label: '商品名', name: 'name', index: 'name', width: 80},
-			{label: '明细商品的成本', name: 'cost', index: 'cost', width: 80},
-			{label: '销售价', name: 'price', index: 'price', width: 80},
-			{label: '商品编码', name: 'itemcode', index: 'itemcode', width: 80},
-			{label: '明细商品总额', name: 'amount', index: 'amount', width: 80},
-			{label: '明细商品购买数量', name: 'nums', index: 'nums', width: 80},
-			{label: '是否含税', name: 'isTax', index: 'is_tax', width: 80},
-			{label: '税金', name: 'taxPrice', index: 'tax_price', width: 80}],
+			{label: '订单id', name: 'orderId', index: 'order_id', align: 'center', width: 200},
+			{label: '图片地址', name: 'imageUrl', index: 'image_url', align: 'center', width: 120},
+			{label: '明细商品货号', name: 'bn', index: 'bn', align: 'center', width: 120},
+			{label: '条码', name: 'barcode', index: 'barcode', align: 'center', width: 120},
+			{label: '商品名', name: 'name', index: 'name', align: 'center', width: 240},
+			{label: '明细商品的成本', name: 'cost', index: 'cost', align: 'center', width: 120},
+			{label: '销售价', name: 'price', index: 'price', align: 'center', width: 80},
+			{label: '商品编码', name: 'itemcode', index: 'itemcode', align: 'center', width: 120},
+			{label: '明细商品总额', name: 'amount', index: 'amount', align: 'center', width: 100},
+			{label: '明细商品购买数量', name: 'nums', index: 'nums', align: 'center', width: 100},
+			{label: '是否含税', name: 'isTax', index: 'is_tax', align: 'center', width: 80},
+			{label: '税金', name: 'taxPrice', index: 'tax_price', align: 'center', width: 80}],
 		viewrecords: true,
         height: 550,
         rowNum: 10,

+ 35 - 29
kmall-admin/src/main/webapp/js/haikong/haikongsendorderinforecord.js

@@ -4,24 +4,24 @@ $(function () {
         datatype: "json",
         colModel: [
 			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
-			{label: '订单编号', name: 'outerOrderNo', index: 'outer_order_no', width: 80},
-			{label: '支付方式', name: 'payApp', index: 'pay_app', width: 80},
-			{label: '配送方式', name: 'dlytypeCode', index: 'dlytype_code', width: 80},
-			{label: '收货人', name: 'consigneeName', index: 'consignee_name', width: 80},
-			{label: '收货地址省份', name: 'consigneeAreaProvince', index: 'consignee_area_province', width: 80},
-			{label: '收货地址城市', name: 'consigneeAreaCity', index: 'consignee_area_city', width: 80},
-			{label: '收货地址地区', name: 'consigneeAreaCounty', index: 'consignee_area_county', width: 80},
-			{label: '收货地址详细地址', name: 'consigneeAddress', index: 'consignee_address', width: 80},
-			{label: '收货人邮编', name: 'consigneeZip', index: 'consignee_zip', width: 80},
-			{label: '收货人的联系电话', name: 'consigneeTel', index: 'consignee_tel', width: 80},
-			{label: '收货人邮箱', name: 'consigneeEmail', index: 'consignee_email', width: 80},
-			{label: '收货人手机', name: 'consigneeMobile', index: 'consignee_mobile', width: 80},
-			{label: '订单商品总重量(克)', name: 'weight', index: 'weight', width: 80},
-			{label: '订单包含商品数量', name: 'quantity', index: 'quantity', width: 80},
-			{label: '订单应付金额', name: 'orderTotal', index: 'order_total', width: 80},
-			{label: '下单的平台', name: 'platform', index: 'platform', width: 80},
-			{label: '支付货币金额', name: 'money', index: 'money', width: 80},
-			{label: '付款方式', name: 'payMode', index: 'pay_mode', width: 80,
+			{label: '订单编号', name: 'outerOrderNo', index: 'outer_order_no', align: 'center', width: 200},
+			{label: '支付方式', name: 'payApp', index: 'pay_app', align: 'center', width: 80},
+			{label: '配送方式', name: 'dlytypeCode', index: 'dlytype_code', align: 'center', width: 80},
+			{label: '收货人', name: 'consigneeName', index: 'consignee_name', align: 'center', width: 60},
+			{label: '收货省份', name: 'consigneeAreaProvince', index: 'consignee_area_province', align: 'center', width: 80},
+			{label: '收货城市', name: 'consigneeAreaCity', index: 'consignee_area_city', align: 'center', width: 80},
+			{label: '收货地区', name: 'consigneeAreaCounty', index: 'consignee_area_county', align: 'center', width: 80},
+			{label: '收货详细地址', name: 'consigneeAddress', index: 'consignee_address', align: 'center', width: 200},
+			{label: '收货人邮编', name: 'consigneeZip', index: 'consignee_zip', align: 'center', width: 80},
+			{label: '收货人电话', name: 'consigneeTel', index: 'consignee_tel', align: 'center', width: 100},
+			{label: '收货人邮箱', name: 'consigneeEmail', index: 'consignee_email', align: 'center', width: 120},
+			{label: '收货人手机', name: 'consigneeMobile', index: 'consignee_mobile', align: 'center', width: 100},
+			{label: '商品总重量', name: 'weight', index: 'weight', align: 'center', width: 80},
+			{label: '商品数量', name: 'quantity', index: 'quantity', align: 'center', width: 80},
+			{label: '应付金额', name: 'orderTotal', index: 'order_total', align: 'center', width: 80},
+			{label: '下单的平台', name: 'platform', index: 'platform', align: 'center', width: 80},
+			{label: '支付金额', name: 'money', index: 'money', align: 'center', width: 80},
+			{label: '付款方式', name: 'payMode', index: 'pay_mode', align: 'center', width: 80,
 				formatter: function (value) {
 					if (value == 'online') {
 						return '在线支付';
@@ -32,11 +32,17 @@ $(function () {
 					}
 				}
 			},
-			{label: '发送给支付企业的原始请求', name: 'request', index: 'request', width: 80},
-			{label: '支付成功后回调的原始请求', name: 'response', index: 'response', width: 80},
-			{label: '支付平台流水号', name: 'outTradeNo', index: 'out_trade_no', width: 80},
-			{label: '口岸代码', name: 'seaportCode', index: 'seaport_code', width: 80},
-			{label: '跨境商品平台来源', name: 'seaportPlatform', index: 'seaport_platform', width: 80,
+			{label: '发送支付原始请求', name: 'request', index: 'request', align: 'center', width: 100},
+			{label: '支付回调原始响应', name: 'response', index: 'response', align: 'left', width: 100,
+				formatter: function (value) {
+					value = value.replace(/</g, '&lt;');
+					value = value.replace(/>/g, '&gt;');
+					return value;
+				}
+			},
+			{label: '支付平台流水号', name: 'outTradeNo', index: 'out_trade_no', align: 'center', width: 180},
+			{label: '口岸代码', name: 'seaportCode', index: 'seaport_code', align: 'center', width: 70},
+			{label: '跨境商品平台来源', name: 'seaportPlatform', index: 'seaport_platform', align: 'center', width: 120,
 				formatter: function (value) {
 					if (value == '1') {
 						return '广州跨境通保税';
@@ -45,11 +51,11 @@ $(function () {
 					}
 				}
 			},
-			{label: '订购人身份证号码', name: 'identityCard', index: 'identity_card', width: 80},
-			{label: '订购人姓名', name: 'identityName', index: 'identity_name', width: 80},
-			{label: '订购人手机号', name: 'identityMobile', index: 'identity_mobile', width: 80},
-			{label: '订单产品信息', name: 'orderProductInfo', index: 'order_product_info', width: 80},
-			{label: '重发状态', name: 'resendStatus', index: 'resend_status', width: 80,
+			{label: '订购人身份证号码', name: 'identityCard', index: 'identity_card', align: 'center', width: 160},
+			{label: '订购人姓名', name: 'identityName', index: 'identity_name', align: 'center', width: 80},
+			{label: '订购人手机号', name: 'identityMobile', index: 'identity_mobile', align: 'center', width: 100},
+			{label: '订单产品信息', name: 'orderProductInfo', index: 'order_product_info', align: 'center', width: 100},
+			{label: '重发状态', name: 'resendStatus', index: 'resend_status', align: 'center', width: 80,
 				formatter: function (value) {
 					if (value == '0') {
 						return '等待重发';
@@ -86,7 +92,7 @@ $(function () {
         gridComplete: function () {
 
         }
-    });
+	});
 });
 
 let vm = new Vue({

+ 94 - 1
sql/init/sys_table.sql

@@ -676,8 +676,101 @@ INSERT INTO `sys_menu` VALUES (906, 904, '修改', NULL, 'mall2pointsrules:updat
 INSERT INTO `sys_menu` VALUES (907, 904, '删除', NULL, 'mall2pointsrules:delete', 2, NULL, 0, 0);
 INSERT INTO `sys_menu` VALUES (908, 394, '新增', NULL, 'address:save', 2, NULL, 0, 0);
 INSERT INTO `sys_menu` VALUES (909, 394, '修改', NULL, 'address:update', 2, NULL, 0, 0);
-INSERT INTO `sys_menu` VALUES (915, 1, '接口日志', 'shop/interfacesendlog.html', 'fa fa-eye', 1, 'fa fa-file-text-o', 0, 0);
+INSERT INTO `sys_menu` VALUES (915, 942, '接口日志', 'shop/interfacesendlog.html', 'fa fa-eye', 1, 'fa fa-file-text-o', 0, 0);
 INSERT INTO `sys_menu` VALUES (916, 915, '查询', NULL, 'tinterfacesendlog:info,interfacesendlog:list', 2, NULL, 0, 0);
+INSERT INTO `sys_menu` VALUES (942, 0, '日志记录', NULL, NULL, 0, 'fa fa-file-text-o', 10, 0);
+-- 菜单SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    VALUES ('942', '会员同步消费订单记录', 'shop/haikongmemberordersyncresend.html', NULL, '1', 'fa fa-file-code-o', '6', '0');
+
+-- 按钮父菜单ID
+set @parentId = @@identity;
+
+-- 菜单对应按钮SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '查看', null, 'haikongmemberordersyncresend:list,haikongmemberordersyncresend:info', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '新增', null, 'haikongmemberordersyncresend:save', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '修改', null, 'haikongmemberordersyncresend:update', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '删除', null, 'haikongmemberordersyncresend:delete', '2', null, '6', '0';
+
+
+-- 菜单SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    VALUES ('942', '会员积分变动记录详情表', 'shop/haikongmemberscorechangedetailrecord.html', NULL, '1', 'fa fa-file-code-o', '6', '0');
+
+-- 按钮父菜单ID
+set @parentId = @@identity;
+
+-- 菜单对应按钮SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '查看', null, 'haikongmemberscorechangedetailrecord:list,haikongmemberscorechangedetailrecord:info', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '新增', null, 'haikongmemberscorechangedetailrecord:save', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '修改', null, 'haikongmemberscorechangedetailrecord:update', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '删除', null, 'haikongmemberscorechangedetailrecord:delete', '2', null, '6', '0';
+
+
+-- 菜单SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    VALUES ('942', '推送订单信息记录', 'shop/haikongsendorderinforecord.html', NULL, '1', 'fa fa-file-code-o', '6', '0');
+
+-- 按钮父菜单ID
+set @parentId = @@identity;
+
+-- 菜单对应按钮SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '查看', null, 'haikongsendorderinforecord:list,haikongsendorderinforecord:info', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '新增', null, 'haikongsendorderinforecord:save', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '修改', null, 'haikongsendorderinforecord:update', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '删除', null, 'haikongsendorderinforecord:delete', '2', null, '6', '0';
+
+
+-- 菜单SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    VALUES ('942', '会员积分变动记录表', 'shop/haikongmemberscorechangerecord.html', NULL, '1', 'fa fa-file-code-o', '6', '0');
+
+-- 按钮父菜单ID
+set @parentId = @@identity;
+
+-- 菜单对应按钮SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '查看', null, 'haikongmemberscorechangerecord:list,haikongmemberscorechangerecord:info', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '新增', null, 'haikongmemberscorechangerecord:save', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '修改', null, 'haikongmemberscorechangerecord:update', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '删除', null, 'haikongmemberscorechangerecord:delete', '2', null, '6', '0';
+
+
+-- 菜单SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    VALUES ('942', '推送订单明细记录', 'shop/haikongsendorderinfodetailrecord.html', NULL, '1', 'fa fa-file-code-o', '6', '0');
+
+-- 按钮父菜单ID
+set @parentId = @@identity;
+
+-- 菜单对应按钮SQL
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '查看', null, 'haikongsendorderinfodetailrecord:list,haikongsendorderinfodetailrecord:info', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '新增', null, 'haikongsendorderinfodetailrecord:save', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '修改', null, 'haikongsendorderinfodetailrecord:update', '2', null, '6', '0';
+INSERT INTO `sys_menu` (`parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`, `status`)
+    SELECT @parentId, '删除', null, 'haikongsendorderinfodetailrecord:delete', '2', null, '6', '0';
+
+
+
+
 
 -- ----------------------------
 -- Table structure for sys_notice