Bläddra i källkod

调整供应商分配相关路径

hejq 7 år sedan
förälder
incheckning
7987680f10

+ 0 - 53
src/main/java/com/uas/platform/b2b/controller/VendorController.java

@@ -7,18 +7,13 @@ import com.uas.platform.b2b.model.Role;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.VendorContact;
-import com.uas.platform.b2b.result.ResultCode;
-import com.uas.platform.b2b.result.ResultMap;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.OrderRedDotService;
 import com.uas.platform.b2b.service.VendorService;
 import com.uas.platform.b2b.support.JxlsExcelView;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.b2b.support.UsageBufferedLogger;
-import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageParams;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
@@ -30,7 +25,6 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
@@ -60,8 +54,6 @@ public class VendorController {
 	@Autowired
     private OrderRedDotService redDotService;
 
-    private final static UsageBufferedLogger LOGGER = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
-
 	/**
 	 * 获取供应商
 	 */
@@ -262,49 +254,4 @@ public class VendorController {
 			vendorService.synchronizeToPartnerShipRecord();
 		}
 	}
-
-    /**
-     * 为用户分配客户权限,保存绑定(管理员才能操作)
-     *
-     * @param userUU 用户关系
-     * @param json 前端数据
-     * @return 绑定结果
-     */
-    @RequestMapping(value = "/bindVendor/{uu}", method = RequestMethod.POST)
-    public ResultMap bindVendor(@PathVariable("uu") Long userUU, @RequestBody String json) {
-        List<Vendor> ids = FlexJsonUtils.fromJsonArray(json, Vendor.class);
-        boolean result = vendorService.bindVendorToUser(userUU, ids);
-        String resultInfo = result ? "成功" : "失败";
-        LOGGER.log("供应商权限", "分配供应商", "userUU: " + userUU + "结果: 分配" + resultInfo);
-        return new ResultMap(result ? ResultCode.OK.code() : ResultCode.ERROR.code());
-    }
-
-    /**
-     * 供应商权限转移
-     *
-     * @param vendorUU 供应商UU
-     * @param json 前端json数据
-     * @return 绑定结果
-     */
-    @RequestMapping(value = "/bindUserToVendor/{uu}", method = RequestMethod.POST)
-    public ResultMap bindUserToVendor(@PathVariable("uu") Long vendorUU, @RequestBody String json) {
-        List<User> users = FlexJsonUtils.fromJsonArray(json, User.class);
-        boolean result = vendorService.transferVendorToUser(vendorUU, users);
-        String resultInfo = result ? "成功" : "失败";
-        LOGGER.log("供应商权限", "转移权限", "供应商UU: " + vendorUU + "结果: 绑定" + resultInfo);
-        return new ResultMap(result ? ResultCode.OK.code() : ResultCode.ERROR.code());
-    }
-
-    /**
-     * 通过供应商UU查询分配的用户
-     *
-     * @param id 供应商客户关系id
-     * @return
-     */
-    @RequestMapping(value = "/distribute/{id}", method = RequestMethod.POST)
-    @ResponseBody
-    public List<User> getUsersAndDistribute(@PathVariable("id") Long id) {
-        LOGGER.log("用户信息", "查询[" + id +"]供应商分配信息");
-        return vendorService.findUserInfoVendDistribute(id);
-    }
 }

+ 78 - 0
src/main/java/com/uas/platform/b2b/controller/VendorDistributeController.java

@@ -0,0 +1,78 @@
+package com.uas.platform.b2b.controller;
+
+import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.result.ResultCode;
+import com.uas.platform.b2b.result.ResultMap;
+import com.uas.platform.b2b.service.VendorService;
+import com.uas.platform.b2b.support.UsageBufferedLogger;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 供应商分配
+ *
+ * @author hejq
+ * @date 2018-12-05 15:54
+ */
+@RequestMapping(value = "/vendorDistribute")
+@RestController
+public class VendorDistributeController {
+
+    @Autowired
+    private VendorService vendorService;
+
+    private final static UsageBufferedLogger LOGGER = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
+    /**
+     * 为用户分配客户权限,保存绑定(管理员才能操作)
+     *
+     * @param userUU 用户关系
+     * @param json 前端数据
+     * @return 绑定结果
+     */
+    @RequestMapping(value = "/bindVendor/{uu}", method = RequestMethod.POST)
+    public ResultMap bindVendor(@PathVariable("uu") Long userUU, @RequestBody String json) {
+        List<Vendor> ids = FlexJsonUtils.fromJsonArray(json, Vendor.class);
+        boolean result = vendorService.bindVendorToUser(userUU, ids);
+        String resultInfo = result ? "成功" : "失败";
+        LOGGER.log("供应商权限", "分配供应商", "userUU: " + userUU + "结果: 分配" + resultInfo);
+        return new ResultMap(result ? ResultCode.OK.code() : ResultCode.ERROR.code());
+    }
+
+    /**
+     * 供应商权限转移
+     *
+     * @param vendorUU 供应商UU
+     * @param json 前端json数据
+     * @return 绑定结果
+     */
+    @RequestMapping(value = "/bindUserToVendor/{uu}", method = RequestMethod.POST)
+    public ResultMap bindUserToVendor(@PathVariable("uu") Long vendorUU, @RequestBody String json) {
+        List<User> users = FlexJsonUtils.fromJsonArray(json, User.class);
+        boolean result = vendorService.transferVendorToUser(vendorUU, users);
+        String resultInfo = result ? "成功" : "失败";
+        LOGGER.log("供应商权限", "转移权限", "供应商UU: " + vendorUU + "结果: 绑定" + resultInfo);
+        return new ResultMap(result ? ResultCode.OK.code() : ResultCode.ERROR.code());
+    }
+
+    /**
+     * 通过供应商UU查询分配的用户
+     *
+     * @param id 供应商客户关系id
+     * @return
+     */
+    @RequestMapping(value = "/{id}", method = RequestMethod.POST)
+    public List<User> getUsersAndDistribute(@PathVariable("id") Long id) {
+        LOGGER.log("用户信息", "查询[" + id +"]供应商分配信息");
+        return vendorService.findUserInfoVendDistribute(id);
+    }
+}

+ 17 - 1
src/main/java/com/uas/platform/b2b/model/VendorDistribute.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.model;
 
+import com.uas.platform.core.model.Constant;
+
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -68,7 +70,13 @@ public class VendorDistribute implements Serializable {
 	 * 是否被转移权限 (是1可以继续绑定其他人,或转移权限,为0则只能转移自己权限,无法再绑定他人)
 	 */
 	@Column(name = "pd_istransfer")
-	private Short isTransfer;
+	private Short isTransfer = Constant.NO;
+
+    /**
+     * 供应商分配
+     */
+    @Column(name = "pd_distribute")
+    private Short distribute = Constant.NO;
 
 	/**
 	 * 分配此权限的人的uu号
@@ -131,4 +139,12 @@ public class VendorDistribute implements Serializable {
 	public void setLeaderUU(Long leaderUU) {
 		this.leaderUU = leaderUU;
 	}
+
+    public Short getDistribute() {
+        return distribute;
+    }
+
+    public void setDistribute(Short distribute) {
+        this.distribute = distribute;
+    }
 }

+ 43 - 11
src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java

@@ -506,22 +506,46 @@ public class VendorsServiceImpl implements VendorService {
     @Override
     public boolean bindVendorToUser(Long userUU, List<Vendor> vendors) {
         if (!CollectionUtils.isEmpty(vendors)) {
+            List<VendorDistribute> needSaveOrUpdateList = new ArrayList<>();
+            List<VendorDistribute> needDeleteList = new ArrayList<>();
             for (Vendor vendor : vendors) {
-                Distribute distribute = new Distribute();
+                VendorDistribute distribute = new VendorDistribute();
                 if (vendor.getDistribute()) {
                     List<VendorDistribute> distributes = vendorDistributeDao.findByUserUUAndVendorId(userUU, vendor.getId());
                     if (CollectionUtils.isEmpty(distributes)) {
                         distribute.setUserUU(userUU);
                         distribute.setVendorId(vendor.getId());
-                        distributeDao.save(distribute);
+                        distribute.setDistribute(Constant.YES);
+                        needSaveOrUpdateList.add(distribute);
+                    } else {
+                        distribute = distributes.get(0);
+                        distribute.setDistribute(Constant.YES);
+                        needSaveOrUpdateList.add(distribute);
                     }
                 } else {
-                    List<Distribute> distributes = distributeDao.findByUserUUAndVendorId(userUU, vendor.getId());
+                    List<VendorDistribute> distributes = vendorDistributeDao.findByUserUUAndVendorId(userUU, vendor.getId());
                     if (!CollectionUtils.isEmpty(distributes)) {
-                        distributeDao.delete(distributes.get(0));
+                        /*
+                         * 判断分配和权限转移关系
+                         * 1、只存在分配关系,取消分配直接删除
+                         * 2、存在权限转移,将分配关系取消即可
+                         */
+                        distribute = distributes.get(0);
+                        if (Constant.YES == distribute.getIsTransfer()) {
+                            distribute.setDistribute(Constant.NO);
+                            needSaveOrUpdateList.add(distribute);
+                        } else {
+                            needDeleteList.add(distribute);
+                        }
                     }
                 }
             }
+            if (!CollectionUtil.isEmpty(needSaveOrUpdateList)) {
+                vendorDistributeDao.save(needSaveOrUpdateList);
+            }
+            if (!CollectionUtil.isEmpty(needDeleteList)) {
+                vendorDistributeDao.delete(needDeleteList);
+            }
             return true;
         }
         return false;
@@ -543,22 +567,28 @@ public class VendorsServiceImpl implements VendorService {
                 List<VendorDistribute> deleteList = new ArrayList<>();
                 if (null != u.getUserUU()) {
                     VendorDistribute distribute = new VendorDistribute();
-                    List<VendorDistribute> butes = vendorDistributeDao.findByUserUUAndVendorId(u.getUserUU(), vendors.get(0).getId());
-                    if (u.getDistribute()) {
-                        if (CollectionUtils.isEmpty(butes)) {
+                    List<VendorDistribute> distributes = vendorDistributeDao.findByUserUUAndVendorId(u.getUserUU(), vendors.get(0).getId());
+                    if (u.getTransfer()) {
+                        if (CollectionUtils.isEmpty(distributes)) {
                             distribute.setUserUU(u.getUserUU());
                             distribute.setVendorId(vendors.get(0).getId());
                             distribute.setLeaderUU(SystemSession.getUser().getUserUU());
+                            distribute.setIsTransfer(Constant.YES);
+                            saveList.add(distribute);
+                        } else {
+                            distribute = distributes.get(0);
+                            distribute.setLeaderUU(SystemSession.getUser().getUserUU());
+                            distribute.setIsTransfer(Constant.YES);
                             saveList.add(distribute);
                         }
                     } else {
                         // 删除当前用户的权限子节点用户
-                        if (!CollectionUtils.isEmpty(butes)) {
+                        if (!CollectionUtils.isEmpty(distributes)) {
                             // 当前用户
-                            deleteList.add(butes.get(0));
+                            deleteList.add(distributes.get(0));
                             Long vendorId = vendors.get(0).getId();
                             Long userUU = u.getUserUU();
-                            if (null != butes.get(0).getIsTransfer() && 1 == butes.get(0).getIsTransfer()) {
+                            if (null != distributes.get(0).getIsTransfer() && 1 == distributes.get(0).getIsTransfer()) {
                                 deleteList = deleteChildrenDistributes(vendorId, userUU, deleteList);
                             }
                             // 防止出现作为参数的用户之间存在权限父子节点关系,导致重复查询,所以每次递归完成,执行一次删除
@@ -608,7 +638,9 @@ public class VendorsServiceImpl implements VendorService {
         users.forEach(user -> {
             distributes.forEach(distribute -> {
                 if (user.getUserUU().equals(distribute.getUserUU())) {
-                    user.setDistribute(true);
+                    if (Constant.YES == distribute.getDistribute()) {
+                        user.setDistribute(true);
+                    }
                     if (null != distribute.getIsTransfer() && Constant.YES == distribute.getIsTransfer()) {
                         user.setTransfer(true);
                     }

+ 3 - 3
src/main/webapp/resources/js/common/services.js

@@ -370,12 +370,12 @@ define(['angular', 'toaster', 'big'], function(angular, big) {
                 isArray: true
             },
             findSaleUsers: {
-                url: 'vendor/distribute/:id',
+                url: 'vendorDistribute/:id',
                 method: 'POST',
                 isArray: true
             },
             addSaleUserToVendor: {
-                url: 'vendor/bindVendor/:uu',
+                url: 'vendorDistribute/bindVendor/:uu',
                 method: 'POST'
             },
             addUserToVendor: {
@@ -383,7 +383,7 @@ define(['angular', 'toaster', 'big'], function(angular, big) {
                 method: 'POST'
             },
             transferSaleUserToVendor: {
-                url: 'vendor/bindUserToVendor/:uu',
+                url: 'vendorDistribute/bindUserToVendor/:uu',
                 method: 'POST'
             },
             transferUserToVendor: {