From c0bf3b4eddabf553ee40181bb8ac88ca94495b3d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 28 十二月 2023 14:18:10 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java           |    4 -
 server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java         |    4 +
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   19 ++++
 server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java            |   24 ++++++
 server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/UpdateCompanySortDTO.java  |   26 ++++++
 server/dmvisit_service/src/main/java/com/doumee/service/common/tree/CompanyTree.java         |  107 ++++++++++++++++++++++++++
 server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java                         |    4 
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java              |    3 
 8 files changed, 183 insertions(+), 8 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
index 7bf07e7..400adbf 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
@@ -7,13 +7,18 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.admin.request.UpdateCompanySortDTO;
 import com.doumee.dao.admin.response.CompanyDTO;
 import com.doumee.dao.business.model.Company;
+import com.doumee.dao.system.dto.UpdateSystemMenuSortDTO;
 import com.doumee.service.business.CompanyService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 
@@ -84,6 +89,25 @@
         return ApiResponse.success(companyService.findPage(pageWrap));
     }
 
+    @ApiOperation("缁勭粐鏍戞煡璇�")
+    @GetMapping("/tree")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "type", dataType = "Integer", value = "绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐", required = true),
+    })
+    @RequiresPermissions("business:company:query")
+    public ApiResponse<List<Company>> tree (@RequestParam Integer type) {
+        return ApiResponse.success(companyService.companyTree(type));
+    }
+
+
+    @ApiOperation("鎺掑簭")
+    @PostMapping("/updateSort")
+    @RequiresPermissions("business:company:query")
+    public ApiResponse updateSort (@Validated @RequestBody UpdateCompanySortDTO dto) {
+        companyService.updateSort(dto);
+        return ApiResponse.success(null);
+    }
+
 
     @ApiOperation("淇敼鐘舵��")
     @PostMapping("/updateStatusById")
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index 326d4c9..9853e51 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -18,8 +18,8 @@
  * @date 2021-10-10 14:40:35
  * https://www.bejson.com/othertools/cron/  cron 琛ㄨ揪寮忕敓鎴愬湴鍧�
  */
-@Component
-@EnableScheduling
+//@Component
+//@EnableScheduling
 public class ScheduleTool {
 
     @Autowired
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/UpdateCompanySortDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/UpdateCompanySortDTO.java
new file mode 100644
index 0000000..3994235
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/UpdateCompanySortDTO.java
@@ -0,0 +1,26 @@
+package com.doumee.dao.admin.request;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/05/04 18:21
+ */
+@Data
+@ApiModel("绯荤粺鑿滃崟鎺掑簭鍙傛暟")
+public class UpdateCompanySortDTO implements Serializable {
+
+    @ApiModelProperty(value = "鑿滃崟ID")
+    @NotNull(message = "鑿滃崟ID涓嶈兘涓虹┖")
+    private Integer id;
+
+    @ApiModelProperty(value = "鎺掑簭鏂瑰悜锛宼op鍚戜笂锛宐ottom鍚戜笅")
+    @NotBlank(message = "鎺掑簭鏂瑰悜涓嶈兘涓虹┖")
+    private String direction;
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
index 9c51476..dc10d8a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -10,6 +10,7 @@
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 浼佷笟淇℃伅琛�
@@ -171,5 +172,7 @@
     @TableField(exist = false)
     private String hkParentId;
 
+    @TableField(exist = false)
+    private List<Company> childList;
 
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
index 7651f97..a6e8427 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
@@ -48,10 +48,6 @@
     @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
     private Integer isdeleted;
 
-    @ApiModelProperty(value = "鍗$被鍨� 0IC鍗� 1CPU鍗�  2杩滆窛绂诲崱 3M鍗�")
-    @ExcelColumn(name="鍗$被鍨� 0IC鍗� 1CPU鍗�  2杩滆窛绂诲崱 3M鍗�")
-    private Integer type;
-
     @ApiModelProperty(value = "澶囨敞")
     @ExcelColumn(name="澶囨敞")
     private String remark;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
index 4bfefb3..a2baf7c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.admin.request.UpdateCompanySortDTO;
 import com.doumee.dao.admin.response.CompanyDTO;
 import com.doumee.dao.business.model.Company;
 import java.util.List;
@@ -120,4 +121,7 @@
      */
     List<CompanyDTO> findCompanyTreePage(Integer type);
 
+    List<Company> companyTree(Integer type);
+
+    void updateSort(UpdateCompanySortDTO dto);
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 394f3dd..c188086 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -623,7 +623,8 @@
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone())
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName())
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo())
-                .eq(Member::getStatus,Constants.Status.ENABLE.getValue())
+                .eq(Objects.isNull(pageWrap.getModel().getStatus()),Member::getStatus,Constants.Status.ENABLE.getValue())
+                .eq(!Objects.isNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus())
                 .eq(Member::getType,Constants.memberType.visitor)
                 .eq(Member::getIsdeleted,Constants.ZERO)
                 .orderByDesc(Member::getCreateDate);
@@ -776,7 +777,6 @@
     /********************************************鍏紬鍙锋帴鍙�***********************************************************************/
 
 
-
     /**
      * 寰俊鎺堟潈鎺ュ彛
      * @param code
@@ -795,10 +795,25 @@
         }
         WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
         wxAuthorizeVO.setOpenid(openId);
+        //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
+        Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
+                .eq(Member::getOpenid,openId)
+                .eq(Member::getIsdeleted,Constants.ZERO)
+        );
+
+
+
         return wxAuthorizeVO;
     }
 
 
+
+
+
+
+
+
+
     @Override
     public MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO){
         Integer validType = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.BEVISITED_USER_VALID).getCode());
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/common/tree/CompanyTree.java b/server/dmvisit_service/src/main/java/com/doumee/service/common/tree/CompanyTree.java
new file mode 100644
index 0000000..7319cd1
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/common/tree/CompanyTree.java
@@ -0,0 +1,107 @@
+package com.doumee.service.common.tree;
+
+import com.doumee.dao.business.model.Company;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/7/13 10:40
+ */
+public class CompanyTree {
+
+    // 淇濆瓨鍙備笌鏋勫缓鏍戝舰鐨勬墍鏈夋暟鎹紙閫氬父鏁版嵁搴撴煡璇㈢粨鏋滐級
+    public List<Company> nodeList = new ArrayList<>();
+
+    public Integer origin = 0;
+
+
+    /**
+     *  鏋勯�犳柟娉�
+     *  @param nodeList 灏嗘暟鎹泦鍚堣祴鍊肩粰nodeList锛屽嵆鎵�鏈夋暟鎹綔涓烘墍鏈夎妭鐐广��
+     */
+    public CompanyTree(List<Company> nodeList,Integer origin){
+        this.nodeList = nodeList;
+        this.origin = origin;
+    }
+
+
+    /**
+     *   鑾峰彇闇�鏋勫缓鐨勬墍鏈夋牴鑺傜偣锛堥《绾ц妭鐐癸級 "0"
+     *   @return 鎵�鏈夋牴鑺傜偣List闆嗗悎
+     */
+    public List<Company> getRootNode(){
+        // 淇濆瓨鎵�鏈夋牴鑺傜偣锛堟墍鏈夋牴鑺傜偣鐨勬暟鎹級
+        List<Company> rootNodeList = new ArrayList<>();
+        // treeNode锛氭煡璇㈠嚭鐨勬瘡涓�鏉℃暟鎹紙鑺傜偣锛�
+        for (Company treeNode : nodeList){
+            // 鍒ゆ柇褰撳墠鑺傜偣鏄惁涓烘牴鑺傜偣锛屾澶勬敞鎰忥細鑻arentId绫诲瀷鏄疭tring锛屽垯瑕侀噰鐢╡quals()鏂规硶鍒ゆ柇銆�
+            if(origin==0){
+                if (Objects.isNull(treeNode.getParentId())) {
+                    // 鏄紝娣诲姞
+                    rootNodeList.add(treeNode);
+                }
+            }else{
+                if (Objects.isNull(treeNode.getErpId())) {
+                    // 鏄紝娣诲姞
+                    rootNodeList.add(treeNode);
+                }
+            }
+
+        }
+        return rootNodeList;
+    }
+
+
+    /**
+     *  鏍规嵁姣忎竴涓《绾ц妭鐐癸紙鏍硅妭鐐癸級杩涜鏋勫缓鏍戝舰缁撴瀯
+     *  @return  鏋勫缓鏁存5鏍�
+     */
+    public List<Company> buildTree(){
+        // treeNodes锛氫繚瀛樹竴涓《绾ц妭鐐规墍鏋勫缓鍑烘潵鐨勫畬鏁存爲褰�
+        List<Company> treeNodes = new ArrayList<Company>();
+        // getRootNode()锛氳幏鍙栨墍鏈夌殑鏍硅妭鐐�
+        for (Company treeRootNode : getRootNode()) {
+            // 灏嗛《绾ц妭鐐硅繘琛屾瀯寤哄瓙鏍�
+            treeRootNode = buildChildTree(treeRootNode);
+            // 瀹屾垚涓�涓《绾ц妭鐐规墍鏋勫缓鐨勬爲褰紝澧炲姞杩涙潵
+            treeNodes.add(treeRootNode);
+        }
+        return treeNodes;
+    }
+
+    /**
+     *  閫掑綊-----鏋勫缓瀛愭爲褰㈢粨鏋�
+     *  @param  pNode 鏍硅妭鐐癸紙椤剁骇鑺傜偣锛�
+     *  @return 鏁存5鏍�
+     */
+    public Company buildChildTree(Company pNode){
+        List<Company> childTree = new ArrayList<Company>();
+        // nodeList锛氭墍鏈夎妭鐐归泦鍚堬紙鎵�鏈夋暟鎹級
+        for (Company treeNode : nodeList) {
+            // 鍒ゆ柇褰撳墠鑺傜偣鐨勭埗鑺傜偣ID鏄惁绛変簬鏍硅妭鐐圭殑ID锛屽嵆褰撳墠鑺傜偣涓哄叾涓嬬殑瀛愯妭鐐�
+
+            if(origin==0){
+                if (!Objects.isNull(treeNode.getParentId())&&treeNode.getParentId().equals(pNode.getId())) {
+                    // 鍐嶉�掑綊杩涜鍒ゆ柇褰撳墠鑺傜偣鐨勬儏鍐碉紝璋冪敤鑷韩鏂规硶
+                    childTree.add(buildChildTree(treeNode));
+                }
+            }else{
+                if (!Objects.isNull(treeNode.getErpParentId())&&treeNode.getErpParentId().equals(pNode.getErpId())) {
+                    // 鍐嶉�掑綊杩涜鍒ゆ柇褰撳墠鑺傜偣鐨勬儏鍐碉紝璋冪敤鑷韩鏂规硶
+                    childTree.add(buildChildTree(treeNode));
+                }
+            }
+        }
+        // for寰幆缁撴潫锛屽嵆鑺傜偣涓嬫病鏈変换浣曡妭鐐癸紝鏍戝舰鏋勫缓缁撴潫锛岃缃爲缁撴灉
+        pNode.setChildList(childTree);
+        return pNode;
+    }
+
+
+
+}

--
Gitblit v1.9.3