Parcourir la source

备份参考前

0714Star il y a 1 an
Parent
commit
bfc1847b94

+ 2 - 1
.idea/misc.xml

@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ASMSmaliIdeaPluginConfiguration">
     <asm skipDebug="true" skipFrames="true" skipCode="false" expandFrames="false" />
@@ -11,7 +12,7 @@
       </list>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>

+ 9 - 4
springboot/src/main/java/com/example/common/config/JwtInterceptor.java

@@ -11,6 +11,8 @@ import com.example.common.enums.RoleEnum;
 import com.example.entity.Account;
 import com.example.exception.CustomException;
 import com.example.service.AdminService;
+import com.example.service.AdminStoreService;
+import com.example.service.UserService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
@@ -30,7 +32,10 @@ public class JwtInterceptor implements HandlerInterceptor {
 
     @Resource
     private AdminService adminService;
-
+    @Resource
+    private AdminStoreService adminStoreService;
+    @Resource
+    private UserService userService;
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
         // 1. 从http请求的header中获取token
@@ -50,9 +55,9 @@ public class JwtInterceptor implements HandlerInterceptor {
             String userId = userRole.split("-")[0];
             String role = userRole.split("-")[1];
             // 根据userId查询数据库
-            if (RoleEnum.ADMIN.name().equals(role)) {
-                account = adminService.selectById(Integer.valueOf(userId));
-            }
+            if (RoleEnum.ADMIN.name().equals(role)) {account = adminService.selectById(Integer.valueOf(userId));}
+            else if(RoleEnum.STOREKEEPER.name().equals(role)){account = adminStoreService.selectById(Integer.valueOf(userId));}
+            else if(RoleEnum.USER.name().equals(role)){account = userService.selectById(Integer.valueOf(userId));}
         } catch (Exception e) {
             throw new CustomException(ResultCodeEnum.TOKEN_CHECK_ERROR);
         }

+ 0 - 1
springboot/src/main/java/com/example/common/enums/AuditState.java

@@ -14,7 +14,6 @@ public enum AuditState {
     FAIL("审核失败")
     ;
     AuditState(String state){
-
         this.state = state;
     }
     String state;

+ 3 - 0
springboot/src/main/java/com/example/controller/AuditsController.java

@@ -1,9 +1,11 @@
 package com.example.controller;
 
 import com.example.common.Result;
+import com.example.common.enums.AuditState;
 import com.example.entity.Audits;
 import com.example.service.AuditsService;
 import com.github.pagehelper.PageInfo;
+import com.github.pagehelper.util.StringUtil;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import java.util.List;
@@ -23,6 +25,7 @@ public class AuditsController {
      */
     @PostMapping("/add")
     public Result add(@RequestBody Audits audits) {
+        if(StringUtil.isEmpty(audits.getState())) audits.setState(AuditState.CHECKING.toString());
         auditsService.add(audits);
         return Result.success();
     }

+ 5 - 79
springboot/src/main/java/com/example/entity/Audits.java

@@ -1,10 +1,13 @@
 package com.example.entity;
 
+import lombok.Data;
+
 import java.io.Serializable;
 
 /**
  * 申请审核表
 */
+@Data
 public class Audits implements Serializable {
     private static final long serialVersionUID = 1L;
 
@@ -28,85 +31,8 @@ public class Audits implements Serializable {
     private String keeperName;
     /** 审核状态 */
     private String state;
+    /**  管理员id */
+    private Integer adminId;
 
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getStoreAddress() {
-        return storeAddress;
-    }
-
-    public void setStoreAddress(String storeAddress) {
-        this.storeAddress = storeAddress;
-    }
-
-    public String getIdcard() {
-        return idcard;
-    }
-
-    public void setIdcard(String idcard) {
-        this.idcard = idcard;
-    }
-
-    public String getBusinessLicense() {
-        return businessLicense;
-    }
-
-    public void setBusinessLicense(String businessLicense) {
-        this.businessLicense = businessLicense;
-    }
-
-    public String getReason() {
-        return reason;
-    }
-
-    public void setReason(String reason) {
-        this.reason = reason;
-    }
-
-    public String getPicsUrl() {
-        return picsUrl;
-    }
-
-    public void setPicsUrl(String picsUrl) {
-        this.picsUrl = picsUrl;
-    }
-
-    public String getCameraUrl() {
-        return cameraUrl;
-    }
-
-    public void setCameraUrl(String cameraUrl) {
-        this.cameraUrl = cameraUrl;
-    }
-
-    public Integer getStoreId() {
-        return storeId;
-    }
-
-    public void setStoreId(Integer storeId) {
-        this.storeId = storeId;
-    }
-
-    public String getKeeperName() {
-        return keeperName;
-    }
-
-    public void setKeeperName(String keeperName) {
-        this.keeperName = keeperName;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-    public void setState(String state) {
-        this.state = state;
-    }
 
 }

+ 1 - 1
springboot/src/main/java/com/example/entity/User.java

@@ -6,7 +6,7 @@ import java.math.BigDecimal;
 /**
  * 客户表
 */
-public class User implements Serializable {
+public class User extends Account implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /** 用户id */

+ 1 - 1
springboot/src/main/resources/application-druid.yml

@@ -9,7 +9,7 @@ spring:
       master:
         url: jdbc:mysql://localhost:3306/fruit_farmer?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
         username: root
-        password: 425605
+        password: 0714@Xhy
       # 从库数据源
       slave:
         # 从数据源开关/默认关闭

+ 7 - 0
springboot/src/main/resources/js/auditState.js

@@ -0,0 +1,7 @@
+const auditState =  {
+    CHECKING :"正在审核",
+    UPLOADED:"已上传",
+    PASS:"审核通过",
+    FAIL:"审核失败"
+}
+export default  auditState

+ 8 - 1
springboot/src/main/resources/mapper/AuditsMapper.xml

@@ -5,7 +5,7 @@
 <mapper namespace="com.example.mapper.AuditsMapper">
 
     <sql id="Base_Column_List">
-        id,store_address,idcard,business_license,reason,pics_url,camera_url,store_id,keeper_name,state
+        id,store_address,idcard,business_license,reason,pics_url,camera_url,store_id,keeper_name,state,admin_id
     </sql>
 
     <select id="selectAll" resultType="com.example.entity.Audits">
@@ -23,6 +23,7 @@
             <if test="storeId != null"> and store_id = #{storeId}</if>
             <if test="keeperName != null"> and keeper_name like concat('%', #{keeperName}, '%')</if>
             <if test="state != null"> and state like concat('%', #{state}, '%')</if>
+            <if test="adminId!=null">and admin_id = #{adminId}</if>
         </where>
         order by id desc
     </select>
@@ -52,6 +53,8 @@
             <if test="storeId != null">store_id,</if>
             <if test="keeperName != null">keeper_name,</if>
             <if test="state != null">state,</if>
+            <if test="adminId != null">admin_id,</if>
+
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -64,6 +67,7 @@
             <if test="storeId != null">#{storeId},</if>
             <if test="keeperName != null">#{keeperName},</if>
             <if test="state != null">#{state},</if>
+            <if test="adminId != null">#{adminId},</if>
         </trim>
     </insert>
 
@@ -97,6 +101,9 @@
             <if test="state != null">
                 state = #{state},
             </if>
+            <if test="adminId != null">
+                admin_id = #{adminId},
+            </if>
         </set>
         where id = #{id} 
     </update>

BIN
springboot/target/classes/com/example/common/enums/AuditState.class


+ 34 - 0
vue/package-lock.json

@@ -11,9 +11,11 @@
         "axios": "^1.5.1",
         "core-js": "^3.8.3",
         "echart": "^0.1.3",
+        "echarts": "^5.5.0",
         "element-china-area-data": "^6.1.0",
         "element-ui": "^2.15.14",
         "highcharts": "^11.4.1",
+        "jquery": "^3.7.1",
         "vue": "^2.6.14",
         "vue-router": "^3.5.1"
       },
@@ -4815,6 +4817,20 @@
         "mock": "bin/mock"
       }
     },
+    "node_modules/echarts": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.0.tgz",
+      "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
+      "dependencies": {
+        "tslib": "2.3.0",
+        "zrender": "5.5.0"
+      }
+    },
+    "node_modules/echarts/node_modules/tslib": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+      "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+    },
     "node_modules/ee-first": {
       "version": "1.1.1",
       "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
@@ -6117,6 +6133,11 @@
         "@sideway/pinpoint": "^2.0.0"
       }
     },
+    "node_modules/jquery": {
+      "version": "3.7.1",
+      "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz",
+      "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="
+    },
     "node_modules/js-message": {
       "version": "1.0.7",
       "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz",
@@ -10184,6 +10205,19 @@
       "engines": {
         "node": ">= 4.0.0"
       }
+    },
+    "node_modules/zrender": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.5.0.tgz",
+      "integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
+      "dependencies": {
+        "tslib": "2.3.0"
+      }
+    },
+    "node_modules/zrender/node_modules/tslib": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+      "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
     }
   }
 }

+ 2 - 0
vue/package.json

@@ -10,9 +10,11 @@
     "axios": "^1.5.1",
     "core-js": "^3.8.3",
     "echart": "^0.1.3",
+    "echarts": "^5.5.0",
     "element-china-area-data": "^6.1.0",
     "element-ui": "^2.15.14",
     "highcharts": "^11.4.1",
+    "jquery": "^3.7.1",
     "vue": "^2.6.14",
     "vue-router": "^3.5.1"
   },

+ 7 - 0
vue/src/assets/js/aduitState.js

@@ -0,0 +1,7 @@
+const auditState =  {
+    CHECKING :"正在审核",
+    UPLOADED:"已上传",
+    PASS:"审核通过",
+    FAIL:"审核失败"
+}
+export default  auditState

+ 2 - 2
vue/src/main.js

@@ -6,14 +6,14 @@ import 'element-ui/lib/theme-chalk/index.css'
 import '@/assets/css/global.css'
 import '@/assets/css/theme/index.css'
 import request from "@/utils/request";
-
+import * as echarts from "echarts";
 Vue.config.productionTip = false
 
+Vue.prototype.$echarts= echarts
 Vue.prototype.$request = request
 Vue.prototype.$baseUrl = process.env.VUE_APP_BASEURL
 
 Vue.use(ElementUI, {size: "small"})
-
 new Vue({
     router,
     render: h => h(App)

+ 1 - 0
vue/src/router/index.js

@@ -67,6 +67,7 @@ const routes = [
   { path: '/login', name: 'Login', meta: { name: '登录' }, component: () => import('../views/Login.vue') },
   { path: '/register', name: 'Register', meta: { name: '注册' }, component: () => import('../views/Register.vue') },
   { path: '*', name: 'NotFound', meta: { name: '无法访问' }, component: () => import('../views/404.vue') },
+  { path: '/testEcharts' , name:'testEcharts' ,meta:{name:"测试echarts"} ,component:()=>import('../views/manager/Shop/echarts.vue')},
 ]
 
 const router = new VueRouter({

+ 18 - 0
vue/src/views/VisibleView/welcome.vue

@@ -0,0 +1,18 @@
+<template>
+  <div class="welcome">
+    <div style="width:50%;margin: 0 auto;color:#fff" :style="{marginTop:marginTop+'px'}">
+      <el-progress :percentage="100" status="exception" :show-text="false" :stroke-width="20" :format="format" :indeterminate="true" />
+    </div>
+  </div>
+</template>
+
+<script>
+export default{
+  name: "welcome"
+}
+</script>
+
+
+<style scoped>
+
+</style>

+ 44 - 10
vue/src/views/front/ApplyForUp.vue

@@ -9,12 +9,15 @@ export default {
   },
   data() {
     return {
+      user: JSON.parse(localStorage.getItem('xm-user') || '{}'), // user信息解压
+      isSubmit:false, //  是否申请了表格
+      state:"", // 申请状态
       formData:{
         keeperName :'', // 姓名
         idCard:"", //申请人身份证
-        business_license:"", //营业许可证URL
+        businessLicense:"", //营业许可证URL
         reason:"", // 申请理由
-        pics_url:"", // 店铺图片
+        picsUrl:"", // 店铺图片
       },
       provinceAndCityData,
       pcaTextArr,
@@ -34,14 +37,39 @@ export default {
     }
   }
   ,
+  created(){
+    let id = this.user.id;
+    console.log(id)
+    this.$request.get(`/audits/selectAll`,{
+      params:{
+        adminId:id,
+      }
+    }).then(res=>{
+      console.log(res);
+      if(res.code == 200 ){
+        // 存在结果
+        if(res.data[0])  // 进入注册界面
+        {
+          this.isSubmit = true;
+          let audit = res.data[0]; // 获取到的申请表信息
+          console.log(res.data)
+          this.state = audit.state
+          this.formData = audit
+        }
+
+      }
+    })
+
+  }
+  ,
   methods: {
     onSubmit() {
       const requestForm = {
         storeAddress:this.address,
         idcard:this.formData.idCard,
-        businessLicense: this.formData.business_license,
+        businessLicense: this.formData.businessLicense,
         reason:this.formData.reason,
-        picsUrl:this.formData.pics_url,
+        picsUrl:this.formData.picsUrl,
         keeperName:this.formData.keeperName
       }
       console.log(requestForm)
@@ -50,10 +78,11 @@ export default {
       })
 
     },
-    updateBsCard(data){this.formData.business_license = data[0].url},
-    updateDeleBsCard(file){this.formData.business_license = null},
-    updateFarm(data){this.formData.pics_url= data[0].url},//农村图片
-    updateDeleFarm(data){this.formData.pics_url = null},//删除选中的图片
+    updateBsCard(data){this.formData.businessLicense = data[0].url},
+    updateDeleBsCard(file){this.formData.businessLicense = null},
+    updateFarm(data){this.formData.picsUrl= data[0].url},//农村图片
+    updateDeleFarm(data){this.formData.picsUrl = null},//删除选中的图片
+    showCheck(data){this.isSubmit = false},
   }
 }
 
@@ -61,7 +90,7 @@ export default {
 
 <template>
 <div>
-  <el-card class="applyForm" style="margin-left:10%;margin-right: 10%; width: 80%">
+  <el-card class="applyForm" style="margin-left:10%;margin-right: 10%; width: 80%" v-if="!isSubmit">
     <div style="text-align: center "> 申 请 店 铺 </div>
     <el-form :rule="rules" label-position="left" ref="form" :model="formData" label-width="80px" size="mini" class="demo-ruleForm">
       <el-form-item label="姓名" style="width: 30%">
@@ -110,7 +139,12 @@ export default {
     </el-form>
 
   </el-card>
-
+  <el-card v-if="isSubmit">
+<!--    显示申请状态-->
+    <el-tag >{{state}}</el-tag>
+<!--    点击查看申请列表  -->
+    <el-button @click="showCheck()"></el-button>
+  </el-card>
 </div>
 </template>
 

+ 16 - 2
vue/src/views/manager/Manager/Audit.vue

@@ -19,13 +19,16 @@
         <el-table-column prop="idcard" label="身份证"></el-table-column>
         <el-table-column prop="businessLicense" label="营业执照url">
           <template v-slot="scope">
-            <img style="width: 100%" :src="scope.row.businessLicense" @click="print(scope)"><img/>
+            <div style="text-align: center;">
+              <img style="width: 100%; display: inline-block;" :src="scope.row.businessLicense" @click="print(scope)">
+              <i style="display:inline;float: left;" class="el-icon-zoom-in" @click="clickPic(scope.row.businessLicense)"></i>
+            </div>
           </template>
         </el-table-column>
         <el-table-column prop="reason" label="申请理由"></el-table-column>
         <el-table-column prop="picsUrl" label="市区营业图片">
           <template v-slot="scope" >
-            <img style="width: 100%" :src="scope.row.picsUrl">
+            <img style="width: 100%; " :src="scope.row.picsUrl">
           </template>
         </el-table-column>
         <el-table-column prop="cameraUrl" label="监控地址"></el-table-column>
@@ -95,10 +98,15 @@
       </div>
     </el-dialog>
 
+    <el-dialog :visible.sync="img.show" width="40%" :close-on-click-modal="false" destroy-on-close>
+      <img :src="img.showImgUrl" style="width: 100% "/>
+    </el-dialog>
 
   </div>
 </template>
 <script>
+import aduitState from "@/assets/js/aduitState";
+
 export default {
   name: "Audits",
   data() {
@@ -110,6 +118,7 @@ export default {
       total: 0,
       username: null,
       fromVisible: false,
+      img:{showImgUrl:"", show:false} ,//展示的大图路径
       form: {},
       user: JSON.parse(localStorage.getItem('xm-user') || '{}'),
       rules: {
@@ -213,6 +222,11 @@ export default {
       else if(data == '审核失败') result = 'danger'
       return result
       // return "success" | "info" | "warning"| "danger"
+    },
+    clickPic(url){
+      this.img.show = true;
+      console.log(url)
+      this.img.showImgUrl = url;
     }
   }
 }

+ 55 - 0
vue/src/views/manager/Shop/echarts.vue

@@ -0,0 +1,55 @@
+<template>
+  <div :id="id" :style="{width:width, height:height }"></div>
+</template>
+<script>
+export default{
+  name:"testStateMent",
+  props:{
+    width:{
+      default:"400px",
+      type:String
+    },
+    height:{
+      default: "600px",
+      type:String
+    },
+    id:{
+      default:"echarts",
+      type:String
+    },
+    options:{
+      defalut:{},
+      type:Object
+    }
+  },
+  data(){
+    return {
+
+    }
+  }
+  ,mounted() {
+    const statis = this.$echarts.init(document.getElementById(this.id),'dark')
+    this.options = {
+      title: {
+        text: 'ECharts 入门示例'
+      },
+      tooltip: {},
+      legend: {
+        data: ['销量']
+      },
+      xAxis: {
+        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
+      },
+      yAxis: {},
+      series: [
+        {
+          name: '销量',
+          type: 'bar',
+          data: [5, 20, 36, 10, 10, 20]
+        }
+      ]
+    }
+    statis.setOption(this.options)
+  }
+}
+</script>

+ 17 - 0
vue/src/views/manager/Shop/echartsPractice.vue

@@ -0,0 +1,17 @@
+<script>
+import {defineComponent} from 'vue'
+
+export default defineComponent({
+  name: "echartsPractice"
+})
+</script>
+
+<template>
+<div>
+
+</div>
+</template>
+
+<style scoped>
+
+</style>