lidongdong
2022-10-15 420925275fe8a91b24896e993ca899055add21aa
Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test
5个文件已添加
13个文件已修改
264 ■■■■■ 已修改文件
flower_city/src/main/java/com/dg/core/controller/CommonController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/controller/OrganizationController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/entity/AutomessageSysUserRecord.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/entity/OrganizationChartEntity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/entity/TransactionEvent.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/mapper/TransactionEventMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/util/WxUtil.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/resources/mapper/SysUserMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/resources/mapper/TransactionEventMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/controller/CommonController.java
@@ -1,11 +1,14 @@
package com.dg.core.controller;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.dg.core.CorsConfig;
import com.dg.core.ResultData;
import com.dg.core.db.gen.AjaxResult;
import com.dg.core.file.FtpConstants;
import com.dg.core.file.MimeTypeUtils;
import com.dg.core.file.SFTPUtil;
import com.dg.core.util.TestDate;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -17,6 +20,7 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
@@ -34,6 +38,7 @@
  @Autowired
  private CorsConfig corsConfig;
  // FTP 登录用户名
@@ -127,13 +132,30 @@
      return ResultData.error("上传文件失败 "+e.getMessage());
    }
//    AjaxResult ajax = new AjaxResult();
//    ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
//    ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
//    ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
  }
  /**
   * 通用上传请求(多个)
   */
  @ApiOperation("判断当前时间是否是工作日,格式为“2022-10-16”,不传默认为今天")
  @GetMapping("/isWeekday")
  public ResultData isWeekday(@RequestParam(value = "dateTime",required = false) String dateTime)
  {
      TestDate td=new TestDate();
      DateTime dateTimeUser;
      if (dateTime==null)
        dateTimeUser=DateTime.now();
      else{
        dateTimeUser=DateUtil.parse(dateTime);
      }
      if (td.isWeekday(dateTimeUser))
         return success("工作日");
      else
         return success("休息日或者周末");
  }
flower_city/src/main/java/com/dg/core/controller/OrganizationController.java
@@ -80,7 +80,7 @@
    public ResultData updateConfig(@RequestBody OrganizationChartEntity entity,@CurrentUser SysUser sysUser)
    {
        entity.setUpdateTime(LocalDateTime.now());
        entity.setUpdateUserId(Integer.parseInt(String.valueOf(sysUser.getUserId())));
        entity.setUpdateUserId(sysUser.getUserId());
        return toAjax(iOrganizationChartService.updateConfig(entity));
    }
flower_city/src/main/java/com/dg/core/controller/TransactionEventController.java
@@ -134,6 +134,8 @@
            return ResultData.error("事件名称不能为空");
        }
        return toAjax(iTransactionEventService.updateConfig(entity));
    }
flower_city/src/main/java/com/dg/core/db/gen/entity/AutomessageSysUserRecord.java
New file
@@ -0,0 +1,58 @@
package com.dg.core.db.gen.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 用户访问记录
 * </p>
 *
 * @author fengjin
 * @since 2022-10-15
 */
@TableName("automessage_sys_user_record")
@Data
@ApiModel("用户访问记录类")
public class AutomessageSysUserRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Long userId;
    /**
     * 访问时间
     */
    @ApiModelProperty("访问时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * 进入方式(1.扫码进入 2.花城进入 3.分享进入)
     */
    @ApiModelProperty("进入方式(1.扫码进入 2.花城进入 3.分享进入)")
    private Integer joinType;
}
flower_city/src/main/java/com/dg/core/db/gen/entity/GuideRepairOrder.java
@@ -181,6 +181,19 @@
    @ApiModelProperty(name = "serviceState", value = "服务状态(1.已解决 2.未解决)")
    private  Integer serviceState;
    /**
     * 超时时间
     */
    @ApiModelProperty("超时时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime timeoutTime;
    /**
     * 是否推送过(1 是 2 否)
     */
    @ApiModelProperty("是否推送过(1 是 2 否)")
    private Integer isPush;
    @TableField(exist = false)
    @ApiModelProperty(name = "sumClassifyName", value = "完整分类名称")
    private String sumClassifyName;
flower_city/src/main/java/com/dg/core/db/gen/entity/OrganizationChartEntity.java
@@ -114,7 +114,7 @@
     * 修改人
     */
    @ApiModelProperty("修改人")
    private Integer updateUserId;
    private Long updateUserId;
    /**
     * 修改人
flower_city/src/main/java/com/dg/core/db/gen/entity/TransactionEvent.java
@@ -39,6 +39,12 @@
    @ApiModelProperty("部门所属区域")
    private String departmentArea;
     /**
     * 部门电话
     */
    @ApiModelProperty("部门电话")
    private String contactNumber;
    /**
     * 分类id
     */
flower_city/src/main/java/com/dg/core/db/gen/mapper/AutomessageSysUserRecordMapper.java
New file
@@ -0,0 +1,16 @@
package com.dg.core.db.gen.mapper;
import com.dg.core.db.gen.entity.AutomessageSysUserRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author fengjin
 * @since 2022-10-15
 */
public interface AutomessageSysUserRecordMapper extends BaseMapper<AutomessageSysUserRecord> {
}
flower_city/src/main/java/com/dg/core/db/gen/mapper/TransactionEventMapper.java
@@ -84,6 +84,13 @@
    List<TransactionEvent> queryMatterNameList(@Param("matterName") String matterName,@Param("classifyId") String classifyId);
    /**
     * 导办事务搜索(不带分页)(关联词)
     * @param associateNames
     * @return
     */
    List<TransactionEvent> queryAssociateNamesList(@Param("associateNames") String associateNames,@Param("classifyId") String classifyId);
    /**
     * 导办事务搜索统计数量
     * @param matterName
     * @return
flower_city/src/main/java/com/dg/core/db/manual/mapper/util/MapperGenerator.java
@@ -34,7 +34,7 @@
                })
                .strategyConfig(builder -> {
//                    builder.addInclude("");
                    builder.addInclude("automessage_sys_settings_record") // 设置需要生成的表名
                    builder.addInclude("automessage_sys_user_record") // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .templateConfig(builder -> {
flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
@@ -6,6 +6,7 @@
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.manager.TokenManager;
import com.dg.core.service.IHuaChengSysUserService;
import com.dg.core.service.ISysUserRecordService;
import org.apache.catalina.connector.ResponseFacade;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,9 @@
    @Autowired
    IHuaChengSysUserService iHuaChengSysUserService;
    @Autowired
    private ISysUserRecordService iSysUserRecordService;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //如果不是映射到方法直接通过
@@ -57,16 +61,15 @@
        if(StringUtils.isEmpty(token))
        {
            //花城e+   token
            if (manager.checkHCToken(HCtoken)) {
                //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
                request.setAttribute(Constant.CURRENT_USER_ID, manager.getHCUserId(HCtoken));
                System.out.println("花城用户id:"+manager.getHCUserId(HCtoken));
                SysUser ss = IUserService.selectData(manager.getHCUserId(HCtoken)+"",null);
                if(ss==null && ss.getUserId()<0)
                HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData(manager.getHCUserId(HCtoken)+"","","");
                if(huaChengSysUser!=null && huaChengSysUser.getUserId()!=0 )
                {
                    HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData(manager.getHCUserId(HCtoken)+"","","");
                    if(huaChengSysUser!=null && huaChengSysUser.getUserId()<0 )
                    SysUser sysUser = IUserService.selectData(null,huaChengSysUser.getPhone());
                    if(sysUser==null && sysUser.getUserId()<0)
                    {
                        //本地没有此用户  新用户
                        SysUser newSysUser=new SysUser();
@@ -82,7 +85,9 @@
                        newSysUser.setOpenid(huaChengSysUser.getOpenid());
                        IUserService.insertConfig(newSysUser);
                    }
                    iSysUserRecordService.add(sysUser);
                }
                return true;
            }
flower_city/src/main/java/com/dg/core/service/ISysUserRecordService.java
New file
@@ -0,0 +1,14 @@
package com.dg.core.service;
import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.SysUser;
public interface ISysUserRecordService {
    /**
     * 增加用户访问记录
     *
     * @return 参数配置信息
     */
    ResultData add(SysUser sysUser);
}
flower_city/src/main/java/com/dg/core/service/impl/SysUserRecordServiceImpl.java
New file
@@ -0,0 +1,46 @@
package com.dg.core.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dg.core.ResultData;
import com.dg.core.db.gen.entity.AutomessageSysUserRecord;
import com.dg.core.db.gen.entity.AutomessageTransactionEventInterview;
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.db.gen.mapper.AutomessageSysUserRecordMapper;
import com.dg.core.db.gen.mapper.SysUserMapper;
import com.dg.core.service.ISysUserRecordService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Service
public class SysUserRecordServiceImpl extends ServiceImpl<AutomessageSysUserRecordMapper, AutomessageSysUserRecord> implements ISysUserRecordService {
    @Resource
    private SysUserMapper sysUserMapper;
    @Override
    public ResultData add(SysUser sysUser){
        if (sysUser!=null){
            LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
            LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
            AutomessageSysUserRecord automessageSysUserRecord = baseMapper.selectOne(new QueryWrapper<AutomessageSysUserRecord>()
                    .lambda().eq(AutomessageSysUserRecord::getUserId, sysUser.getUserId())
                    .orderByDesc(AutomessageSysUserRecord::getCreateTime)
                    .last("limit 1"));
            //判断上次访问时间是不是今天 如果是今天不增加浏览次数
            if (automessageSysUserRecord==null||(!(automessageSysUserRecord.getCreateTime().isAfter(startTime)&&automessageSysUserRecord.getCreateTime().isBefore(endTime)))) {
                AutomessageSysUserRecord automessageSysUserRecordNew = new AutomessageSysUserRecord();
                automessageSysUserRecordNew.setUserId(sysUser.getUserId());
                automessageSysUserRecordNew.setCreateTime(LocalDateTime.now());
                sysUser.setLoginDate(LocalDateTime.now());
                sysUserMapper.updateById(sysUser);
                return ResultData.success(baseMapper.insert(automessageSysUserRecordNew));
            }
        }
        return null;
    }
}
flower_city/src/main/java/com/dg/core/service/impl/TransactionEventImpl.java
@@ -116,7 +116,7 @@
        queryResults.setSearchList(searches);
        List<Search> searchesAssociate = baseMapper.selectSearchAssociateDistinct(keyWord);
        for (Search search:searchesAssociate) {
            search.setTransactionEventList(baseMapper.queryMatterNameList(keyWord,search.getClassifyId().toString()));
            search.setTransactionEventList(baseMapper.queryAssociateNamesList(keyWord,search.getClassifyId().toString()));
        }
        queryResults.setTransactionEventList(searchesAssociate);
        queryResults.setKeywordEntityList( keywordMapper.selectByName(keyWord));
flower_city/src/main/java/com/dg/core/util/WxUtil.java
@@ -215,5 +215,32 @@
    }
    /**
     * 工单超时推送
     *
     * @param openId
     *            用户openid
     * @param accessToken
     *            token会话标识
     */
    public  void sendGuideRepairOrderOvertime(String openId, String accessToken, String templateId, GuideRepairOrder guideRepairOrder){
        WxSubscribeDTO subscribeDTO = new WxSubscribeDTO();
        subscribeDTO.setTouser(openId);
        subscribeDTO.setTemplate_id(templateId);
        subscribeDTO.setMiniprogram_state("formal");//测试,部署正式版本时候需要更改为formal
        List<TemplateParam> paras=new ArrayList<TemplateParam>();
        Calendar calendar = Calendar.getInstance();
        paras.add(new TemplateParam("thing4","给您分配的工单:'"+guideRepairOrder.getMatterName()+"',已超时请即使处理"));//超时提示内容
        paras.add(new TemplateParam("thing2",guideRepairOrder.getConsultUserName()));//咨询人
        paras.add(new TemplateParam("thing3",guideRepairOrder.getConsultContent()));//咨询内容
        subscribeDTO.setTemplateParamList(paras);
        try {
            sendSubscribe(accessToken,subscribeDTO);
        }catch (Exception e){
            System.out.println(e.getMessage());
        }
    }
}
flower_city/src/main/resources/mapper/AutomessageSysUserRecordMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dg.core.db.gen.mapper.AutomessageSysUserRecordMapper">
</mapper>
flower_city/src/main/resources/mapper/SysUserMapper.xml
@@ -91,6 +91,9 @@
        <include refid="selectSysUserVo"/>
        <where>
            user_type=#{userType}
            <if test="keyWord!=null and keyWord!=''">
              and (transaction_names like concat('%',#{keyWord}, '%') or  user_name like concat('%',#{keyWord}, '%'))
            </if>
        </where>
        ORDER BY department_id
    </select>
flower_city/src/main/resources/mapper/TransactionEventMapper.xml
@@ -51,7 +51,9 @@
        SELECT
            id,
            department_id,
            department_area,
            (select detailed_address from automessage_organization_chart
             where automessage_organization_chart.id=department_id) department_area,
            (select contact_number from automessage_organization_chart where automessage_organization_chart.id=department_id) as contactNumber,
            classify_id,
            matter_name,
            associate_ids,
@@ -314,6 +316,20 @@
        order by create_time desc
    </select>
    <select id="queryAssociateNamesList"  resultMap="TransactionEventEntityResult">
        <include refid="selectTransactionEventEntityVo"/>
        <where>
            <if test="associateNames != null and associateNames != ''">
                AND (associate_names like concat('%', #{associateNames}, '%') or #{associateNames} like concat('%', associate_names, '%'))
            </if>
            <if test="classifyId != null and classifyId != ''">
                and (classify_id= #{classifyId} or classify_id in (select id FROM automessage_classify_administration where parent_id =#{classifyId} ))
            </if>
        </where>
        order by create_time desc
    </select>
     <select id="sumTransactionNum"  resultMap="TransactionEventEntityResult">
        select sum(transaction_num)sumTransactionNum,count(*) counttransaction   FROM automessage_transaction_event
    </select>