From 0adc7b8f73cdb45992f868bf1e3a97a070e43a9e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 09 Apr 2024 22:16:47 +0800
Subject: [PATCH] fix

---
 src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html       |    7 +
 src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml                  |   40 +++++++++++--
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java      |    1 
 src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java                 |    6 ++
 src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html |   72 +++++++++++++-----------
 5 files changed, 85 insertions(+), 41 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java b/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java
index 8543b94..5985424 100644
--- a/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java
+++ b/src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefitsRecord.java
@@ -63,4 +63,10 @@
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(exist = false)
     private Date receiveEndTime;
+
+    @TableField(exist = false)
+    private String levelName;
+
+    @TableField(exist = false)
+    private String hasReceive;
 }
diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
index f08295c..e82887b 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
@@ -276,6 +276,7 @@
             mallMemberCouponMapper.insert(memberCoupon);
 
             record.setReceiveName(coupon.getName());
+            record.setStatus(1);
         }
 
         mallVipBenefitsRecordMapper.insert(record);
diff --git a/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml b/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
index da01bcf..451c5bd 100644
--- a/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
+++ b/src/main/resources/mapper/modules/MallVipBenefitsRecordMapper.xml
@@ -3,12 +3,31 @@
 <mapper namespace="cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper">
 
     <select id="selectMemberBenefitsRecordInPage" resultType="cc.mrbird.febs.vip.entity.MallVipBenefitsRecord">
-		select
-			mallMember.name memberName
-			,mallMember.phone memberPhone
-			,record.*
-		from mall_vip_benefits_record record
-			inner join mall_member mallMember on record.member_id = mallMember.ID
+		SELECT
+			mallMember.name memberName,
+			mallMember.phone memberPhone,
+			config.name levelName,
+			benefits.name benefitsName,
+			benefitsDetail.link_type,
+			case when benefitsDetail.link_type = 3 then coupon.name
+				when benefitsDetail.link_type = 2 then goods.goods_name
+				else '-'
+				end receiveName,
+			case when record.id is not null then 1
+				else 2 end hasReceive,
+			record.id,
+			record.receive_cnt,
+			record.receive_time,
+			record.receive_type,
+			record.status
+		FROM mall_member mallMember
+			inner join mall_vip_config config on mallMember.level = config.code
+			inner join mall_vip_config_benefits configBenefits on config.id = configBenefits.config_id
+			inner join mall_vip_benefits benefits on configBenefits.benefits_id = benefits.id and benefits.gain_type = 2 and benefits.type != 1
+			inner join mall_vip_benefits_details benefitsDetail on benefits.id=benefitsDetail.benefits_id and (benefitsDetail.link_type = 2 or benefitsDetail.link_type = 3)
+			left join mall_goods_coupon coupon on benefitsDetail.content = coupon.id
+			left join mall_goods goods on benefitsDetail.content = goods.ID
+			LEFT JOIN mall_vip_benefits_record record ON record.member_id = mallMember.ID and record.benefits_type = 2
 		<where>
 			1=1
 			<if test="record.memberPhone != null and record.memberPhone != ''">
@@ -17,6 +36,15 @@
 			<if test="record.status != null">
 				and record.status = #{record.status}
 			</if>
+			<if test="record.hasReceive != null and record.hasReceive == 1">
+				and record.id is not null
+			</if>
+			<if test="record.hasReceive != null and record.hasReceive == 2">
+				and record.id is null
+			</if>
+			<if test="record.birthday != null">
+				and date_format(mallMember.birthday, '%m-%d') = date_format(#{record.birthday}, '%m-%d')
+			</if>
 			<if test="record.birthdayStart != null">
 				and date_format(mallMember.birthday, '%Y-%m-%d') >= date_format(#{record.birthdayStart}, '%Y-%m-%d')
 			</if>
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html b/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html
index 41b5ab6..f28141f 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/memberBenefitsList.html
@@ -31,28 +31,39 @@
                                     </div>
 
                                     <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">会员生日</label>
+                                        <label class="layui-form-label layui-form-label-sm">是否领取</label>
                                         <div class="layui-input-inline">
-                                            <input type="text" name="birthdayStart" id="febs-member-benefits-list-birthday-start" lay-verify="date"
-                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
-                                        </div>
-                                        <div class="layui-input-inline">
-                                            <input type="text" name="birthdayEnd" id="febs-member-benefits-list-birthday-end" lay-verify="date"
-                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
+                                            <select name="hasReceive">
+                                                <option value="">请选择</option>
+                                                <option value="1">已领取</option>
+                                                <option value="2">未领取</option>
+                                            </select>
                                         </div>
                                     </div>
 
                                     <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">领取时间</label>
+                                        <label class="layui-form-label layui-form-label-sm">会员生日</label>
                                         <div class="layui-input-inline">
-                                            <input type="text" name="receiveStartTime" id="febs-member-benefits-list-start" lay-verify="date"
+                                            <input type="text" name="birthday" id="febs-member-benefits-list-birthday-start" lay-verify="date"
                                                    placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
                                         </div>
-                                        <div class="layui-input-inline">
-                                            <input type="text" name="receiveEndTime" id="febs-member-benefits-list-end" lay-verify="date"
-                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
-                                        </div>
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <input type="text" name="birthdayEnd" id="febs-member-benefits-list-birthday-end" lay-verify="date"-->
+<!--                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">-->
+<!--                                        </div>-->
                                     </div>
+
+<!--                                    <div class="layui-inline">-->
+<!--                                        <label class="layui-form-label layui-form-label-sm">领取时间</label>-->
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <input type="text" name="receiveStartTime" id="febs-member-benefits-list-start" lay-verify="date"-->
+<!--                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">-->
+<!--                                        </div>-->
+<!--                                        <div class="layui-input-inline">-->
+<!--                                            <input type="text" name="receiveEndTime" id="febs-member-benefits-list-end" lay-verify="date"-->
+<!--                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">-->
+<!--                                        </div>-->
+<!--                                    </div>-->
 
                                 </div>
                             </div>
@@ -90,17 +101,8 @@
 
         //日期范围
         laydate.render({
-            elem: '#febs-member-benefits-list-start'
-        });
-        laydate.render({
-            elem: '#febs-member-benefits-list-end'
-        });
-        laydate.render({
             elem: '#febs-member-benefits-list-birthday-start'
-        });
-
-        laydate.render({
-            elem: '#febs-member-benefits-list-birthday-end'
+            ,value: new Date()
         });
 
         form.render();
@@ -131,6 +133,12 @@
         $reset.on('click', function () {
             $searchForm[0].reset();
             sortObject.type = 'null';
+
+
+            laydate.render({
+                elem: '#febs-member-benefits-list-birthday-start'
+                ,value: new Date()
+            });
             tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
         });
 
@@ -144,14 +152,14 @@
                     {field: 'memberName', title: '会员名称', minWidth: 100,align:'left'},
                     {field: 'memberPhone', title: '手机号码', minWidth: 150,align:'left'},
                     {field: 'benefitsName', title: '权益', minWidth: 150,align:'left'},
-                    {field: 'benefitsType', title: '权益类型',
+                    {field: 'hasReceive', title: '是否领取',
                         templet: function (d) {
-                            if (d.benefitsType === 1) {
-                                return '<span>会员日</span>'
-                            } else if (d.benefitsType === 2) {
-                                return '<span>生日</span>'
+                            if (d.hasReceive === 1) {
+                                return '<span>已领取</span>'
+                            } else if (d.hasReceive === 2) {
+                                return '<span>未领取</span>'
                             } else {
-                                return '<span>其他</span>'
+                                return '<span>-</span>'
                             }
                         }, minWidth: 80,align:'center'},
                     {field: 'receiveName', title: '领取名称', minWidth: 150,align:'left'},
@@ -193,13 +201,11 @@
         // 获取查询参数
         function getQueryParams() {
             return {
-                receiveStartTime: $searchForm.find('input[name="receiveStartTime"]').val().trim(),
-                receiveEndTime: $searchForm.find('input[name="receiveEndTime"]').val().trim(),
-                birthdayStart: $searchForm.find('input[name="birthdayStart"]').val().trim(),
-                birthdayEnd: $searchForm.find('input[name="birthdayEnd"]').val().trim(),
+                birthday: $searchForm.find('input[name="birthday"]').val().trim(),
                 // memberName: $searchForm.find('input[name="memberName"]').val().trim(),
                 memberPhone: $searchForm.find('input[name="memberPhone"]').val().trim(),
                 status: $searchForm.find("select[name='status']").val(),
+                hasReceive: $searchForm.find("select[name='hasReceive']").val(),
             };
         }
 
diff --git a/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html b/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html
index e4499b4..5a911a2 100644
--- a/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html
@@ -78,6 +78,8 @@
 
                     for(var i = 0; i < r.data.length; i++) {
                         uploadFun(i);
+
+                        imgSingleBind(i);
                     }
                 }
             });
@@ -113,9 +115,9 @@
                     //预读本地文件示例,不支持ie8
                     obj.preview(function(index, file, result){
                         if ($("#thumb-" + classIndex).val()) {
-                            $("#upload-"+classIndex).html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
+                            $("#upload-"+classIndex).html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image'+ classIndex +'" style="width: 130px">')
                         } else {
-                            $("#upload-"+classIndex).append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
+                            $("#upload-"+classIndex).append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image'+ classIndex +'"  style="width: 130px">')
                         }
 
                     });
@@ -141,6 +143,7 @@
                 });
             })
         }
+
         function imgUnBind(className) {
             $(className).each(function() {
                 $(this).unbind('dblclick');

--
Gitblit v1.9.1