Forráskód Böngészése

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

wangxiaoming 7 éve
szülő
commit
133ae0a899
19 módosított fájl, 761 hozzáadás és 400 törlés
  1. 2 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/PtsBomService.java
  2. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/PtsBomServiceImpl.java
  3. 3 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/PtsBomMapper.java
  4. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsBomMapper.xml
  5. 10 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachinePartsController.java
  6. 53 25
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/ptras_update.ftl
  7. 36 0
      wateroPF-common-core/src/main/java/com/iamberry/wechat/core/entity/machineNumber/MachineNumber.java
  8. 50 0
      wateroPF-common-core/src/main/java/com/iamberry/wechat/core/entity/machineNumber/WarrantyCard.java
  9. 9 3
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/machineNumberMapper.xml
  10. 10 0
      wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/QrCodeHandler.java
  11. 136 1
      wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/qrcode/MachineQrCodeHandler.java
  12. 17 5
      wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/statistics/OrderStatisticsHandler.java
  13. 5 1
      wateroPF-wechat-web/src/main/resources/platform.properties
  14. 28 11
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/qrCode/warrantyCardList.jsp
  15. 24 27
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/statistics/salesStatistics.jsp
  16. 19 1
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/clearing.html
  17. 1 1
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/vip_center.html
  18. 346 323
      wateroPF-wechat-web/src/main/webapp/view/add_machine.html
  19. 2 2
      wateroPF-wechat-web/src/main/webapp/view/guanzhu.html

+ 2 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/PtsBomService.java

@@ -26,4 +26,6 @@ public interface PtsBomService {
     //修改bom
     Integer updatePtsBom(PtsBom ptsBom);
 
+    //删除bom单关联的零件 根据零件id
+    Integer deleteBomComponentByComponentsId(Integer componentsId);
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/PtsBomServiceImpl.java

@@ -81,4 +81,9 @@ public class PtsBomServiceImpl implements PtsBomService {
         flag = ptsBomMapper.savePtsBomComponentsList(ptsBomComponentsList);
         return flag;
     }
+
+    @Override
+    public Integer deleteBomComponentByComponentsId(Integer componentsId) {
+        return ptsBomMapper.deleteBomComponentByComponentsId(componentsId);
+    }
 }

+ 3 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/PtsBomMapper.java

@@ -31,4 +31,7 @@ public interface PtsBomMapper {
     //删除bom单关联的零件
     Integer deletePtsBomComponentByBomId(Integer bomId);
 
+    //删除bom单关联的零件 根据零件id
+    Integer deleteBomComponentByComponentsId(Integer componentsId);
+
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsBomMapper.xml

@@ -115,4 +115,9 @@
             `bom_id` = #{bomId}
     </delete>
 
+    <delete id="deleteBomComponentByComponentsId" parameterType="java.lang.Integer">
+        DELETE FROM tb_rst_pts_bom_components WHERE components_id = #{componentsId}
+    </delete>
+
+
 </mapper>

+ 10 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachinePartsController.java

@@ -8,6 +8,7 @@ import com.iamberry.rst.core.pts.PtsSupplier;
 import com.iamberry.rst.faces.pts.MachinePartsService;
 import com.iamberry.rst.faces.pts.MachineSupplierService;
 import com.iamberry.rst.faces.pts.ProduceService;
+import com.iamberry.rst.faces.pts.PtsBomService;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -36,6 +37,9 @@ public class AdminMachinePartsController {
 
     @Autowired
     private MachineSupplierService machineSupplierService;
+
+    @Autowired
+    private PtsBomService ptsBomService;
     /**
      * 进入添加机器零件页面
      * **/
@@ -149,6 +153,12 @@ public class AdminMachinePartsController {
                 return responseJson;
             }
         }
+        //如果改变了产品或者状态,则删掉关联的bom单
+        if(components.getComponentsStatus() != ptsComponents.getComponentsStatus() ||
+                components.getProduceId() != components.getProduceId()){
+            ptsBomService.deleteBomComponentByComponentsId(componentsId);
+        }
+
         ptsComponents.setComponentsId(componentsId);
         ptsComponents.setComponentsCost(ptsComponents.getComponentsCost() * 100);//元转换为分
         ptsComponents.setComponentsCreateTime(new Date());

+ 53 - 25
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/ptras_update.ftl

@@ -29,6 +29,7 @@
                     <option value ="">暂无产品,请到生产产品列表添加产品</option>
                 </#if>
 				</select>
+                <input type="hidden" value="${ptsComponents.produceId!''}" name="oldProduceId" id="oldProduceId">
 				</span> </div>
         </div>
 
@@ -79,12 +80,13 @@
 					<label for="sex-2">正常使用</label>
 				</div>
 			</div>
+            <input type="hidden" value="${ptsComponents.componentsStatus!''}" name="oldComponentsStatus" id="oldComponentsStatus">
 		</div>
 
         <div class="row cl">
             <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件成本:</label>
             <div class="formControls col-xs-8 col-sm-9">
-                <input type="text" class="input-text" value="${ptsComponents.componentsCost!''}"  id="componentsCost" name="componentsCost" placeholder="请输入零件成本,单位为元">
+                <input type="text" class="input-text" value="${ptsComponents.componentsCost/100!''}"  id="componentsCost" name="componentsCost" placeholder="请输入零件成本,单位为元">
             </div>
         </div>
         <div class="row cl">
@@ -228,31 +230,57 @@
 		focusCleanup:true,
 		success:"valid",
 		submitHandler:function(form){
+           var produceId = $("#produceId").val();
+           var oldProduceId =   $("#oldProduceId").val();
+           var componentsStatus=$('input:radio[name="componentsStatus"]:checked').val();
+           var oldComponentsStatus =   $("#oldComponentsStatus").val();
+           if(produceId != oldProduceId || componentsStatus != oldComponentsStatus){
+               layer.confirm('修改产品或零件状态后会影响到以往的BOM清单,是否修改?',function(index){
+                   $.ajax({
+                       cache: true,
+                       type: "POST",
+                       data: $("#form-parts-update").serialize(),
+                       url: "${path}/admin/machineParts/update_machineParts",
+                       async: false,
+                       success: function(data){
+                           if (data.returnCode == 200) {
+                               layer.msg('修改成功!', {icon: 1, time: 2000});
+                               window.location.href = '${path}/admin/machineParts/_parts_list'
+                           }else if(data.returnCode == 501){
+                               layer.msg('该零件已保存,不能重复!', {icon: 2, time: 2000});
+                           }else{
+                               layer.msg('修改失败!', {icon: 2, time: 2000});
+                           }
+                       },
+                       error: function(XmlHttpRequest, textStatus, errorThrown){
+                           layer.msg('修改失败!', {icon: 2, time: 2000});
+                       }
+                   });
+               });
+           }else {
+               $.ajax({
+                   cache: true,
+                   type: "POST",
+                   data: $("#form-parts-update").serialize(),
+                   url: "${path}/admin/machineParts/update_machineParts",
+                   async: false,
+                   success: function(data){
+                       if (data.returnCode == 200) {
+                           layer.msg('修改成功!', {icon: 1, time: 2000});
+                           window.location.href = '${path}/admin/machineParts/_parts_list'
+                       }else if(data.returnCode == 501){
+                           layer.msg('该零件已保存,不能重复!', {icon: 2, time: 2000});
+                       }else{
+                           layer.msg('修改失败!', {icon: 2, time: 2000});
+                       }
+                   },
+                   error: function(XmlHttpRequest, textStatus, errorThrown){
+                       layer.msg('修改失败!', {icon: 2, time: 2000});
+                   }
+               });
+           }
+
 
-			//$(form).ajaxSubmit();
-            //var index = parent.layer.getFrameIndex(window.name);
-			//parent.$('.btn-refresh').click();
-            //parent.layer.close(index);
-            $.ajax({
-                cache: true,
-                type: "POST",
-                data: $("#form-parts-update").serialize(),
-                url: "${path}/admin/machineParts/update_machineParts",
-                async: false,
-                success: function(data){
-                    if (data.returnCode == 200) {
-                        layer.msg('修改成功!', {icon: 1, time: 2000});
-                        window.location.href = '${path}/admin/machineParts/_parts_list'
-                    }else if(data.returnCode == 501){
-                        layer.msg('该零件已保存,不能重复!', {icon: 2, time: 2000});
-                    }else{
-                        layer.msg('修改失败!', {icon: 2, time: 2000});
-                    }
-                },
-                error: function(XmlHttpRequest, textStatus, errorThrown){
-                    layer.msg('修改失败!', {icon: 2, time: 2000});
-                }
-            });
 
 		}
 	});

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

@@ -25,8 +25,44 @@ public class MachineNumber implements Serializable {
     private Date numberCreateTime;              //创建时间
     private Date numberSubTime;                 //关注时间
     private Integer numberIsPrint;              //是否打印
+    private Integer numberWatero;               //水质范围
+    private String numberProvince;              //省
+    private String numberCity;                  //市
+    private String numberDistrict;              //区
     private PageBean page = new PageBean();		//分页
 
+    public String getNumberProvince() {
+        return numberProvince;
+    }
+
+    public void setNumberProvince(String numberProvince) {
+        this.numberProvince = numberProvince;
+    }
+
+    public String getNumberCity() {
+        return numberCity;
+    }
+
+    public void setNumberCity(String numberCity) {
+        this.numberCity = numberCity;
+    }
+
+    public String getNumberDistrict() {
+        return numberDistrict;
+    }
+
+    public void setNumberDistrict(String numberDistrict) {
+        this.numberDistrict = numberDistrict;
+    }
+
+    public Integer getNumberWatero() {
+        return numberWatero;
+    }
+
+    public void setNumberWatero(Integer numberWatero) {
+        this.numberWatero = numberWatero;
+    }
+
     public PageBean getPage() {
         return page;
     }

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

@@ -32,8 +32,58 @@ public class WarrantyCard implements Serializable {
 
     private String userEmail;   //邮箱
 
+    private Integer cardWatero; //水质范围
+
+    private String cardProvince;//省
+
+    private String cardCity;    //市
+
+    private String cardLocation;    //地址
+
+    private String cardDistrict;//区
+
     private PageBean page;      //分页信息
 
+    public String getCardLocation() {
+        return cardLocation;
+    }
+
+    public void setCardLocation(String cardLocation) {
+        this.cardLocation = cardLocation;
+    }
+
+    public Integer getCardWatero() {
+        return cardWatero;
+    }
+
+    public void setCardWatero(Integer cardWatero) {
+        this.cardWatero = cardWatero;
+    }
+
+    public String getCardProvince() {
+        return cardProvince;
+    }
+
+    public void setCardProvince(String cardProvince) {
+        this.cardProvince = cardProvince;
+    }
+
+    public String getCardCity() {
+        return cardCity;
+    }
+
+    public void setCardCity(String cardCity) {
+        this.cardCity = cardCity;
+    }
+
+    public String getCardDistrict() {
+        return cardDistrict;
+    }
+
+    public void setCardDistrict(String cardDistrict) {
+        this.cardDistrict = cardDistrict;
+    }
+
     public PageBean getPage() {
         return page;
     }

+ 9 - 3
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/machineNumberMapper.xml

@@ -35,7 +35,11 @@ PUBLIC
 		number_barcode cardBarcode,
 		number_sales_time cardSaleTime,
 		user_email userEmail,
-		user_name userName
+		user_name userName,
+		number_watero cardWatero,
+		number_province cardProvince,
+		number_city cardCity,
+		number_district cardDistrict
 	</sql>
 
 	<!-- 统计批次及已完成条数-->
@@ -250,13 +254,15 @@ PUBLIC
 		INSERT INTO tb_iamberry_user_machine_number
 		(
 			number_open_id,number_qrcode,number_barcode,number_batch,number_sales_time,
-			number_status,number_create_time,number_sub_time
+			number_status,number_create_time,number_sub_time,number_watero,
+			number_province,number_city,number_district
 		)
 		VALUES
 		<foreach collection="list" item="item" index="index" separator="," >
 			(
 			#{item.numberOpenId},#{item.numberQrcode},#{item.numberBarcode},#{item.numberBatch},
-			#{item.numberSalesTime},#{item.numberStatus},NOW(),NOW()
+			#{item.numberSalesTime},#{item.numberStatus},NOW(),NOW(),#{item.numberWatero},
+			#{item.numberProvince},#{item.numberCity},#{item.numberDistrict}
 			)
 		</foreach>
 	</insert>

+ 10 - 0
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/admin/QrCodeHandler.java

@@ -325,6 +325,16 @@ public class QrCodeHandler {
         //添加质保结束时间和包换时间
         if (cardList != null && cardList.size() > 0) {
             for (WarrantyCard warrantyCard : cardList) {
+                StringBuilder location = new StringBuilder(warrantyCard.getCardProvince());
+                if (StringUtils.isNotEmpty(warrantyCard.getCardCity())) {
+                    location.append("-");
+                    location.append(warrantyCard.getCardCity());
+                }
+                if (StringUtils.isNotEmpty(warrantyCard.getCardDistrict())) {
+                    location.append("-");
+                    location.append(warrantyCard.getCardDistrict());
+                }
+                warrantyCard.setCardLocation(location.toString());
                 if (warrantyCard.getCardSaleTime() != null) {
                     warrantyCard.setCardEndTime(updateDate(warrantyCard.getCardSaleTime(),endRule.getRuleNum().intValue()));
                     warrantyCard.setCardRenewTime(updateDate(warrantyCard.getCardSaleTime(),renewRule.getRuleNum().intValue()));

+ 136 - 1
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/qrcode/MachineQrCodeHandler.java

@@ -1,17 +1,20 @@
 package com.iamberry.wechat.handles.qrcode;
 
+import com.iamberry.app.tool.util.HttpUtility;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.WechatUtils;
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.machineNumber.MachineNumber;
 import com.iamberry.wechat.core.entity.machineNumber.WarrantyCard;
 import com.iamberry.wechat.core.entity.member.Member;
-import com.iamberry.wechat.core.entity.wx.QRCJson;
 import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.machineNumber.MachineNumberService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.order.CodeService;
 import com.iamberry.wechat.tools.*;
+import org.apache.commons.lang.StringUtils;
+import org.json.JSONException;
+import org.json.JSONObject;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
@@ -22,7 +25,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.MessageFormat;
+import org.apache.http.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.regex.Matcher;
@@ -268,6 +276,63 @@ public class MachineQrCodeHandler {
         return msg;
     }
 
+    @RequestMapping("/_add_warranty")
+    public void addWarrantyUI(HttpServletRequest request,HttpServletResponse res) throws ServletException, IOException {
+        Member memberInfo = WechatUtils.getUserBySession(request);
+        //查询用户信息
+        memberInfo = memberService.getMemberByUserOpenId(memberInfo.getUserOpenid());
+        if (memberInfo != null && memberInfo.getUserStatus() == 2) {
+            request.getRequestDispatcher("/view/add_machine.html").forward(request,res);
+        } else {
+            request.getRequestDispatcher("/view/guanzhu.html").forward(request,res);
+        }
+    }
+
+    /**
+     * 获取ip地址
+     * @param request
+     * @return
+     */
+    public static String getIp(HttpServletRequest request) {
+        String ip = request.getHeader("x-forwarded-for");
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getRemoteAddr();
+        }
+        // 获取ip地址, 若多级代理,第一个IP为客户端真实IP,多个IP按照','分割
+        if (ip != null && ip.indexOf(",") != -1) {
+            ip = ip.split(",")[0];
+        }
+        return ip;
+    }
+
+    /**
+     * 获取地址信息
+     * @param ip
+     * @return
+     */
+    public static Map<String,Object> getLocation(String ip) {
+        Map<String,Object> map = new HashMap<String,Object>();
+        try {
+            JSONObject json = new JSONObject(
+                    HttpUtility.httpsGet(MessageFormat.format(NameUtils.getConfig("SINA_IP_URL"),ip)));
+            String province = json.getString("province");
+            String city = json.getString("city");
+            String district = json.getString("district");
+            map.put("province",province);
+            map.put("city",city);
+            map.put("district",district);
+        } catch (ParseException | IOException | JSONException e) {
+            System.out.println("------------获取地址出错------------");
+        }
+        return map;
+    }
+
     /**
      * 发送手机验证码
      * @param request
@@ -297,6 +362,50 @@ public class MachineQrCodeHandler {
     }
 
     /**
+     * 根据经纬度通过腾讯地址位置
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/get_location_by_qq")
+    public ResultMsg getLocationByQq(HttpServletRequest request) throws Exception {
+        ResultMsg msg = new ResultMsg();
+        Map<String,Object> map = new HashMap<String,Object>();
+        //纬度
+        String latitude = request.getParameter("latitude");
+        //经度
+        String longitude = request.getParameter("longitude");
+        if (!StringUtils.isNotEmpty(latitude)) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("纬度不能为空!");
+            return msg;
+        }
+        if (!StringUtils.isNotEmpty(longitude)) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("经度不能为空!");
+            return msg;
+        }
+        JSONObject json = new JSONObject(
+                HttpUtility.httpsGet(MessageFormat.format(NameUtils.getConfig("LOCATION_QQ_URL"),latitude,longitude)));
+        JSONObject resultJson = json.getJSONObject("result");
+        JSONObject locationJson = resultJson.getJSONObject("ad_info");
+        String numberProvince = locationJson.getString("province");
+        String numberCity = locationJson.getString("city");
+        String numberDistrict = locationJson.getString("district");
+        System.out.println("locationJson="+locationJson);
+        map.put("numberProvince",numberProvince);
+        map.put("numberCity",numberCity);
+        map.put("numberDistrict",numberDistrict);
+        msg.setData(map);
+        msg.setResultCode(ResultInfo.SUCCESSCODE);
+        msg.setStatus(true);
+        return msg;
+    }
+
+    /**
      * 查询百胜订单信息
      * @param request
      * @param member
@@ -359,6 +468,11 @@ public class MachineQrCodeHandler {
     public ResultMsg addWarrantyCard(HttpServletRequest request, Member member) throws Exception {
         ResultMsg msg = new ResultMsg();
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String numberWatero = request.getParameter("numberWatero");
+        String numberProvince = request.getParameter("numberProvince");
+        String numberCity = request.getParameter("numberCity");
+        String numberDistrict = request.getParameter("numberDistrict");
+
         List<MachineNumber> list = new ArrayList<MachineNumber>();
         Member memberInfo = WechatUtils.getUserBySession(request);
         String txtTime = request.getParameter("txtTime");
@@ -372,6 +486,23 @@ public class MachineQrCodeHandler {
         }
         member.setUserId(memberInfo.getUserId());
 
+        if (!StringUtils.isNotEmpty(numberProvince)) {
+            String ip = getIp(request);
+            Map<String,Object> locations = getLocation(ip);
+            if (StringUtils.isNotEmpty((String)locations.get("province"))) {
+                numberProvince = (String)locations.get("province");
+                numberCity = (String)locations.get("city");
+                numberDistrict = (String)locations.get("district");
+            }
+        }
+
+        if (!StringUtils.isNotEmpty(numberWatero)) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("水质范围为空,请重新填写水质范围!");
+            return msg;
+        }
+
         //验证手机验证码是否正确
         ResponseJson code = codeService.validCode(member.getUserTel(),member.getPhoneCode());
         if (code.getReturnCode() != 200) {
@@ -389,6 +520,10 @@ public class MachineQrCodeHandler {
                 MachineNumber machineNumber = new MachineNumber();
                 machineNumber.setNumberOpenId(memberInfo.getUserOpenid());
                 machineNumber.setNumberSalesTime(format.parse(times[i]));
+                machineNumber.setNumberWatero(Integer.parseInt(numberWatero));
+                machineNumber.setNumberProvince(numberProvince);
+                machineNumber.setNumberCity(numberCity);
+                machineNumber.setNumberDistrict(numberDistrict);
                 list.add(machineNumber);
             }
         }

+ 17 - 5
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/statistics/OrderStatisticsHandler.java

@@ -41,6 +41,12 @@ public class OrderStatisticsHandler {
         return mv;
     }
 
+    /**
+     * 查询本周,上周,今年的统计数量
+     * @param request
+     * @return
+     * @throws Exception
+     */
     @ResponseBody
     @RequestMapping("/select_order_statistics")
     public ResultMsg selectOrderStatistics(HttpServletRequest request) throws Exception {
@@ -55,7 +61,7 @@ public class OrderStatisticsHandler {
         try {
             Collections.sort(listWeekNum, new StatisticsSalesOrderUtil());
         } catch (Exception e) {
-            e.printStackTrace();
+            System.out.println("-------------集合排序失败------------");
         }
 
         //查询上周统计数据
@@ -66,14 +72,14 @@ public class OrderStatisticsHandler {
         try {
             Collections.sort(listLastWeekNum, new StatisticsSalesOrderUtil());
         } catch (Exception e) {
-            e.printStackTrace();
+            System.out.println("-------------集合排序失败------------");
         }
         //封装一年的销售数据
         List<StatisticsSalesOrder> listYearNum = getYearList();
         try {
             Collections.sort(listYearNum, new StatisticsSalesOrderUtil());
         } catch (Exception e) {
-            e.printStackTrace();
+            System.out.println("-------------集合排序失败------------");
         }
 
         map.put("listWeekNum",listWeekNum);
@@ -85,6 +91,12 @@ public class OrderStatisticsHandler {
         return msg;
     }
 
+    /**
+     * 按月查询统计数量
+     * @param request
+     * @return
+     * @throws Exception
+     */
     @ResponseBody
     @RequestMapping("/select_order_by_month")
     public ResultMsg selectOrderByMonth(HttpServletRequest request) throws Exception {
@@ -99,7 +111,7 @@ public class OrderStatisticsHandler {
         try {
             Collections.sort(listMonthNum, new StatisticsSalesOrderUtil());
         } catch (Exception e) {
-            e.printStackTrace();
+            System.out.println("-------------集合排序失败------------");
         }
         msg.setData(listMonthNum);
         msg.setStatus(true);
@@ -113,6 +125,7 @@ public class OrderStatisticsHandler {
      * @return
      */
     public List<StatisticsSalesOrder> getMonthList(String month) throws Exception {
+        month = month + "-01";
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         StatisticsSalesOrder salesOrder = new StatisticsSalesOrder();
         salesOrder.setSalesDate(format.parse(month));
@@ -172,7 +185,6 @@ public class OrderStatisticsHandler {
                     }
                 }
                 if (flag) {
-                    System.out.println("weekDate="+weekDate[i]);
                     StatisticsSalesOrder salOrder = new StatisticsSalesOrder();
                     salOrder.setSalesBlackNum(0);
                     salOrder.setSalesBlueNum(0);

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 5 - 1
wateroPF-wechat-web/src/main/resources/platform.properties


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

@@ -47,24 +47,41 @@
         <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="60">质保卡号</th>
+                <th width="60">姓名</th>
                 <th width="100">邮箱</th>
-                <th width="100">购买日期</th>
-                <th width="100">换新截止日期</th>
-                <th width="100">十年质保日期</th>
+                <th width="60">水质范围</th>
+                <th width="100">地址</th>
+                <th width="60">购买日期</th>
+                <th width="60">换新截止日期</th>
+                <th width="60">十年质保日期</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>
+                        <td class="text-c" width="60">${card.cardBarcode }</td>
+                        <td class="text-c" width="60">${card.userName }</td>
+                        <td class="text-c" width="60">${card.userEmail }</td>
+                        <td class="text-c" width="60">
+                            <c:if test="${card.cardWatero == 1 }">
+                                0-100 TDS
+                            </c:if>
+                            <c:if test="${card.cardWatero == 2 }">
+                                101-250 TDS
+                            </c:if>
+                            <c:if test="${card.cardWatero == 3 }">
+                                251-500 TDS
+                            </c:if>
+                            <c:if test="${card.cardWatero == 4 }">
+                                501 TDS 以上
+                            </c:if>
+                        </td>
+                        <td class="text-c" width="100">${card.cardLocation }</td>
+                        <td class="text-c" width="60"><fmt:formatDate value="${card.cardSaleTime }" pattern="yyyy-MM-dd" /></td>
+                        <td class="text-c" width="60"><fmt:formatDate value="${card.cardRenewTime }" pattern="yyyy-MM-dd" /></td>
+                        <td class="text-c" width="60"><fmt:formatDate value="${card.cardEndTime }" pattern="yyyy-MM-dd" /></td>
                     </tr>
                 </c:forEach>
             </c:if>

+ 24 - 27
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/statistics/salesStatistics.jsp

@@ -51,7 +51,7 @@
 	<div class="charts-box1">
 	<div id="container2" style="width:1045px;height:400px;display: inline-block;">
 	</div>
-	<input type="text" value="" placeholder="选择月份" class="select-date" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d',onpicked:updateMonthList})" id="select-month" readonly="readonly"/>
+	<input type="text" value="" placeholder="选择月份" class="select-date" onClick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM',maxDate:'%y-%M',minDate:'%y-01',onpicked:updateMonthList})" id="select-month" readonly="readonly"/>
 	<button type="button" class="my-btn" id="btn-3">查看饼状图</button>
 	</div>
 	
@@ -172,7 +172,7 @@
                 text: '共销售' + week_sum + '台机器'
             },
             tooltip: {
-                pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                pointFormat: '{point.y}台: <b>{point.percentage:.1f}%</b>'
             },
             plotOptions: {
                 pie: {
@@ -228,7 +228,7 @@
                     }]
                 },
                 tooltip: {
-                    pointFormat: '{series.name:<b>{point.y:.1f}</b>}'
+                    pointFormat: '{point.y}台'
                 },
                 legend: {
                     layout: 'vertical',
@@ -237,7 +237,7 @@
                     borderWidth: 0
                 },
                 series: [{
-                    name: '本周销量',
+                    name: '本周销量',
                     data: week_num,
                     color:'#fba62e'
                 }, {
@@ -268,7 +268,7 @@
                     text: '共销售' + week_sum + '台机器'
                 },
                 tooltip: {
-                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                    pointFormat: '{point.y}台: <b>{point.percentage:.1f}%</b>'
                 },
                 plotOptions: {
                     pie: {
@@ -321,7 +321,7 @@
                 }]
             },
             tooltip: {
-                pointFormat: '{series.name:<b>{point.y:.1f}</b>}'
+                pointFormat: '{point.y}台'
             },
             legend: {
                 layout: 'vertical',
@@ -330,7 +330,7 @@
                 borderWidth: 0
             },
             series: [{
-                name: '上周销量',
+                name: '上周销量',
                 data: last_week_num,
                 color:'#fba62e'
             }, {
@@ -367,7 +367,7 @@
                     text: '共销售' + last_week_sum + '台机器'
                 },
                 tooltip: {
-                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                    pointFormat: '{point.y}台: <b>{point.percentage:.1f}%</b>'
                 },
                 plotOptions: {
                     pie: {
@@ -418,7 +418,7 @@
                     }]
                 },
                 tooltip: {
-                    pointFormat: '{series.name:<b>{point.y:.1f}</b>}'
+                    pointFormat: '{point.y}台'
                 },
                 legend: {
                     layout: 'vertical',
@@ -427,7 +427,7 @@
                     borderWidth: 0
                 },
                 series: [{
-                    name: '本周销量',
+                    name: '本周销量',
                     data: last_week_num,
                     color:'#fba62e'
                 }, {
@@ -475,7 +475,7 @@
                 }]
             },
             tooltip: {
-                pointFormat: '{series.name}'
+                pointFormat: '{point.y}台'
             },
             legend: {
                 layout: 'vertical',
@@ -484,7 +484,7 @@
                 borderWidth: 0
             },
             series: [{
-                name: year + '年销量',
+                name: year + '年销量',
                 data: year_num,
                 color:'#fba62e'
             }, {
@@ -535,7 +535,7 @@
                     }]
                 },
                 tooltip: {
-                    pointFormat: '{series.name}'
+                    pointFormat: '{point.y}台'
                 },
                 legend: {
                     layout: 'vertical',
@@ -544,7 +544,7 @@
                     borderWidth: 0
                 },
                 series: [{
-                    name: year + '年销量',
+                    name: year + '年销量',
                     data: year_num,
                     color:'#fba62e'
                 }, {
@@ -574,7 +574,7 @@
                     text: '共销售' + year_sum + '台机器'
                 },
                 tooltip: {
-                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                    pointFormat: '{point.y}台: <b>{point.percentage:.1f}%</b>'
                 },
                 plotOptions: {
                     pie: {
@@ -666,7 +666,7 @@
                 }]
             },
             tooltip: {
-                pointFormat: '{series.name}'
+                pointFormat: '{point.y}台'
             },
             legend: {
                 layout: 'vertical',
@@ -675,7 +675,7 @@
                 borderWidth: 0
             },
             series: [{
-                name: text_month + '月销量',
+                name: text_month + '月销量',
                 data: month_num,
                 color:'#fba62e'
             }, {
@@ -726,7 +726,7 @@
                     }]
                 },
                 tooltip: {
-                    pointFormat: '{series.name}'
+                    pointFormat: '{point.y}台'
                 },
                 legend: {
                     layout: 'vertical',
@@ -735,7 +735,7 @@
                     borderWidth: 0
                 },
                 series: [{
-                    name: text_month + '月销量',
+                    name: text_month + '月销量',
                     data: month_num,
                     color:'#fba62e'
                 }, {
@@ -766,7 +766,7 @@
                     text: '共销售' + month_sum + '台机器'
                 },
                 tooltip: {
-                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                    pointFormat: '{point.y}台: <b>{point.percentage:.1f}%</b>'
                 },
                 plotOptions: {
                     pie: {
@@ -841,7 +841,7 @@
                             text: '共销售' + month_sum + '台机器'
                         },
                         tooltip: {
-                            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
+                            pointFormat: '{point.y}台: <b>{point.percentage:.1f}%</b>'
                         },
                         plotOptions: {
                             pie: {
@@ -891,7 +891,7 @@
                             }]
                         },
                         tooltip: {
-                            pointFormat: '{series.name}'
+                            pointFormat: '{point.y}台'
                         },
                         legend: {
                             layout: 'vertical',
@@ -900,7 +900,7 @@
                             borderWidth: 0
                         },
                         series: [{
-                            name: text_month + '月销量',
+                            name: text_month + '月销量',
                             data: month_num,
                             color:'#fba62e'
                         }, {
@@ -962,10 +962,7 @@ function valueDate(now) {
         if (month < 10) {
             month = '0' + month;
 		}
-		if (date < 10) {
-            date = '0' + date;
-        }
-        return   year+"-"+month+"-"+date;
+        return   year+"-"+month;
     }
 </script>
 </body>

+ 19 - 1
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/clearing.html

@@ -87,6 +87,12 @@
 				</li>
 			</ul>
 		</div>
+		<!--国庆节弹窗开始-->
+		<div id="my-dalog" style="position: fixed;width: 100%;height: 100%;left: 0;top:0;text-align: center;display: none;background-color:rgba(0,0,0,.7);">
+			<img width="80%" src="//s.iamberry.com/wateroPF/new/images/shop/dalog-2017-10-01.png" />
+			<div style="padding-top: 10px;color: #fff;"><span class="iconfont icon-guanbi" id="btn-close"></span></div>
+		</div>
+		<!--国庆节弹窗结束-->
 		<script src="//s.iamberry.com/wateroPF/js/mui.min.js?v=2016111701"></script>
 		<script src="//s.iamberry.com/wateroPF/js/jquery-2.1.1.min.js"></script>
 		<script src="//s.iamberry.com/wateroPF/js/shop/main.js?v=2016111701"></script>
@@ -94,6 +100,18 @@
 		<script src="//s.iamberry.com/wateroPF/js/shop/layer.js"></script>
 		<!--<script src="//s.iamberry.com/wateroPF/js/shop/clearing.js?v=201612030009"></script>-->
 		<script src="//s.iamberry.com/wateroPF/new/js/page/clearing.js?v=201612030009"></script>
-
+	    <script>
+			var now=new Date();
+            var   month=now.getMonth()+1;
+            var   date=now.getDate();
+			if(month>8 && month<11){
+			    if((month==9 && date==30) || (month==10 && (date>0 && date<7))){
+			        $("#my-dalog").show();
+				}
+			}
+            mui('body').on('tap', '#btn-close', function() {
+                $("#my-dalog").hide();
+            });
+		</script>
 	</body>
 </html>

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/vip_center.html

@@ -131,7 +131,7 @@
 				<div class="iconfont icon-wodequanbao"></div>
 				我的券包
 			</a>
-			<a  id="myMachine" class="mui-control-item" href="/wateroPF/view/warranty_card.html">
+			<a  id="myMachine" class="mui-control-item" href="/wateroPF/wechat/qrcode/_add_warranty">
 				<div class="iconfont icon-zhi"></div>
 				质保卡
 			</a>

+ 346 - 323
wateroPF-wechat-web/src/main/webapp/view/add_machine.html

@@ -1,115 +1,119 @@
 <!DOCTYPE html>
 <html>
-	<head>
-		<meta charset="UTF-8">
-		<title>领取质保卡</title>
-		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/css/mui.min.css?v=2017092601" />
-		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/css/mui.picker.min.css?v=2017092601" />
-		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/new/css/iconfont.css?v=2017092601" />
-		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/css/style.css?v=2017092601" />
-		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/new/css/personal_information.css?v=2017092601" />
-		<style>
-			h4{margin-top:5px;margin-bottom: 5px;font-size: 20px;}
-			.btn-pull-code{position: absolute;right: 10px;top:7px;height:34px;padding:0 6px;border-radius: 5px; line-height: 34px;font-size: 12px; color: #fff; background: #24cae9;}
-			.btn-pull-code .active{background: #c8c8c8;}
-			.icon-fuxuankuang a{color: #24cae9;}
-			.icon-yanse,.icon-youhui,.icon-fuxuankuang,.icon-jiage,.icon-songhuo{font-size: 15px;padding-left: 22px;}
-			.icon-yanse:before,.icon-fuxuankuang:before,.icon-youhui:before,.icon-jiage:before,.icon-songhuo:before{font-size: 18px;color: #24cae9;position: absolute;left: 0;width: 20px;height: 18px;}
-			.try_price{color: #f1436c;}
-			.ul_radio{width: 100%;}
-			.ul_radio li{width:21%;height: 55px;margin: 0 1%;border: 1px solid rgba(0,0,0,.1);border-radius: 5px; display: inline-block;position: relative;font-family:"iconfont" !important;font-style:normal;-webkit-font-smoothing: antialiased;}
-			.ul_radio .active:after{position: absolute;right: 0;bottom: 0;content: "\e66f";color: #f1436c;line-height: 1;font-size: 20px;}
+<head>
+	<meta charset="UTF-8">
+	<title>领取质保卡</title>
+	<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
+	<meta name="apple-mobile-web-app-capable" content="yes">
+	<meta name="apple-mobile-web-app-status-bar-style" content="black">
+	<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/css/mui.min.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/css/mui.picker.min.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/new/css/iconfont.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/css/style.css?v=2017092601" />
+	<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wateroPF/new/css/personal_information.css?v=2017092601" />
+	<style>
+		h4{margin-top:5px;margin-bottom: 5px;font-size: 20px;}
+		.btn-pull-code{position: absolute;right: 10px;top:7px;height:34px;padding:0 6px;border-radius: 5px; line-height: 34px;font-size: 12px; color: #fff; background: #24cae9;}
+		.btn-pull-code .active{background: #c8c8c8;}
+		.icon-fuxuankuang a{color: #24cae9;}
+		.icon-yanse,.icon-youhui,.icon-fuxuankuang,.icon-jiage,.icon-songhuo{font-size: 15px;padding-left: 22px;}
+		.icon-yanse:before,.icon-fuxuankuang:before,.icon-youhui:before,.icon-jiage:before,.icon-songhuo:before{font-size: 18px;color: #24cae9;position: absolute;left: 0;width: 20px;height: 18px;}
+		.try_price{color: #f1436c;}
+		.ul_radio{width: 100%;}
+		.ul_radio li{width:21%;height: 55px;margin: 0 1%;border: 1px solid rgba(0,0,0,.1);border-radius: 5px; display: inline-block;position: relative;font-family:"iconfont" !important;font-style:normal;-webkit-font-smoothing: antialiased;}
+		.ul_radio .active:after{position: absolute;right: 0;bottom: 0;content: "\e66f";color: #f1436c;line-height: 1;font-size: 20px;}
 
-			.head-img {position: absolute;bottom: 15px;right: 13px;width: 60px;height: 60px;border-radius: 30px;border: 3px solid #E5E5E5;}
-			.mui-table-view .mui-media .mui-media-body{height: 41px;line-height: 41px;color: #333;}
-			.mui-table-view .mui-media .mui-media-body>span{color: #f1436c;}
-			.my-table-view-try{border-top: .6em solid #f0f0f0;border-bottom: .6em solid #f0f0f0;padding-bottom: 10px;}
-			.my-table-view-try .mui-table-view-cell{padding:10px 13px 10px 30px !important;font-size: 12px;}
-			.mui-table-view-cell:after,.mui-table-view:before,.mui-table-view:after,.mui-input-group .mui-input-row:after,.mui-input-group:before,.mui-input-group:after{display: none;}
-			.mui-table-view-cell>a:not(.mui-btn){color: #666;margin: -15px -15px;}
-			.mui-table-view-cell>a .mui-pull-right{color: #999;font-size: 14px;}
-			#btn_submit{color: #fff;padding: 10px 0;font-size: 18px;background: #24cae9;width: 70%;margin:40px auto 0 auto;}
-			.mui-btn-block.mui-active,.btn-pull-code.mui-active{background-color: #c8c8c8 !important;}
-			.icon-fuxuankuang.mui-active:before{color: #c8c8c8;}
-			.mui-content-padded{margin: 10px 13px;}
-			.tips{padding: 25px 10px;background: #36a4c6;text-align: center;color: #fff;}
-			.mui-input-group .mui-input-row {height: 50px;padding: 5px 0;border: 1px solid rgba(0,0,0,.1); margin:10px 0;}
-			.mui-input-row label{color: #666;width:27%;font-size: 15px;}
-			.mui-input-row label~input{width:73%;}
-			.mui-input-row label~input::-webkit-input-placeholder{font-size: 15px;}
-			.triangle-down {width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;}
-			.my-arrowright{position: absolute;right: 18px;top: 28px;color: #666;pointer-events:none;}
-			.mui-btn-red{background-color: #e9004c;}
-			.icon-saoma{position: absolute;right: 0;top:0;padding: 12px;color: #55c0dc;}
-			.mui-icon-arrowdown{position: absolute;right: 0;top:0;padding: 12px;color: #999;pointer-events: none;}
-		</style>
-	</head>
-	<body style="background: #fff;">
-	<div class="loading-bg">
-			<div class="mui-loading">
-				<div class="mui-spinner">
-				</div>
-				&nbsp;&nbsp;加载中...
-			</div>
+		.head-img {position: absolute;bottom: 15px;right: 13px;width: 60px;height: 60px;border-radius: 30px;border: 3px solid #E5E5E5;}
+		.mui-table-view .mui-media .mui-media-body{height: 41px;line-height: 41px;color: #333;}
+		.mui-table-view .mui-media .mui-media-body>span{color: #f1436c;}
+		.my-table-view-try{border-top: .6em solid #f0f0f0;border-bottom: .6em solid #f0f0f0;padding-bottom: 10px;}
+		.my-table-view-try .mui-table-view-cell{padding:10px 13px 10px 30px !important;font-size: 12px;}
+		.mui-table-view-cell:after,.mui-table-view:before,.mui-table-view:after,.mui-input-group .mui-input-row:after,.mui-input-group:before,.mui-input-group:after{display: none;}
+		.mui-table-view-cell>a:not(.mui-btn){color: #666;margin: -15px -15px;}
+		.mui-table-view-cell>a .mui-pull-right{color: #999;font-size: 14px;}
+		#btn_submit{color: #fff;padding: 10px 0;font-size: 18px;background: #24cae9;width: 70%;margin:40px auto 0 auto;}
+		.mui-btn-block.mui-active,.btn-pull-code.mui-active{background-color: #c8c8c8 !important;}
+		.icon-fuxuankuang.mui-active:before{color: #c8c8c8;}
+		.mui-content-padded{margin: 10px 13px;}
+		.tips{padding: 25px 10px;background: #36a4c6;text-align: center;color: #fff;}
+		.mui-input-group .mui-input-row {height: 50px;padding: 5px 0;border: 1px solid rgba(0,0,0,.1); margin:10px 0;}
+		.mui-input-row label{color: #666;width:27%;font-size: 15px;}
+		.mui-input-row label~input{width:73%;}
+		.mui-input-row label~input::-webkit-input-placeholder{font-size: 15px;}
+		.triangle-down {width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;}
+		.my-arrowright{position: absolute;right: 18px;top: 28px;color: #666;pointer-events:none;}
+		.mui-btn-red{background-color: #e9004c;}
+		.icon-saoma{position: absolute;right: 0;top:0;padding: 12px;color: #55c0dc;}
+		.mui-icon-arrowdown{position: absolute;right: 0;top:0;padding: 12px;color: #999;pointer-events: none;}
+	</style>
+</head>
+<body style="background: #fff;">
+<div class="loading-bg">
+	<div class="mui-loading">
+		<div class="mui-spinner">
+		</div>
+		&nbsp;&nbsp;加载中...
 	</div>
+</div>
 
-					<div class="mui-content" style="background: #fff;">
-				<div class="tips more">
-					<h4>现在完善机器信息!</h4>
-					<span>尊享WaterO全面服务保障</span>
-					<div></div>
-				</div>
-				<div class="mui-content-padded">
-					<div><span class="iconfont icon-dingwei" style="color: #f00;"></span>地址:<span id="wx-ads"></span></div>
-				<form class="mui-input-group">
-					<div class="mui-input-row">
-						<label>您的姓名</label>
-						<input type="text" maxlength="12" class="mui-input-clear" placeholder="请填写您的姓名" id="ipt-name">
-					</div>
-					<div class="mui-input-row">
-						<label>您的邮箱</label>
-						<input type="text" maxlength="32" class="mui-input-clear" placeholder="请填写您的邮箱" id="ipt-email">
-					</div>
-					<div class="mui-input-row">
-						<label>水质范围</label>
-						<input type="text"  placeholder="请选择您的水质范围" id="ipt-water" txtvalue="" readonly="readonly">
-					</div>
-					<div class="mui-input-row">
-						<label>手机号码</label>
-						<input type="tel" maxlength="11" class="mui-input-clear" placeholder="请填写物流发货时预留的手机号" id="ipt-phone">
-					</div>
-					<div class="mui-input-row">
-						<label>验&nbsp;&nbsp;证&nbsp;&nbsp;码</label>
-						<input type="text" maxlength="4" placeholder="请输入验证码" id="ipt-code">
-						<span class="btn-pull-code" id="pull-code">获取验证码</span>
-					</div>
-					<div class="">
-						<label style="color: red;"><b>*注意:</b><label id="txt_message">请填写与您物流信息相符的联系电话,否则将会无法识别您的产品信息</label></label>
-					</div>
-
-				</form>
-				</div>
-				<div class="mui-content-padded">
-					<button type="button" data-loading-icon="mui-spinner mui-spinner-custom" data-loading-text="提交中" class="mui-btn mui-btn-block mui-btn-outlined mui-active" id="btn_submit" disabled="disabled" >提交</button>
-				</div>
+<div class="mui-content" style="background: #fff;">
+	<div class="tips more">
+		<h4>现在完善机器信息!</h4>
+		<span>尊享WaterO全面服务保障</span>
+		<div></div>
+	</div>
+	<div class="mui-content-padded">
+		<div><span class="iconfont icon-dingwei" style="color: #f00;"></span>地址:<span id="wx-ads"></span></div>
+		<form class="mui-input-group">
+			<div class="mui-input-row">
+				<label>姓名</label>
+				<input type="text" maxlength="12" class="mui-input-clear" placeholder="请填写您的姓名" id="ipt-name">
+			</div>
+			<div class="mui-input-row">
+				<label>邮箱</label>
+				<input type="text" maxlength="32" class="mui-input-clear" placeholder="请填写您的邮箱" id="ipt-email">
+			</div>
+			<div class="mui-input-row">
+				<label>水质</label>
+				<input type="text"  placeholder="请选择您的水质范围" id="ipt-water" txtvalue="" readonly="readonly">
+			</div>
+			<div class="mui-input-row">
+				<label>手机号</label>
+				<input type="tel" maxlength="11" class="mui-input-clear" placeholder="请填写物流发货时预留的手机号" id="ipt-phone">
+			</div>
+			<div class="mui-input-row">
+				<label>验&nbsp;&nbsp;证&nbsp;&nbsp;码</label>
+				<input type="text" maxlength="4" placeholder="请输入验证码" id="ipt-code">
+				<span class="btn-pull-code" id="pull-code">获取验证码</span>
 			</div>
+			<div id="div_message" style="display: none;">
+				<label style="color: red;"><b>*注意:</b><label id="txt_message">请填写与您物流信息相符的联系电话,否则将会无法识别您的产品信息</label></label>
+			</div>
+
+		</form>
+	</div>
+	<div class="mui-content-padded">
+		<button type="button" data-loading-icon="mui-spinner mui-spinner-custom" data-loading-text="提交中" class="mui-btn mui-btn-block mui-btn-outlined mui-active" id="btn_submit" disabled="disabled" >提交</button>
+	</div>
+</div>
 
-	<script src="//s.iamberry.com/wateroPF/js/mui.min.js?v=2016101701"></script>
-	<script src="//s.iamberry.com/wateroPF/js/mui.picker.min.js"></script>
-	<script src="//s.iamberry.com/wateroPF/js/jquery-2.1.1.min.js"></script>
-	<script src="//s.iamberry.com/wateroPF/js/shop/main.js?v=2016101701"></script>
-	<script src="//s.iamberry.com/wateroPF/js/shop/wechat-utils-1.0.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/mui.min.js?v=2016101701"></script>
+<script src="//s.iamberry.com/wateroPF/js/mui.picker.min.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/jquery-2.1.1.min.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/shop/main.js?v=2016101701"></script>
+<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/shop/wechat-utils-1.0.js"></script>
 <script type="text/javascript">
 
-	var check = false,alert_msg='';
-	var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
-	var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+    var check = false,alert_msg='';
+    var mobile=/^(13|14|15|18)[0-9]{9}$/; //手机号码
+    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(){
+    var code = /^[0-9]{4}$/; //数字
+    var numberProvince = null;
+    var numberCity = null;
+    var numberDistrict = null;
+    mui.ready(function(){
         //选择示例
         var userPicker = new mui.PopPicker();
         userPicker.setData([{
@@ -117,10 +121,10 @@
             text: '0-100 TDS'
         }, {
             value: '2',
-            text: '101-300 TDS'
+            text: '101-250 TDS'
         }, {
             value: '3',
-            text: '301-500 TDS'
+            text: '251-500 TDS'
         }, {
             value: '4',
             text: '501 TDS 以上 '
@@ -130,64 +134,80 @@
             userPicker.show(function(items) {
                 document.getElementById('ipt-water').value = items[0].text;
                 $('#ipt-water').attr('txtvalue',items[0].value);
-                //返回 false 可以阻止选择框的关闭
-                //return false;
+                var txt_message = '';
+                switch (items[0].value) {
+                    case '1':
+                        txt_message = '您家水质良好。';
+                        break;
+                    case '2':
+                        txt_message = '您家水质偏差,WaterO可彻底净化,请使用柠檬酸每3个月清洗。';
+                        break;
+                    case '3':
+                        txt_message = '您家水质较差,WaterO可彻底净化,请使用柠檬酸每2个月清洗。';
+                        break;
+                    case '4':
+                        txt_message = '您家水质很差,WaterO可彻底净化,请使用柠檬酸每1个月清洗。';
+                        break;
+                }
+                $('#txt_message').html(txt_message);
+                $('#div_message').show();
             });
         }, false);
-
-
-		document.querySelector('.loading-bg').style.display='none';
-	});
-window.onload=function(){
-    wx.getLocation({
-        type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
-        success: function (res) {
-            var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
-            var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
-            var speed = res.speed; // 速度,以米/每秒计
-            var accuracy = res.accuracy; // 位置精度
-            getLocation(latitude,longitude);
-        },
-        cancel: function (res) {
-            mui.alert('用户拒绝授权获取地理位置');
-        }
+        document.querySelector('.loading-bg').style.display='none';
     });
-};
-function getLocation(latitude,longitude){
-    $.ajax({
-        type: 'get',
-        url: 'http://apis.map.qq.com/ws/geocoder/v1/',
-        data:{
-            "location" : latitude+","+longitude,
-			"coord_type":1,
-			"key":'NDABZ-4NBR6-EC2SH-MUIX3-CDL6E-IJB7C',
-			"get_poi":0
-        },
-        dataType: 'json',
-        timeout: 15000,
-        success: function(dt) {
-            console.log(dt);
-            if(dt.status==0){
-                $("#wx-ads").text(dt.result.ad_info.province+"-"+dt.result.ad_info.city+"-"+dt.result.ad_info.district);
-			}
-        },
-        error: function(xhr, type, errorThrown) {
-            console.log("请检查网络或刷新页面重试!");
-        }
+
+    wx.ready(function () {
+        // 7.2 获取当前地理位置
+        wx.getLocation({
+            success: function (res) {
+                var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
+                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
+                var speed = res.speed; // 速度,以米/每秒计
+                var accuracy = res.accuracy; // 位置精度
+                getlocation(latitude,longitude);
+            },
+            cancel: function (res) {
+                $("#wx-ads").text('定位失败');
+            }
+        });
     });
-}
-	mui('body').on('tap', '#btn_submit', function() {
-		change_input();
-		if(check){
-			console.log("提交");
-			mui(this).button('loading');
-			setTimeout(function() {
-        mui(this).button('reset');
-    }.bind(this), 2000);
-			//mui.alert("本批watero试用机为新机,请您在试用过程中足够爱惜,切勿刮划机身及损坏包装,感谢您的配合!");
-			var data_array = {
-				"userTel":$('#ipt-phone').val()
-			};
+
+    function getlocation(latitude,longitude){
+        var data_array = {
+            "latitude":latitude,
+			"longitude":longitude
+        };
+        $.ajax({
+            type: 'get',
+            url: base_path + '/qrcode/get_location_by_qq',
+			data:data_array,
+            dataType: 'json',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.status){
+                    numberProvince = dt.data.numberProvince;
+                    numberCity = dt.data.numberCity;
+                    numberDistrict = dt.data.numberDistrict;
+                    $("#wx-ads").text(numberProvince+"-"+numberCity+"-"+numberDistrict);
+                }
+            },
+            error: function(xhr, type, errorThrown) {
+                console.log("请检查网络或刷新页面重试!");
+            }
+        });
+    }
+    mui('body').on('tap', '#btn_submit', function() {
+        change_input();
+        if(check){
+            console.log("提交");
+            mui(this).button('loading');
+            setTimeout(function() {
+                mui(this).button('reset');
+            }.bind(this), 2000);
+            //mui.alert("本批watero试用机为新机,请您在试用过程中足够爱惜,切勿刮划机身及损坏包装,感谢您的配合!");
+            var data_array = {
+                "userTel":$('#ipt-phone').val()
+            };
             $.ajax({
                 type: 'post',
                 url: base_path + '/qrcode/select_efast_order_num',
@@ -201,10 +221,10 @@ function getLocation(latitude,longitude){
                         var text = '';
                         if (dt.data.num > 0) {
                             text = '您有'+ dt.data.num + '个订单,是否确认领取质保卡?';
-						} else {
+                        } else {
                             mui.alert('未搜索到订单,请确认后提交,如有疑问,请联系公众号客服!');
                             return;
-						}
+                        }
                         var btnArray = ['否', '是'];
                         mui.confirm(text, '提示', btnArray, function(e) {
                             if (e.index == 1) {
@@ -213,7 +233,10 @@ function getLocation(latitude,longitude){
                                     "userName":$('#ipt-name').val(),
                                     "userTel":$('#ipt-phone').val(),
                                     "userEmail":$('#ipt-email').val(),
-									"numberWatero":$('#ipt-water').attr('txtvalue'),
+                                    "numberWatero":$('#ipt-water').attr('txtvalue'),
+                                    "numberProvince":numberProvince,
+                                    "numberCity":numberCity,
+                                    "numberDistrict":numberDistrict,
                                     "txtTime":txtTime
                                 };
                                 $.ajax({
@@ -245,174 +268,174 @@ function getLocation(latitude,longitude){
                     mui.alert("请检查网络或刷新页面重试!");
                 }
             });
-		}else{
-			console.log("未通过");
-			mui.alert(alert_msg);
-		}
-	});
-	mui('body').on('tap', '#xieyi-dalog', function() {
-		mui.openWindow({
-			url: 'try_xieyi.html'
-		});
-	});
-$(".ul_radio li").each(function() {
-	$(this).on("click", function() {
-		$(this).addClass("active");
-		$(this).siblings().removeClass("active");
-	});
-});
-$(document).on('tap', '#btn-tongyi', function() {
-	var btn_submit=$("#btn_submit");
-	console.log($(this).hasClass("mui-active"));
-	if($(this).hasClass("mui-active")){
-		$(this).removeClass("mui-active");
-		btn_submit.removeClass("mui-active");
-	}else{
-		$(this).addClass("mui-active");
-		btn_submit.addClass("mui-active");
-	}
-});
-$(document).on('tap', '#pull-code', function() {
-	if($("#ipt-phone").val().trim()=="" &&(!$("#pull-code").hasClass("mui-active"))){
-		mui.alert("请填写手机号码");
-		return;
-	}else{
-		if(!mobile.test($("#ipt-phone").val().trim())){
-			mui.alert("手机号码不正确,请重新填写");
-			return;
-		}else{
-			if($(this).hasClass("mui-active")){
-				mui.alert();
-				return;
-			}else{
-				$(this).addClass("mui-active");
-                $('#btn_submit').removeClass("mui-active");
-                $('#btn_submit').removeAttr("disabled");
-				settime("pull-code");
-                $.ajax({
-                    type: 'post',
-                    url: base_path + '/qrcode/send_phone_code',
-					data:{
-                        "phone" : $("#ipt-phone").val()
-                    },
-                    dataType: 'json',
-                    timeout: 15000,
-                    success: function(dt) {
-                    },
-                    error: function(xhr, type, errorThrown) {
-                        mui.alert("请检查网络或刷新页面重试!");
-                    }
-                });
-			}
-		}
-	}
-});
-var countdown=60; 
-function settime(val) { 
-pullid=dc(val);
-if (countdown == 0) { 
-pullid.removeAttribute("disabled");
-pullid.className='btn-pull-code';
-pullid.innerText="获取验证码"; 
-countdown = 60; 
-return false;
-} else { 
-pullid.setAttribute("disabled", true); 
-pullid.className='btn-pull-code mui-active';
-pullid.innerText="重新发送(" + countdown + ")"; 
-countdown--; 
-} 
-setTimeout(function() { 
-settime(val) 
-},1000) 
-} 
-function change_input() {
-    //活动暂时结束   下次开启时注释这段代码就好了
-    /*alert_msg="活动已暂停,开始时间请联系客服";
-    check=false;
-    return false;*/
+        }else{
+            console.log("未通过");
+            mui.alert(alert_msg);
+        }
+    });
+    mui('body').on('tap', '#xieyi-dalog', function() {
+        mui.openWindow({
+            url: 'try_xieyi.html'
+        });
+    });
+    $(".ul_radio li").each(function() {
+        $(this).on("click", function() {
+            $(this).addClass("active");
+            $(this).siblings().removeClass("active");
+        });
+    });
+    $(document).on('tap', '#btn-tongyi', function() {
+        var btn_submit=$("#btn_submit");
+        console.log($(this).hasClass("mui-active"));
+        if($(this).hasClass("mui-active")){
+            $(this).removeClass("mui-active");
+            btn_submit.removeClass("mui-active");
+        }else{
+            $(this).addClass("mui-active");
+            btn_submit.addClass("mui-active");
+        }
+    });
+    $(document).on('tap', '#pull-code', function() {
+        if($("#ipt-phone").val().trim()=="" &&(!$("#pull-code").hasClass("mui-active"))){
+            mui.alert("请填写手机号码");
+            return;
+        }else{
+            if(!mobile.test($("#ipt-phone").val().trim())){
+                mui.alert("手机号码不正确,请重新填写");
+                return;
+            }else{
+                if($(this).hasClass("mui-active")){
+                    mui.alert();
+                    return;
+                }else{
+                    $(this).addClass("mui-active");
+                    $('#btn_submit').removeClass("mui-active");
+                    $('#btn_submit').removeAttr("disabled");
+                    settime("pull-code");
+                    $.ajax({
+                        type: 'post',
+                        url: base_path + '/qrcode/send_phone_code',
+                        data:{
+                            "phone" : $("#ipt-phone").val()
+                        },
+                        dataType: 'json',
+                        timeout: 15000,
+                        success: function(dt) {
+                        },
+                        error: function(xhr, type, errorThrown) {
+                            mui.alert("请检查网络或刷新页面重试!");
+                        }
+                    });
+                }
+            }
+        }
+    });
+    var countdown=60;
+    function settime(val) {
+        pullid=dc(val);
+        if (countdown == 0) {
+            pullid.removeAttribute("disabled");
+            pullid.className='btn-pull-code';
+            pullid.innerText="获取验证码";
+            countdown = 60;
+            return false;
+        } else {
+            pullid.setAttribute("disabled", true);
+            pullid.className='btn-pull-code mui-active';
+            pullid.innerText="重新发送(" + countdown + ")";
+            countdown--;
+        }
+        setTimeout(function() {
+            settime(val)
+        },1000)
+    }
+    function change_input() {
+        //活动暂时结束   下次开启时注释这段代码就好了
+		/*alert_msg="活动已暂停,开始时间请联系客服";
+		 check=false;
+		 return false;*/
 
 
-	$(".mui-input-group input").each(function(index) {
-		switch ($(this).attr("id")){
-			case "ipt-name":
-			if($(this).val().trim()==""){
-				alert_msg="请填写姓名";
-				check=false;
-				return false;
-			}else{
-				if(uname.test($(this).val())) {
-					check=true;
-				}else{
-					alert_msg="姓名格式不正确,请重新填写";
-					check=false;
-					return false;
-				}
-			}
-				break;
-            case "ipt-email":
-                if($(this).val().trim()==""){
-                    alert_msg="请填写您的邮箱";
-                    check=false;
-                    return false;
-                }else{
-                    if(email.test($(this).val())) {
-                        check=true;
+        $(".mui-input-group input").each(function(index) {
+            switch ($(this).attr("id")){
+                case "ipt-name":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写姓名";
+                        check=false;
+                        return false;
                     }else{
-                        alert_msg="邮箱格式不正确,请重新填写";
+                        if(uname.test($(this).val())) {
+                            check=true;
+                        }else{
+                            alert_msg="姓名格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-email":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写您的邮箱";
                         check=false;
                         return false;
+                    }else{
+                        if(email.test($(this).val())) {
+                            check=true;
+                        }else{
+                            alert_msg="邮箱格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
                     }
-                }
-                break;
-			case "ipt-phone":
-			if($(this).val().trim()==""){
-				alert_msg="请填写手机号";
-				check=false;
-				return false;
-			}else{
-				if(mobile.test($(this).val().trim())) {
-					check=true;
-				}else{
-					alert_msg="手机号码不正确,请重新填写";
-					check=false;
-					return false;
-				}
-			}
-				break;
-			case "ipt-code":
-			if($(this).val().trim()==""){
-				alert_msg="请填写验证码";
-				check=false;
-				return false;
-			}else{
-				if(code.test($(this).val().trim())) {
-					check=true;
-				}else{
-					alert_msg="验证码格式不正确,请重新填写";
-					check=false;
-					return false;
-				}
-			}
-				break;
-			default:
-				break;
-		}
-	});
-	var btn_submit = dc('btn_submit');
-	if(check) {
-		console.log("通过")
-	} else {
-		console.log(alert_msg);
-	}
-}
+                    break;
+                case "ipt-phone":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写手机号";
+                        check=false;
+                        return false;
+                    }else{
+                        if(mobile.test($(this).val().trim())) {
+                            check=true;
+                        }else{
+                            alert_msg="手机号码不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                case "ipt-code":
+                    if($(this).val().trim()==""){
+                        alert_msg="请填写验证码";
+                        check=false;
+                        return false;
+                    }else{
+                        if(code.test($(this).val().trim())) {
+                            check=true;
+                        }else{
+                            alert_msg="验证码格式不正确,请重新填写";
+                            check=false;
+                            return false;
+                        }
+                    }
+                    break;
+                default:
+                    break;
+            }
+        });
+        var btn_submit = dc('btn_submit');
+        if(check) {
+            console.log("通过")
+        } else {
+            console.log(alert_msg);
+        }
+    }
 
 
-var flag = false;
-var mask = mui.createMask(function() {
-	return flag;
-	}); //callback为用户点击蒙版时自动执行的回调;
-	 mui('body').on('tap', '#ipt-date', function() {
+    var flag = false;
+    var mask = mui.createMask(function() {
+        return flag;
+    }); //callback为用户点击蒙版时自动执行的回调;
+    mui('body').on('tap', '#ipt-date', function() {
         var th = this;
         var picker = new mui.DtPicker({
             type: "date", //设置日历初始视图模式
@@ -425,6 +448,6 @@ var mask = mui.createMask(function() {
             picker.dispose();
         });
     });
-	</script>
-	</body>
+</script>
+</body>
 </html>

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

@@ -2,7 +2,7 @@
 <html>
 	<head>
 		<meta charset="UTF-8">
-		<title>爱贝源</title>
+		<title>关注公众号</title>
 		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
 		<meta name="apple-mobile-web-app-capable" content="yes">
 		<meta name="apple-mobile-web-app-status-bar-style" content="black">
@@ -45,7 +45,7 @@
 				</div>
 				<div class="mui-content-padded mui-text-center">
 					<div id="qrcode-div" style="padding: 20px 0;">
-						<img width="40%" src="http://s.iamberry.com/wateroPF/images/system_qrcode.jpg" />
+						<img width="40%" src="//s.iamberry.com/wateroPF/images/system_qrcode.jpg" />
 						<p>长按识别二维码关注</p>
 					</div>
 					<ul type="1" class="mui-text-left my-ol">