k94314517
2023-12-28 c0bf3b4eddabf553ee40181bb8ac88ca94495b3d
ERP接口
已添加2个文件
已修改6个文件
191 ■■■■■ 文件已修改
server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/UpdateCompanySortDTO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/common/tree/CompanyTree.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}