jinpengyong
2023-11-10 c64ca12b8679d73fc7f8109f0e08fa8c74352164
chore:补充提交
1 files added
8 files modified
113 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/config/Interceptor/SyncConfiguration.java 42 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java 8 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationExt.java 13 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationPageExt.java 4 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationVo.java 7 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/vo/app/AppAllocationFindVo.java 2 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java 25 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java 2 ●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/ResponsibilityUnitMapper.xml 10 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/config/Interceptor/SyncConfiguration.java
New file
@@ -0,0 +1,42 @@
package com.moral.api.config.Interceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ThreadPoolExecutor;
@Configuration
@EnableAsync
public class SyncConfiguration {
    @Bean(name = "asyncPoolTaskExecutor")
    public ThreadPoolTaskExecutor executor() {
        ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
        //核心线程数
        taskExecutor.setCorePoolSize(10);
        //线程池维护线程的最大数量,只有在缓冲队列满了之后才会申请超过核心线程数的线程
        taskExecutor.setMaxPoolSize(20);
        //缓存队列
        taskExecutor.setQueueCapacity(50);
        //许的空闲时间,当超过了核心线程出之外的线程在空闲时间到达之后会被销毁
        taskExecutor.setKeepAliveSeconds(200);
        //异步方法内部线程名称
        taskExecutor.setThreadNamePrefix("async-");
        /**
         * 当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize,如果还有任务到来就会采取任务拒绝策略
         * 通常有以下四种策略:
         * ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。
         * ThreadPoolExecutor.DiscardPolicy:也是丢弃任务,但是不抛出异常。
         * ThreadPoolExecutor.DiscardOldestPolicy:丢弃队列最前面的任务,然后重新尝试执行任务(重复此过程)
         * ThreadPoolExecutor.CallerRunsPolicy:重试添加当前的任务,自动重复调用 execute() 方法,直到成功
         */
        taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        taskExecutor.initialize();
        return taskExecutor;
    }
}
screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java
@@ -22,4 +22,12 @@
     * 查询字典id
     */
    List<Integer> selectCodeList(@Param("code") String code,@Param("id") Integer id);
    /**
     * 查询字典类型名字
     * @param code
     * @param id
     * @return
     */
    String selectName(@Param("code") String code,@Param("id") Integer id);
}
screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationExt.java
@@ -1,5 +1,6 @@
package com.moral.api.pojo.ext.allocation;
import com.baomidou.mybatisplus.annotation.TableField;
import com.moral.api.entity.Allocation;
import com.moral.api.pojo.vo.approvetable.ApproveTableListVo;
import com.moral.api.pojo.vo.file.FileVo;
@@ -34,4 +35,16 @@
    @ApiModelProperty(value = "流程状态")
    private List<ApproveTableListVo> approveList;
    //主体单位名字
    @TableField(exist = false)
    private String unitName;
    //上报单位名字
    @TableField(exist = false)
    private String escalationUnitName;
    @TableField(exist = false)
    //污染类型名字
    private String polluteTypeName;
}
screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationPageExt.java
@@ -1,6 +1,7 @@
package com.moral.api.pojo.ext.allocation;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.moral.api.entity.Allocation;
import io.swagger.annotations.ApiModelProperty;
@@ -27,4 +28,7 @@
    @ApiModelProperty(value = "状态名字")
    private String stateName;
    //上报单位名字
    private String escalationUnitName;
}
screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationVo.java
@@ -139,6 +139,13 @@
    @TableField(exist = false)
    private String time;
    @TableField(exist = false)
    private String unitName;
    @TableField(exist = false)
    private String escalationUnitName;
    @TableField(exist = false)
    private String polluteTypeName;
    public static AllocationVo convert(AllocationExt allocationExt) {
        AllocationVo allocationVo = BeanConverts.convert(allocationExt, AllocationVo.class);
screen-api/src/main/java/com/moral/api/pojo/vo/app/AppAllocationFindVo.java
@@ -74,6 +74,8 @@
    @ApiModelProperty(value = "状态名字")
    private String stateName;
    //上报单位名字
    private String escalationUnitName;
    public Integer getResidueDay() {
       int day=0;
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -508,6 +508,9 @@
        allocationExt.setFileChangeList(fileTableService.list(id,FileTableEnum.ALLOCATION_RECTIFICATION.value));
        allocationExt.setFileApproveList(fileTableService.list(id,FileTableEnum.ALLOCATION_APPROVE.value));
        allocationExt.setApproveList(approveTableService.listAll(id, FileTableEnum.ALLOCATION_FOUNDATION.value));
        allocationExt.setUnitName(getUnitName(allocationExt.getUnitId()).getUnitName());
        allocationExt.setEscalationUnitName(getUnitName(allocationExt.getEscalationUnitId()).getUnitName());
        allocationExt.setPolluteTypeName(responsibilityUnitMapper.selectName(Constants.WU_RAN_LEI_XING,allocationExt.getPolluteType()));
        return allocationExt;
    }
@@ -708,6 +711,8 @@
        Page<AllocationPageExt> extAppPage = this.baseMapper.extAppPage(allocationPageCond.getPage().convertPage(),allocationPageCond);
        extAppPage.getRecords().forEach(it->{
            Integer state = it.getState();
            //获取上报单位名字
            it.setEscalationUnitName(getUnitName(it.getEscalationUnitId()).getUnitName());
            if (state.equals(AllocationApproveEnum.DRAFT.value)||state.equals(AllocationApproveEnum.UNDER_RECTIFICATION.value)){
                if(integer==0||integer==1){
                    it.setStateName(AppAllocationStateEnum.TO_BE_PROCESSED.name);
@@ -861,8 +866,13 @@
        List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
        if(CollectionUtils.isNotEmpty(userList)){
            //可以看,可以填
            appAuthority.setCode(1);
            appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
            if (allocation.getState()>30){
                appAuthority.setCode(2);
                appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
            }else {
                appAuthority.setCode(1);
                appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
            }
            return appAuthority;
        }
        if(Objects.nonNull(user.getUnitId())&&user.getUnitId()!=0){
@@ -877,7 +887,7 @@
                    appAuthority.setName(AppAllocationStateEnum.TO_BE_COMPLETED.name);
                    return appAuthority;
                }else {
                    appAuthority.setCode(1);
                    appAuthority.setCode(2);
                    appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
                    return appAuthority;
                }
@@ -891,7 +901,7 @@
                    appAuthority.setName(AppAllocationStateEnum.TO_BE_COMPLETED.name);
                    return appAuthority;
                }else {
                    appAuthority.setCode(1);
                    appAuthority.setCode(2);
                    appAuthority.setName(AppAllocationStateEnum.COMPLETED.name);
                    return appAuthority;
                }
@@ -943,4 +953,11 @@
        }
        return f;
    }
    private ResponsibilityUnit getUnitName(Integer unitId){
        ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId);
          return   responsibilityUnit;
    }
}
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -247,7 +247,7 @@
     * @param appAllocationPushUserCond
     */
    @Override
    @Async
    @Async("asyncPoolTaskExecutor")
    public void pushOneUser(Allocation appAllocationPushUserCond) {
        QxUser currentUser = UserHelper.getCurrentUser();
        ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(appAllocationPushUserCond.getUnitId());
screen-api/src/main/resources/mapper/ResponsibilityUnitMapper.xml
@@ -42,4 +42,14 @@
        select area_code from responsibility_unit t where unit_id = #{id}
    </select>
    <select id="selectName" resultType="java.lang.String">
        select t1.dataValue from sys_dict_type t
                             left join sys_dict_data t1 on t1.dict_type_id = t.id
        where t.is_delete = 0 and t.name = #{code} and t1.dataKey = #{id} and t1.is_delete = 0
    </select>
</mapper>