hai 7 meses
pai
achega
1e45b042d6

+ 30 - 1
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/master/vendor/controller/VendorController.java

@@ -5,6 +5,7 @@ import com.xingxi.common.core.controller.BaseController;
 import com.xingxi.common.core.domain.AjaxResult;
 import com.xingxi.common.core.page.TableDataInfo;
 import com.xingxi.common.enums.BusinessType;
+import com.xingxi.common.exception.BusinessException;
 import com.xingxi.common.utils.poi.ExcelUtil;
 import com.xingxi.master.vendor.domain.Vendor;
 import com.xingxi.master.vendor.service.IVendorService;
@@ -77,6 +78,20 @@ public class VendorController extends BaseController {
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(Vendor vendor) {
+        Vendor cond;
+        List<Vendor> checkResult;
+        cond = new Vendor();
+        cond.setMobile(vendor.getMobile());
+        checkResult = vendorService.selectVendorList(cond);
+        if (checkResult.size() > 0) {
+            throw new BusinessException("已添加过的供应商手机号!");
+        }
+        cond = new Vendor();
+        cond.setVendorName(vendor.getVendorName());
+        checkResult = vendorService.selectVendorList(cond);
+        if (checkResult.size() > 0) {
+            throw new BusinessException("已添加过的供应商!");
+        }
         return toAjax(vendorService.insertVendor(vendor));
     }
 
@@ -99,6 +114,20 @@ public class VendorController extends BaseController {
     @PostMapping("/edit")
     @ResponseBody
     public AjaxResult editSave(Vendor vendor) {
+        Vendor cond;
+        List<Vendor> checkResult;
+        cond = new Vendor();
+        cond.setMobile(vendor.getMobile());
+        checkResult = vendorService.selectVendorList(cond);
+        if (checkResult.size() > 0) {
+            throw new BusinessException("已添加过的供应商手机号!");
+        }
+        cond = new Vendor();
+        cond.setVendorName(vendor.getVendorName());
+        checkResult = vendorService.selectVendorList(cond);
+        if (checkResult.size() > 0) {
+            throw new BusinessException("已添加过的供应商!");
+        }
         return toAjax(vendorService.updateVendor(vendor));
     }
 
@@ -110,6 +139,6 @@ public class VendorController extends BaseController {
     @PostMapping("/remove")
     @ResponseBody
     public AjaxResult remove(String ids) {
-        return toAjax(vendorService.deleteVendorByVendorIds(ids));
+        return toAjax(vendorService.logicDeleteVendorByVendorId(Long.parseLong(ids)));
     }
 }

+ 0 - 24
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/designer/designer.html

@@ -15,30 +15,6 @@
                                 <input type="text" name="designerName"/>
                             </li>
                             <li>
-                                <label>设计师头像:</label>
-                                <input type="text" name="designerAvatar"/>
-                            </li>
-                            <li>
-                                <label>删除标志:</label>
-                                <input type="text" name="delFlag"/>
-                            </li>
-                            <li>
-                                <label>创建者:</label>
-                                <input type="text" name="createUser"/>
-                            </li>
-                            <li>
-                                <label>创建时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择创建时间" name="createTime"/>
-                            </li>
-                            <li>
-                                <label>更新者:</label>
-                                <input type="text" name="updateUser"/>
-                            </li>
-                            <li>
-                                <label>更新时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择更新时间" name="updateTime"/>
-                            </li>
-                            <li>
                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                                 <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                             </li>

+ 12 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/product/prod/add.html

@@ -170,6 +170,18 @@
         });
 
         $("#form-prod-add").validate({
+            rules: {
+                prodClassId: {
+                    required: true
+                },
+                prodName: {
+                    required: true
+                },
+            },
+            messages: {
+                prodClassId: icon + "请选择商品分类",
+                prodName: icon + "请输入商品名称",
+            },
             focusCleanup: true
         });
 

+ 12 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/product/prod/edit.html

@@ -170,6 +170,18 @@
         $('.summernote').summernote('code', [[${prodVo.description}]]);
 
         $("#form-prod-edit").validate({
+            rules: {
+                prodClassId: {
+                    required: true
+                },
+                prodName: {
+                    required: true
+                },
+            },
+            messages: {
+                prodClassId: icon + "请选择商品分类",
+                prodName: icon + "请输入商品名称",
+            },
             focusCleanup: true
         });
 

+ 8 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/tag/add.html

@@ -20,6 +20,14 @@
     <script th:inline="javascript">
         var prefix = ctx + "master/tag"
         $("#form-tag-add").validate({
+            rules: {
+                tagName: {
+                    required: true
+                },
+            },
+            messages: {
+                tagName: icon + "请输入标签名",
+            },
             focusCleanup: true
         });
 

+ 8 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/tag/edit.html

@@ -21,6 +21,14 @@
     <script th:inline="javascript">
         var prefix = ctx + "master/tag";
         $("#form-tag-edit").validate({
+            rules: {
+                tagName: {
+                    required: true
+                },
+            },
+            messages: {
+                tagName: icon + "请输入标签名",
+            },
             focusCleanup: true
         });
 

+ 137 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/vendor/add.html

@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增供应商')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-vendor-add">
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">供应商名称:</label>
+                    <div class="col-sm-8">
+                        <input name="vendorName" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">联系人:</label>
+                    <div class="col-sm-8">
+                        <input name="contact" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">手机:</label>
+                    <div class="col-sm-8">
+                        <input name="mobile" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">邮箱:</label>
+                    <div class="col-sm-8">
+                        <input name="mail" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">通信地址:</label>
+                    <div class="col-sm-8">
+                        <input name="address" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">退货收件人:</label>
+                    <div class="col-sm-8">
+                        <input name="refundContact" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">退货手机号:</label>
+                    <div class="col-sm-8">
+                        <input name="refundMobile" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">退货地址:</label>
+                    <div class="col-sm-8">
+                        <input name="refundAddress" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "master/vendor"
+        $("#form-vendor-add").validate({
+            rules: {
+                vendorName: {
+                    required: true,
+                },
+                contact: {
+                    required: true,
+                },
+                mobile: {
+                    required: true,
+                    isPhone: true,
+                },
+                mail: {
+                    required: true,
+                    email:true,
+                },
+                address: {
+                    required: true,
+                },
+                refundContact: {
+                    required: true,
+                },
+                refundMobile: {
+                    required: true,
+                    isPhone: true,
+                },
+                refundAddress: {
+                    required: true,
+                },
+            },
+            messages: {
+                vendorName: icon + "请输入供应商名称",
+                contact: icon + "请选择联系人",
+                mobile: {
+                    required: icon + "请输入手机号",
+                    isPhone: icon + "请输入正确的手机号",
+                },
+                mail: {
+                    required: icon + "请输入邮箱",
+                    email: icon + "请输入正确的邮箱",
+                },
+                address: icon + "请选择通信地址",
+                refundContact: icon + "请选择退货收件人",
+                refundMobile: {
+                    required: icon + "请输入退货手机号",
+                    isPhone: icon + "请输入正确的退货手机号",
+                },
+                refundAddress: icon + "请选择退货地址",
+            },
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-vendor-add').serialize());
+            }
+        }
+    </script>
+</body>
+</html>

+ 138 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/vendor/edit.html

@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改供应商')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-vendor-edit" th:object="${vendor}">
+            <input name="vendorId" th:field="*{vendorId}" type="hidden">
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">供应商名称:</label>
+                    <div class="col-sm-8">
+                        <input name="vendorName" th:field="*{vendorName}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">联系人:</label>
+                    <div class="col-sm-8">
+                        <input name="contact" th:field="*{contact}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">手机:</label>
+                    <div class="col-sm-8">
+                        <input name="mobile" th:field="*{mobile}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">邮箱:</label>
+                    <div class="col-sm-8">
+                        <input name="mail" th:field="*{mail}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">通信地址:</label>
+                    <div class="col-sm-8">
+                        <input name="address" th:field="*{address}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">退货收件人:</label>
+                    <div class="col-sm-8">
+                        <input name="refundContact" th:field="*{refundContact}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">退货手机号:</label>
+                    <div class="col-sm-8">
+                        <input name="refundMobile" th:field="*{refundMobile}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="col-xs-12">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">退货地址:</label>
+                    <div class="col-sm-8">
+                        <input name="refundAddress" th:field="*{refundAddress}" class="form-control" type="text">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "master/vendor";
+        $("#form-vendor-edit").validate({
+            rules: {
+                vendorName: {
+                    required: true,
+                },
+                contact: {
+                    required: true,
+                },
+                mobile: {
+                    required: true,
+                    isPhone: true,
+                },
+                mail: {
+                    required: true,
+                    email:true,
+                },
+                address: {
+                    required: true,
+                },
+                refundContact: {
+                    required: true,
+                },
+                refundMobile: {
+                    required: true,
+                    isPhone: true,
+                },
+                refundAddress: {
+                    required: true,
+                },
+            },
+            messages: {
+                vendorName: icon + "请输入供应商名称",
+                contact: icon + "请选择联系人",
+                mobile: {
+                    required: icon + "请输入手机号",
+                    isPhone: icon + "请输入正确的手机号",
+                },
+                mail: {
+                    required: icon + "请输入邮箱",
+                    email: icon + "请输入正确的邮箱",
+                },
+                address: icon + "请选择通信地址",
+                refundContact: icon + "请选择退货收件人",
+                refundMobile: {
+                    required: icon + "请输入退货手机号",
+                    isPhone: icon + "请输入正确的退货手机号",
+                },
+                refundAddress: icon + "请选择退货地址",
+            },
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-vendor-edit').serialize());
+            }
+        }
+    </script>
+</body>
+</html>

+ 103 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/master/vendor/vendor.html

@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('供应商列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+                            <li>
+                                <label>供应商:</label>
+                                <input type="text" name="vendorName"/>
+                            </li>
+                            <li>
+                                <label>联系人:</label>
+                                <input type="text" name="contact"/>
+                            </li>
+                            <li>
+                                <label>手机:</label>
+                                <input type="text" name="mobile"/>
+                            </li>
+                            <li>
+                                <label>邮箱:</label>
+                                <input type="text" name="mail"/>
+                            </li>
+                            <li>
+                                <label>通信地址:</label>
+                                <input type="text" name="address"/>
+                            </li>
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="master:designer:add">
+                    <i class="fa fa-plus"></i> 添加
+                </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var editFlag = [[${@permission.hasPermi('master:vendor:edit')}]];
+        var removeFlag = [[${@permission.hasPermi('master:vendor:remove')}]];
+        var prefix = ctx + "master/vendor";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "供应商",
+                columns: [
+                    {
+                        field: 'vendorName',
+                        title: '供应商名称'
+                    },
+                    {
+                        field: 'contact',
+                        title: '联系人'
+                    },
+                    {
+                        field: 'mobile',
+                        title: '手机'
+                    },
+                    {
+                        field: 'mail',
+                        title: '邮箱'
+                    },
+                    {
+                        field: 'address',
+                        title: '通信地址'
+                    },
+                    {
+                        title: '操作',
+                        align: 'center',
+                        formatter: function(value, row, index) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.vendorId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.vendorId + '\')"><i class="fa fa-remove"></i>删除</a>');
+                            return actions.join('');
+                        }
+                    }
+                ]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 6 - 0
08.src/Xingxi/xingxi-system/src/main/java/com/xingxi/master/vendor/service/impl/VendorServiceImpl.java

@@ -1,7 +1,9 @@
 package com.xingxi.master.vendor.service.impl;
 
 import com.xingxi.common.core.text.Convert;
+import com.xingxi.common.enums.EDelFlag;
 import com.xingxi.common.utils.DateUtils;
+import com.xingxi.common.utils.ShiroUtils;
 import com.xingxi.master.vendor.domain.Vendor;
 import com.xingxi.master.vendor.mapper.VendorMapper;
 import com.xingxi.master.vendor.service.IVendorService;
@@ -40,6 +42,7 @@ public class VendorServiceImpl implements IVendorService {
      */
     @Override
     public List<Vendor> selectVendorList(Vendor vendor) {
+        vendor.setDelFlag(EDelFlag.NO.getVal());
         return vendorMapper.selectVendorList(vendor);
     }
 
@@ -51,6 +54,8 @@ public class VendorServiceImpl implements IVendorService {
      */
     @Override
     public int insertVendor(Vendor vendor) {
+        vendor.setDelFlag(EDelFlag.NO.getVal());
+        vendor.setCreateUser(ShiroUtils.getLoginName());
         vendor.setCreateTime(DateUtils.getNowDate());
         return vendorMapper.insertVendor(vendor);
     }
@@ -74,6 +79,7 @@ public class VendorServiceImpl implements IVendorService {
      */
     @Override
     public int updateVendor(Vendor vendor) {
+        vendor.setUpdateUser(ShiroUtils.getLoginName());
         vendor.setUpdateTime(DateUtils.getNowDate());
         return vendorMapper.updateVendor(vendor);
     }

+ 15 - 15
08.src/Xingxi/xingxi-system/src/main/resources/mapper/master/VendorMapper.xml

@@ -2,22 +2,22 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.xingxi.web.controller.master.product.mapper.VendorMapper">
+<mapper namespace="com.xingxi.master.vendor.mapper.VendorMapper">
     <resultMap type="Vendor" id="VendorResult">
-        <result property="vendorId"    column="vendorId"    />
-        <result property="vendorName"    column="vendorName"    />
-        <result property="contact"    column="contact"    />
-        <result property="mobile"    column="mobile"    />
-        <result property="mail"    column="mail"    />
-        <result property="address"    column="address"    />
-        <result property="refundContact"    column="refundContact"    />
-        <result property="refundMobile"    column="refundMobile"    />
-        <result property="refundAddress"    column="refundAddress"    />
-        <result property="delFlag"    column="delFlag"    />
-        <result property="createUser"    column="createUser"    />
-        <result property="createTime"    column="createTime"    />
-        <result property="updateUser"    column="updateUser"    />
-        <result property="updateTime"    column="updateTime"    />
+        <result property="vendorId"         column="vendorId"       />
+        <result property="vendorName"       column="vendorName"     />
+        <result property="contact"          column="contact"        />
+        <result property="mobile"           column="mobile"         />
+        <result property="mail"             column="mail"           />
+        <result property="address"          column="address"        />
+        <result property="refundContact"    column="refundContact"  />
+        <result property="refundMobile"     column="refundMobile"   />
+        <result property="refundAddress"    column="refundAddress"  />
+        <result property="delFlag"          column="delFlag"        />
+        <result property="createUser"       column="createUser"     />
+        <result property="createTime"       column="createTime"     />
+        <result property="updateUser"       column="updateUser"     />
+        <result property="updateTime"       column="updateTime"     />
     </resultMap>
 
     <sql id="selectVendor">