Parcourir la source

修改了质保卡信息,添加了后台质保卡查询

liuzhiwei il y a 7 ans
Parent
commit
92252341bc

+ 32 - 0
wateroPF-common-core/src/main/java/com/iamberry/wechat/core/entity/machineNumber/WarrantyCard.java

@@ -1,5 +1,7 @@
 package com.iamberry.wechat.core.entity.machineNumber;
 
+import com.iamberry.wechat.core.entity.PageBean;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -26,6 +28,36 @@ public class WarrantyCard implements Serializable {
 
     private String cardDes;     //备注
 
+    private String userName;    //姓名
+
+    private String userEmail;   //邮箱
+
+    private PageBean page;      //分页信息
+
+    public PageBean getPage() {
+        return page;
+    }
+
+    public void setPage(PageBean page) {
+        this.page = page;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getUserEmail() {
+        return userEmail;
+    }
+
+    public void setUserEmail(String userEmail) {
+        this.userEmail = userEmail;
+    }
+
     public String getCardBarcode() {
         return cardBarcode;
     }

+ 15 - 0
wateroPF-wechat-interface/src/main/java/com/iamberry/wechat/face/machineNumber/MachineNumberService.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.face.machineNumber;
 import com.iamberry.wechat.core.entity.Page;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumber;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumberLogs;
+import com.iamberry.wechat.core.entity.machineNumber.WarrantyCard;
 import com.iamberry.wechat.core.entity.member.Member;
 
 import java.util.List;
@@ -66,6 +67,20 @@ public interface MachineNumberService {
     List<MachineNumber> listMachineNumber(MachineNumber machineNumber);
 
     /**
+     * 根据条件查询质保卡集合,可分页
+     * @param warrantyCard
+     * @return
+     */
+    List<WarrantyCard> listWarrantyCard(WarrantyCard warrantyCard);
+
+    /**
+     * 根据条件查询质保卡数量
+     * @param warrantyCard
+     * @return
+     */
+    Integer WarrantyCardCount(WarrantyCard warrantyCard);
+
+    /**
      * 完善用户信息和机器编号信息(修改)
      * @param member
      * @param machineNumber

+ 12 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/machineNumber/MachineNumberServiceImpl.java

@@ -6,6 +6,7 @@ import com.iamberry.wechat.core.entity.cart.ShopOrderAndItemDto;
 import com.iamberry.wechat.core.entity.machineNumber.MachineGift;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumber;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumberLogs;
+import com.iamberry.wechat.core.entity.machineNumber.WarrantyCard;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.core.entity.order.Order;
 import com.iamberry.wechat.core.entity.order.OrderItem;
@@ -83,6 +84,17 @@ public class MachineNumberServiceImpl implements MachineNumberService{
     }
 
     @Override
+    public List<WarrantyCard> listWarrantyCard(WarrantyCard warrantyCard) {
+        return machineNumberMapper.listWarrantyCard(warrantyCard);
+    }
+
+    @Override
+    public Integer WarrantyCardCount(WarrantyCard warrantyCard) {
+        int count = machineNumberMapper.WarrantyCardCount(warrantyCard);
+        return	count = count % warrantyCard.getPage().getPageSize() == 0? count/warrantyCard.getPage().getPageSize():(count/warrantyCard.getPage().getPageSize())+1;
+    }
+
+    @Override
     public boolean updateUserAndNumber(Member member, MachineNumber machineNumber) {
         boolean flag = false;
         //修改用户信息

+ 15 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/MachineNumberMapper.java

@@ -4,6 +4,7 @@ import com.iamberry.wechat.core.entity.Page;
 import com.iamberry.wechat.core.entity.machineNumber.MachineGift;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumber;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumberLogs;
+import com.iamberry.wechat.core.entity.machineNumber.WarrantyCard;
 
 import java.util.List;
 
@@ -59,6 +60,20 @@ public interface MachineNumberMapper {
     List<MachineNumber> listMachineNumber(MachineNumber machineNumber);
 
     /**
+     * 根据条件查询质保卡集合,可分页
+     * @param warrantyCard
+     * @return
+     */
+    List<WarrantyCard> listWarrantyCard(WarrantyCard warrantyCard);
+
+    /**
+     * 根据条件查询质保卡数量
+     * @param warrantyCard
+     * @return
+     */
+    Integer WarrantyCardCount(WarrantyCard warrantyCard);
+
+    /**
      * 修改机器编号信息
      * @param machineNumber
      * @return

+ 56 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/machineNumberMapper.xml

@@ -29,6 +29,15 @@ PUBLIC
 		nl.logs_remark logsRemark,
 		nl.logs_create_time logsCreateTime
 	</sql>
+
+	<sql id="warrantyCardInfo">
+		number_id cardId,
+		number_barcode cardBarcode,
+		number_sales_time cardSaleTime,
+		user_email userEmail,
+		user_name userName
+	</sql>
+
 	<!-- 统计批次及已完成条数-->
 	<select id="listNumberLogs" parameterType="Page" resultType="MachineNumberLogs">
 		SELECT
@@ -122,6 +131,53 @@ PUBLIC
 		</if>
 	</select>
 
+	<!-- 根据条件查询质保卡集合,可分页 -->
+	<select id="listWarrantyCard" parameterType="WarrantyCard" resultType="WarrantyCard">
+		select
+			<include refid="warrantyCardInfo" />
+		from
+		tb_iamberry_user_machine_number
+		LEFT JOIN tb_iamberry_user_userinfo ON number_open_id = user_openid
+		<where>
+			number_status = 1
+			and number_open_id is not null
+			<if test="cardBarcode != null and cardBarcode != '' ">
+				and number_barcode like CONCAT('%',#{cardBarcode},'%')
+			</if>
+			<if test="userName != null and userName != '' ">
+				and user_name like CONCAT('%',#{userName},'%')
+			</if>
+			<if test="userEmail != null and userEmail != '' ">
+				and user_email like CONCAT('%',#{userEmail},'%')
+			</if>
+		</where>
+		order by number_id DESC
+		<if test="page!=null and page.pageSize>0 ">
+			LIMIT ${page.recordBegin},${page.pageSize}
+		</if>
+	</select>
+
+	<select id="WarrantyCardCount" parameterType="WarrantyCard" resultType="Integer">
+		select
+			COUNT(number_id)
+		from
+		tb_iamberry_user_machine_number
+		LEFT JOIN tb_iamberry_user_userinfo ON number_open_id = user_openid
+		<where>
+			number_status = 1
+			and number_open_id is not null
+			<if test="cardBarcode != null and cardBarcode != '' ">
+				and number_barcode like CONCAT('%',#{cardBarcode},'%')
+			</if>
+			<if test="userName != null and userName != '' ">
+				and user_name like CONCAT('%',#{userName},'%')
+			</if>
+			<if test="userEmail != null and userEmail != '' ">
+				and user_email like CONCAT('%',#{userEmail},'%')
+			</if>
+		</where>
+	</select>
+
 	<!-- 修改机器编号信息 -->
 	<update id="updateMachineNumber" parameterType="MachineNumber">
 		update

+ 91 - 4
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/QrCodeHandler.java

@@ -1,12 +1,13 @@
 package com.iamberry.wechat.handles.admin;
 
-import com.iamberry.wechat.core.entity.Page;
-import com.iamberry.wechat.core.entity.PageBean;
-import com.iamberry.wechat.core.entity.PaperBean;
-import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.*;
+import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.drp.PlaceWithDrawalsLogs;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumber;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumberLogs;
+import com.iamberry.wechat.core.entity.machineNumber.WarrantyCard;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.machineNumber.MachineNumberService;
 import com.iamberry.wechat.tools.*;
 import org.apache.commons.io.FileUtils;
@@ -40,6 +41,8 @@ import java.util.concurrent.LinkedBlockingQueue;
 public class QrCodeHandler {
     @Autowired
     private MachineNumberService machineNumberService;
+    @Autowired
+    private SystemService systemService;
 
     @ResponseBody
     @RequestMapping("/_addQrCode")
@@ -266,5 +269,89 @@ public class QrCodeHandler {
         responseJson.addResponseKeyValue("list", machineNumberService.qrcodProgressUpdate(logsBatchs));
         return responseJson;
     }
+
+
+    /**
+     * 查询质保卡信息
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("/select_card_list")
+    public ModelAndView selectWarrantyCardList(HttpServletRequest request,
+                                               @RequestParam(value = "pageNO", defaultValue = "1", required = false) int pageNO,
+                                               @RequestParam(value = "pageSize", defaultValue = "10", required = false) int pageSize) throws Exception {
+        ModelAndView mv = new ModelAndView("admin/qrCode/warrantyCardList");
+        StringBuilder url = new StringBuilder("/admin/qrCode/select_card_list?pageSize=");
+        url.append(pageSize);
+        WarrantyCard card = new WarrantyCard();
+
+        String userName = request.getParameter("userName");
+        String userEmail = request.getParameter("userEmail");
+        String cardBarcode = request.getParameter("cardBarcode");
+        if (StringUtils.isNotEmpty(userName)) {
+            mv.addObject("userName",userName);
+            url.append("&userName=");
+            url.append(userName);
+            card.setUserName(userName);
+        }
+        if (StringUtils.isNotEmpty(userEmail)) {
+            mv.addObject("userEmail",userEmail);
+            url.append("&userEmail=");
+            url.append(userEmail);
+            card.setUserEmail(userEmail);
+        }
+        if (StringUtils.isNotEmpty(cardBarcode)) {
+            mv.addObject("cardBarcode",cardBarcode);
+            url.append("&cardBarcode=");
+            url.append(cardBarcode);
+            card.setCardBarcode(cardBarcode);
+        }
+
+        //获取换新时间期限
+        ShopSystemRule renewRule =  systemService.selectOneShopRuleById(242);
+        //获取质保时间期限
+        ShopSystemRule endRule =  systemService.selectOneShopRuleById(243);
+
+        PageBean page = new PageBean();
+        page.setPageNumber(pageNO);
+        page.setPageSize(pageSize);
+        page.initRecordBegin();
+        card.setPage(page);
+
+        //分页查询质保卡集合
+        List<WarrantyCard> cardList = machineNumberService.listWarrantyCard(card);
+
+        //添加质保结束时间和包换时间
+        if (cardList != null && cardList.size() > 0) {
+            for (WarrantyCard warrantyCard : cardList) {
+                if (warrantyCard.getCardSaleTime() != null) {
+                    warrantyCard.setCardEndTime(updateDate(warrantyCard.getCardSaleTime(),endRule.getRuleNum().intValue()));
+                    warrantyCard.setCardRenewTime(updateDate(warrantyCard.getCardSaleTime(),renewRule.getRuleNum().intValue()));
+                }
+            }
+        }
+
+        url.append("&pageNO=");
+        mv.addObject("cardList",cardList);
+        mv.addObject("pageSize",machineNumberService.WarrantyCardCount(card));
+        mv.addObject("pageNO",pageNO);
+        mv.addObject("url",url.toString());
+        return mv;
+    }
+
+    /**
+     * 修改日期 增加月
+     * @param date
+     * @param month
+     * @return
+     * @throws Exception
+     */
+    public Date updateDate(Date date,int month) throws Exception {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.MONTH, month);
+        return calendar.getTime();
+    }
 }
 

+ 1 - 0
wateroPF-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml

@@ -219,6 +219,7 @@
 		<typeAlias type="com.iamberry.wechat.core.entity.machineNumber.MachineNumber" alias="MachineNumber"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.machineNumber.MachineNumberLogs" alias="MachineNumberLogs"/>
         <typeAlias type="com.iamberry.wechat.core.entity.product.QrcodeGift" alias="QrcodeGift"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.machineNumber.WarrantyCard" alias="WarrantyCard"/>
 		<!-- 水机租赁 -->
 		<typeAlias type="com.iamberry.wechat.core.entity.rent.RentTypeInfo" alias="RentTypeInfo"/>
 		<package name="com.iamberry.wechat.core.entity.rent"/>

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 1
wateroPF-wechat-web/src/main/resources/platform.properties


+ 88 - 0
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/qrCode/warrantyCardList.jsp

@@ -0,0 +1,88 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+         pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Expires" content="0">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Cache-control" content="no-cache">
+    <meta http-equiv="Cache" content="no-cache">
+    <link href="${pageContext.request.contextPath }/common/admin/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${pageContext.request.contextPath }/common/admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <link href="${pageContext.request.contextPath }/common/admin/css/style.css" rel="stylesheet" type="text/css" />
+    <link href="${pageContext.request.contextPath }/common/admin/lib/Hui-iconfont/1.0.1/iconfont.css" rel="stylesheet" type="text/css" />
+    <title>生产批次二维码列表</title>
+    <style>
+        .exp1{font-size:18px;}
+    </style>
+</head>
+<body>
+<nav class="breadcrumb">
+    <i class="Hui-iconfont">&#xe67f;</i>
+    首页 <span class="c-gray en">&gt;</span>
+    质保卡管理 <span class="c-gray en">&gt;</span>
+    质保卡列表
+    <a class="btn btn-success radius r mr-20" style="line-height: 1.6em; margin-top: 3px" href="javascript:location.replace(location.href);" title="刷新">
+        <i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<div class="pd-20">
+    <div class="text-c">
+        <form action="${pageContext.request.contextPath }/admin/qrCode/select_card_list" method="post" id="myForm">
+            <input type="text" name="cardBarcode" id="cardBarcode" value="${cardBarcode }" placeholder="质保卡号" style="width: 150px" class="input-text">
+            <input type="text" name="userName" id="userName" value="${userName }" placeholder="姓名" style="width: 150px" class="input-text">
+            <input type="text" name="userEmail" id="userEmail" value="${userEmail }" placeholder="邮箱" style="width: 150px" class="input-text">
+             <button name="" id="submitBtn" class="btn btn-success" type="submit">
+                 <i class="Hui-iconfont">&#xe665;</i> 搜索
+             </button>
+        </form>
+    </div>
+    <div class="mt-20">
+        <table class="table table-border table-bordered table-bg table-hover table-sort">
+            <thead>
+            <tr class="text-c">
+                <th width="100">质保卡号</th>
+                <th width="100">姓名</th>
+                <th width="100">邮箱</th>
+                <th width="100">购买日期</th>
+                <th width="100">换新截止日期</th>
+                <th width="100">十年质保日期</th>
+            </tr>
+            </thead>
+            <tbody id="listid">
+            <c:if test="${ !(empty cardList)}">
+                <c:forEach items="${cardList}" var="card">
+                    <tr>
+                        <td class="text-c" width="100">${card.cardBarcode }</td>
+                        <td class="text-c" width="100">${card.userName }</td>
+                        <td class="text-c" width="100">${card.userEmail }</td>
+                        <td class="text-c" width="100"><fmt:formatDate value="${card.cardSaleTime }" pattern="yyyy-MM-dd" /></td>
+                        <td class="text-c" width="100"><fmt:formatDate value="${card.cardRenewTime }" pattern="yyyy-MM-dd" /></td>
+                        <td class="text-c" width="100"><fmt:formatDate value="${card.cardEndTime }" pattern="yyyy-MM-dd" /></td>
+                    </tr>
+                </c:forEach>
+            </c:if>
+            </tbody>
+        </table>
+    </div>
+    <div align="right" style="padding-top: 10px;">
+        <%@include file="/common/other/paper/pager.jsp"%>
+    </div>
+</div>
+<script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/layer/1.9.3/layer.js"></script>
+<script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/My97DatePicker/WdatePicker.js"></script>
+<script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/H-ui.js"></script>
+<script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/H-ui.admin.js"></script>
+<script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/js/jquery.PrintArea.js"></script>
+<script type="text/javascript">
+
+</script>
+</body>
+</html>

+ 35 - 28
wateroPF-wechat-web/src/main/webapp/view/add_machine.html

@@ -101,7 +101,7 @@
 
 	var check = false,alert_msg='';
 	var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
-	var uname = /^[\u4e00-\u9fa5]{1,12}$/; //中文英文
+	var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
     var email=/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,18}$/;
 	var code = /^[0-9]{4}$/; //数字
 	mui.ready(function(){
@@ -129,38 +129,45 @@
                 timeout: 15000,
                 success: function(dt) {
                     if (dt.status) {
-                        console.log(dt);
                         var num = dt.data.num;
                         var txtTime = dt.data.txtTime;
-                        var text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
+                        var text = '';
+                        if (dt.data.num > 0) {
+                            text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
+						} else {
+                            mui.alert('未搜索到订单,请确认后提交,如有疑问,请联系公众号客服!');
+                            return;
+						}
                         var btnArray = ['否', '是'];
                         mui.confirm(text, '提示', btnArray, function(e) {
-                            var data_all = {
-                                "phoneCode":$('#ipt-code').val(),
-                                "userName":$('#ipt-name').val(),
-                                "userTel":$('#ipt-phone').val(),
-                                "userEmail":$('#ipt-email').val(),
-								"txtTime":txtTime
-                            };
-                            $.ajax({
-                                type: 'post',
-                                url: base_path + '/qrcode/add_warranty_card',
-                                data:data_all,
-                                dataType: 'json',
-                                timeout: 15000,
-                                success: function(dt) {
-                                    if (dt.status) {
-                                        mui.openWindow({
-                                            url: '/wateroPF/view/warranty_card.html'
-                                        })
-                                    } else {
-                                        mui.alert(dt.message);
+                            if (e.index == 1) {
+                                var data_all = {
+                                    "phoneCode":$('#ipt-code').val(),
+                                    "userName":$('#ipt-name').val(),
+                                    "userTel":$('#ipt-phone').val(),
+                                    "userEmail":$('#ipt-email').val(),
+                                    "txtTime":txtTime
+                                };
+                                $.ajax({
+                                    type: 'post',
+                                    url: base_path + '/qrcode/add_warranty_card',
+                                    data:data_all,
+                                    dataType: 'json',
+                                    timeout: 15000,
+                                    success: function(dt) {
+                                        if (dt.status) {
+                                            mui.openWindow({
+                                                url: '/wateroPF/view/warranty_card.html'
+                                            })
+                                        } else {
+                                            mui.alert(dt.message);
+                                        }
+                                    },
+                                    error: function(xhr, type, errorThrown) {
+                                        mui.alert("请检查网络或刷新页面重试!");
                                     }
-                                },
-                                error: function(xhr, type, errorThrown) {
-                                    mui.alert("请检查网络或刷新页面重试!");
-                                }
-                            });
+                                });
+                            }
                         });
                     } else {
                         mui.alert(dt.message);

+ 2 - 2
wateroPF-wechat-web/src/main/webapp/view/warranty_card.html

@@ -87,10 +87,10 @@
                                 +'<img src="//s.iamberry.com/wateroPF/new/images/shop/warranty_card.png"/>'
                                 +'<span class="jiqi" style=""><span class="iconfont icon-chanpintiyan"></span></span>'
                                 +'<span class="warranty-name">美国WaterO可移动智能净水机</span>'
-                                +'<span class="warranty-tips">一年只换不修、三年包修、十年保</span>'
+                                +'<span class="warranty-tips">一年只换不修、十年保</span>'
 								+'<div class="date-list">'
                                 +'<div>购买日期<br/>' + dateFormat(this.cardSaleTime) + '</div>'
-                                +'<div>换新截止<br/>' + dateFormat(this.cardRenewTime) + '</div>'
+                                +'<div>一年包换<br/>' + dateFormat(this.cardRenewTime) + '</div>'
                                 +'<div>质保截止<br/>' + dateFormat(this.cardEndTime) + '</div>'
                                 +'</div>'
                                 +'<div class="warranty-number">NO.&nbsp;&nbsp;'+ datePhone(this.cardBarcode) +'</div>'