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") 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 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 = "æåºæ¹åï¼topåä¸ï¼bottomåä¸") @NotBlank(message = "æåºæ¹åä¸è½ä¸ºç©º") private String direction; } 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; } 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; 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); } 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()); 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){ // 夿å½åèç¹æ¯å¦ä¸ºæ ¹èç¹ï¼æ¤å¤æ³¨æï¼è¥parentIdç±»åæ¯Stringï¼åè¦éç¨equals()æ¹æ³å¤æã if(origin==0){ if (Objects.isNull(treeNode.getParentId())) { // æ¯ï¼æ·»å rootNodeList.add(treeNode); } }else{ if (Objects.isNull(treeNode.getErpId())) { // æ¯ï¼æ·»å rootNodeList.add(treeNode); } } } return rootNodeList; } /** * æ ¹æ®æ¯ä¸ä¸ªé¡¶çº§èç¹ï¼æ ¹èç¹ï¼è¿è¡æå»ºæ å½¢ç»æ * @return æå»ºæ´æ£µæ */ 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 æ´æ£µæ */ 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; } }