Browse Source

个人中心 修改密码跟修改昵称

zhs 3 years ago
parent
commit
c546a42b52

+ 3 - 1
src/main/java/com/supplier/controller/IndexController.java

@@ -4,6 +4,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * 页面
@@ -18,7 +19,8 @@ public class IndexController {
      * @return
      */
     @RequestMapping("/index")
-    public String index(Model model){
+    public String index(Model model, String token){
+        model.addAttribute("token", token);
         return "indexHome";
     }
 

+ 94 - 0
src/main/java/com/supplier/controller/PersonalController.java

@@ -0,0 +1,94 @@
+package com.supplier.controller;
+
+import com.supplier.model.Supplier;
+import com.supplier.service.PersonalServce;
+import com.supplier.util.ParsingToken;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 个人信息页面
+ */
+@RestController
+@RequestMapping("personal")
+public class PersonalController {
+
+    @Autowired
+    private PersonalServce personalServce;
+
+    /**
+     * 查询个人信息
+     * @param request 获取头信息
+     * @return 返回结果
+     */
+    @GetMapping("getPresonalMessage")
+    public Map<String, Object> getPresonalMessage(HttpServletRequest request){
+        Map<String, Object> map = new HashMap<>();
+        try {
+            //获取token
+            Map<String, Object> userMap = ParsingToken.tokenParsing(request);
+            String code = (String) userMap.get("code");
+            Supplier supplier = personalServce.getPresonalMessage(code);
+            map.put("msg", "200");
+            map.put("data", supplier);
+        } catch (Exception e){
+            e.printStackTrace();
+            map.put("msg", "500");
+        }
+        return map;
+    }
+
+    /**
+     * 修改手机号
+     * @param supplier 参数
+     * @param request 获取头部信息
+     * @return 返回结果
+     */
+    @PutMapping("updatePhone")
+    public Map<String, Object> updatePhone(Supplier supplier,HttpServletRequest request){
+        Map<String, Object> map = new HashMap<>();
+        try{
+            //获取token
+            Map<String, Object> userMap = ParsingToken.tokenParsing(request);
+            supplier.setCode((String) userMap.get("code"));
+            int count = personalServce.checkCaptcha(supplier);//校验验证码是否正确
+            if(count > 0){
+                personalServce.updatePhone(supplier);
+                map.put("msg", "200");
+            } else {
+                map.put("errMsg", "手机号或验证码不正确");
+                map.put("msg", "300");
+            }
+        } catch (Exception e){
+            e.printStackTrace();
+            map.put("msg", "500");
+        }
+        return map;
+    }
+
+    /**
+     * 修改昵称
+     * @param supplier 参数
+     * @param request 请求头参数
+     * @return 返回结果
+     */
+    @PutMapping("updateName")
+    public Map<String, Object> updateName(Supplier supplier,HttpServletRequest request){
+        Map<String, Object> map = new HashMap<>();
+        try {
+            //获取token
+            Map<String, Object> userMap = ParsingToken.tokenParsing(request);
+            supplier.setCode((String) userMap.get("code"));
+            personalServce.updatePhone(supplier);
+            map.put("msg", "200");
+        } catch (Exception e){
+            e.printStackTrace();
+            map.put("msg", "500");
+        }
+        return map;
+    }
+}

+ 13 - 0
src/main/java/com/supplier/mapper/PersonalMapper.java

@@ -0,0 +1,13 @@
+package com.supplier.mapper;
+
+import com.supplier.model.Supplier;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PersonalMapper {
+    Supplier getPresonalMessage(String code);
+
+    void updatePhone(Supplier supplier);
+
+    int checkCaptcha(Supplier supplier);
+}

+ 78 - 0
src/main/java/com/supplier/model/Supplier.java

@@ -0,0 +1,78 @@
+package com.supplier.model;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 供应商
+ */
+@Data
+@Accessors(chain = true)
+public class Supplier implements Serializable {
+    /**
+     * 主键
+     */
+    private String id;
+    /**
+     * 用户编号
+     */
+    private String code;
+    /**
+     * 供应商性质
+     */
+    private String natureSupplier;
+    /**
+     * 联系人
+     */
+    private String contact;
+    /**
+     * 电话
+     */
+    private String phone;
+    /**
+     * 语言
+     */
+    private String language;
+    /**
+     * 证件类型
+     */
+    private String certificateType;
+    /**
+     * 证件
+     */
+    private String certificate;
+    /**
+     * 头像
+     */
+    private String headpir;
+    /**
+     * 建档日期
+     */
+    private String jdrq;
+    /**
+     * 用户状态
+     */
+    private String flag;
+    /**
+     * 验证码
+     */
+    private String captcha;
+    /**
+     * 发票
+     */
+    private String invoice;
+    /**
+     * token令牌
+     */
+    private String token;
+    /**
+     * 验证是否填写过信息
+     */
+    private String firstType;
+    /**
+     * 昵称
+     */
+    private String name;
+}

+ 11 - 0
src/main/java/com/supplier/service/PersonalServce.java

@@ -0,0 +1,11 @@
+package com.supplier.service;
+
+import com.supplier.model.Supplier;
+
+public interface PersonalServce {
+    Supplier getPresonalMessage(String code);
+
+    void updatePhone(Supplier supplier);
+
+    int checkCaptcha(Supplier supplier);
+}

+ 31 - 0
src/main/java/com/supplier/service/impl/PersonalServiceImpl.java

@@ -0,0 +1,31 @@
+package com.supplier.service.impl;
+
+import com.supplier.mapper.PersonalMapper;
+import com.supplier.model.Supplier;
+import com.supplier.service.PersonalServce;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+public class PersonalServiceImpl implements PersonalServce {
+
+    @Autowired
+    private PersonalMapper personalMapper;
+
+    @Override
+    public Supplier getPresonalMessage(String code) {
+        return personalMapper.getPresonalMessage(code);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updatePhone(Supplier supplier) {
+        personalMapper.updatePhone(supplier);
+    }
+
+    @Override
+    public int checkCaptcha(Supplier supplier) {
+        return personalMapper.checkCaptcha(supplier);
+    }
+}

+ 30 - 0
src/main/resources/config/mapping/PersonalMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.supplier.mapper.PersonalMapper">
+    <!-- 查询个人信息 -->
+    <select id="getPresonalMessage" parameterType="String" resultType="Supplier">
+        select * from sys_supplier where code = #{code}
+    </select>
+    <!-- 修改手机号 -->
+    <update id="updatePhone" parameterType="Supplier">
+        update sys_supplier
+        <set>
+            <trim suffixOverrides=",">
+                <if test="phone != null and phone != ''">
+                    phone = #{phone}
+                </if>
+                <if test="name != null and name != ''">
+                    name = #{name}
+                </if>
+            </trim>
+        </set>
+        where code = #{code}
+    </update>
+    <!-- 手机号登录验证是否第一次登录 -->
+    <select id="checkUser" resultType="Supplier">
+        select id,code,nature_supplier as natureSupplier,contact,phone,language,certificate_type as certificateType,certificate,headpir,jdrq,flag,captcha,invoice,name
+        from sys_supplier
+        where phone=#{phone} and captcha=#{captcha}
+    </select>
+</mapper>

+ 43 - 0
src/main/resources/static/css/personal/index.css

@@ -263,4 +263,47 @@ body,html{
     -webkit-box-shadow: inset 0 0 5px #FFFFFF;
     border-radius: 0;
     background: rgba(0,0,0,0.1);
+}
+.phoneBox {
+    width: 100%;
+}
+.phoneSmBox, .phoneSmBox2 {
+    width: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    font-size: 14px;
+    font-family: Microsoft YaHei UI;
+    font-weight: 400;
+    color: #666666;
+    height: 40px;
+    margin-bottom: 20px;
+}
+.phoneSmBox .layui-input {
+    width: 75%;
+    border-radius: 4px;
+}
+.phoneSmBox2 .layui-input {
+    width: 212px;
+    border-radius: 4px;
+}
+.getCode {
+    width: 136px;
+    height: 42px;
+    border: 1px solid #045EC0;
+    opacity: 1;
+    border-radius: 4px;
+    text-align: center;
+    line-height: 42px;
+    font-size: 14px;
+    font-family: Microsoft YaHei UI;
+    font-weight: 400;
+    color: #045EC0;
+    cursor: pointer;
+}
+.layui-layer-dialog {
+    border-radius: 10px!important;
+}
+.layui-layer-dialog {
+    min-width: 420px!important;
 }

+ 6 - 5
src/main/resources/static/js/demandForSingle/index/index.js

@@ -20,11 +20,12 @@ layui.use(["layer", "form", "laydate", 'laypage'], function(){
 
     //头部重置
     $(".reset_button").on("click", () => {
-        $("input[name=startTime]").val(""); //开始日期
-        $("input[name=endTime]").val(""); //结束日期
-        startTime = null;
-        endTime = null;
-        getQuotation(0, 7, startTime, endTime);//查询报价单数据渲染
+        // $("input[name=startTime]").val(""); //开始日期
+        // $("input[name=endTime]").val(""); //结束日期
+        // startTime = null;
+        // endTime = null;
+        // getQuotation(0, 7, startTime, endTime);//查询报价单数据渲染
+        window.open("/page/index/?token=1", " _blank");
     });
 
     getQuotation(0, 7, startTime, endTime);//查询报价单数据渲染

+ 4 - 4
src/main/resources/static/js/indexHome.js

@@ -16,11 +16,11 @@ function clickItem(obj){
         //个人信息特殊处理
         if($(obj).find("a cite").text() == "个人信息"){
             $(".select_button").removeClass("check_div");
-            $(".center_top").append("<div onClick='switchMenu(this)' name='个人信息' src='personalIndex' class=\"select_button check_div\">\n" +
+            $(".center_top").append("<div onClick='switchMenu(this)' name='个人信息' src='/page/personalIndex' class=\"select_button check_div\">\n" +
                 "                    <span>个人信息</span>\n" +
                 "                    <div class=\"close_button\" onclick='removeThis(this)'><i class=\"layui-icon layui-icon-close\"></i></div>\n" +
                 "                </div>");
-            $("iframe").attr("src", "personalIndex");
+            $("iframe").attr("src", "/page/personalIndex");
         }
     }else{
         $(obj).find("a cite img").attr("src",  "/images/indeHome/" + $(obj).attr("title") + ".png");
@@ -48,14 +48,14 @@ function iframeClick(obj){
     if(flag){
         $(".center_top div[name="+ thisClickName +"]").click();
     } else {
-        $(".center_top").append("<div onClick='switchMenu(this)' name="+ thisClickName +" src='demandForSingleIndex?idVal="+ idVal +"' class=\"select_button check_div\">\n" +
+        $(".center_top").append("<div onClick='switchMenu(this)' name="+ thisClickName +" src='/page/demandForSingleIndex?idVal="+ idVal +"' class=\"select_button check_div\">\n" +
             "                    <span>"+ thisClickName +"</span>\n" +
             "                    <div class=\"close_button\" onclick='removeThis(this)'><i class=\"layui-icon layui-icon-close\"></i></div>\n" +
             "                </div>");
     }
 
     if(parentName == "报价单"){
-        $("iframe").attr("src", "demandForSingleIndex?idVal=" + idVal);
+        $("iframe").attr("src", "/page/demandForSingleIndex?idVal=" + idVal);
     }
 }
 //头部菜单切换

+ 21 - 0
src/main/resources/static/js/personal/function.js

@@ -0,0 +1,21 @@
+//个人信息初始化
+function load(){
+    layer.load(3);
+    $.ajax({
+        url: "/personal/getPresonalMessage",
+        type: "get",
+        data: {},
+        headers: {"token": token},
+        dataType: "json",
+        success: (data) => {
+            if(data.msg == "200"){
+
+            }
+            layer.closeAll("loading");
+        },
+        error: () => {
+            layer.closeAll("loading");
+            layer.alert("网络错误 请联系管理员");
+        }
+    });
+}

+ 94 - 0
src/main/resources/static/js/personal/index.js

@@ -2,4 +2,98 @@ layui.use(["layer", "form", "laydate", 'laypage'], function() {
     $ = layui.$;
     form = layui.form;
     layer = layui.layer;
+
+    // load(); //信息初始化
+
+    //昵称修改
+    $(".name_div_val").on("click", (e) => {
+        let str = "<div class='phoneBox'>"
+            +"<div class='phoneSmBox'>请输入新昵称 <input type='text' name='nameVal' autocomplete='off' class='layui-input'></div>"
+            +"</div>";
+        layer.confirm(str,{
+            btn: ['取消', '确定'],
+            title:"提示",
+            skin: 'layclass'
+        }, function () {
+            layer.closeAll()
+        }, function(){
+            layer.load(3);
+            //修改
+            $.ajax({
+                url: "/personal/updatePhone",
+                type: "get",
+                data: {
+                    "name": $("input[name=nameVal]").val()
+                },
+                // contentType: "application/json",
+                headers: {"token": token},
+                dataType: "json",
+                success: (data) => {
+                    if(data.msg == "200"){
+                        layer.closeAll();
+                        parent.layer.msg("修改成功", {icon: 1});
+                        load();
+                    } else if(data.msg == "300"){
+                        layer.closeAll("loading");
+                        layer.msg(data.errMsg, {icon: 2});
+                    }
+
+                },
+                error: () => {
+                    layer.closeAll("loading");
+                    layer.alert("网络错误 请联系管理员");
+                }
+            });
+        });
+    });
+
+    //手机号修改
+    $(".phone_update").on("click", (e) => {
+        let str = "<div class='phoneBox'>"
+            +"<div class='phoneSmBox'>原手机号码 <input type='text' name='oldPhone' lay-verify='oldPhone' autocomplete='off' class='layui-input'></div>"
+            +"<div class='phoneSmBox'>新手机号码 <input type='text' name='phone' lay-verify='newPhone' autocomplete='off' class='layui-input'></div>"
+            +"<div class='phoneSmBox2'><input type='text' name='yzNum' lay-verify='yzNum' autocomplete='off' class='layui-input'>"
+            +"<div class='getCode'>获取验证码</div></div>"
+            +"</div>";
+        layer.confirm(str,{
+            btn: ['取消', '确定'],
+            title:"提示",
+            skin: 'layclass'
+        }, function () {
+            layer.closeAll()
+        }, function(){
+            layer.load(3);
+            //修改
+            $.ajax({
+                url: "/personal/updatePhone",
+                type: "get",
+                data: {
+                    "phone": $("input[name=phone]").val(),
+                    "captcha": $("input[name=yzNum]").val()
+                },
+                // contentType: "application/json",
+                headers: {"token": token},
+                dataType: "json",
+                success: (data) => {
+                    if(data.msg == "200"){
+                        layer.closeAll();
+                        parent.layer.msg("修改成功", {icon: 1});
+                        load();
+                    } else if(data.msg == "300"){
+                        layer.closeAll("loading");
+                        layer.msg(data.errMsg, {icon: 2});
+                    }
+
+                },
+                error: () => {
+                    layer.closeAll("loading");
+                    layer.alert("网络错误 请联系管理员");
+                }
+            });
+        });
+    });
+    //发送验证码
+    $(document).on("click", ".getCode", (e) => {
+
+    });
 });

+ 1 - 1
src/main/resources/templates/indexHome.html

@@ -134,7 +134,7 @@
             </div>
             <!-- iframe -->
             <div class="iframe_div">
-                <iframe src="homeIndex" class="layui-iframe"></iframe>
+                <iframe src="/page/homeIndex/" class="layui-iframe"></iframe>
             </div>
         </div>
     </div>

+ 0 - 1
src/main/resources/templates/personal/index.html

@@ -137,7 +137,6 @@
                     <div class="content_detail">户外活动·自然探索.蒙元文化体验|全境内蒙古-草原、沙漠、火山自然景观探索体验,内蒙古蒙元文化、历史探索体验</div>
                     <div class="amount_detail">¥4360</div>
                 </div>
-
             </div>
         </div>
     </div>