Merge #48 into master from cc_2021104_twelve_points

十二分优化

* cc_2021104_twelve_points: (53 commits squashed)

  - fix:启用禁用规则合并

  - Merge branch 'refs/heads/master' into cc_2021104_twelve_points

  - fix:惩处规则列表新增描述字段

  - fix:新增用户管辖门店列表接口

  - fix:门店列表接口新增门店积分字段

  - fix:查询问题修复;新增草稿状态

  - fix:申请单审批补充审批人字段

  - fix:修改门店积分限制0-12

  - fix:积分流水接口修复;申请单查询接口添加日期筛选

  - fix:惩处单查询提供惩处待处理、惩处已处理状态筛选

  - fix:惩处单复议申请查询异常修复

  - fix:小程序惩处单详情接口字段补充

  - fix:查询字段补充

  - fix

  - fix:转义

  - fix

  - fix:新增撤销复议申请单接口

  - fix:补充字段

  - fix:补充字段

  - fix:新增门店分数接口

  - fix:申请单新增筛选条件

  - fix:门店积分接口返回参数修改

  - fix:小程序规则分页查询接口改为Post

  - fix:问题修复

  - fix:十二分导入

  - fix:导入状态部分失败改为失败

  - fix:字段补充

  - fix:异步下Excel导入图片临时文件被清理的问题

  - fix:扣分申请导入图片路径修改并使用CDN

  - fix:导入图片上传oss文件类型修改为图片

  - fix:批量审批

  - fix:批量审批新增备注字段

  - fix:字段补充

  - Merge branch 'master' into cc_2021104_twelve_points
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCStoreController.java

  - fix:字典项新增排序、编辑删除权限、关联字典项

  - Merge branch 'master' into cc_2021104_twelve_points

  - fix:十二分值-扣分列表申请复议截止日期格式

  - fix:去除appealEndDate格式校验

  - Merge remote-tracking branch 'origin/cc_20260128_dict_update' into cc_20260205_twelve_points_v2

  - Merge branch 'cc_20260128_dict_update' into cc_2021104_twelve_points

  - fix:字典回显包含已删除字典项

  - Merge branch 'master' into cc_2021104_twelve_points

  - Merge remote-tracking branch 'origin/cc_20260205_twelve_points_v2' into cc_2021104_twelve_points

  - fix:去除惩处单审批阶段;复议申请单证明图片非必填

  - fix:复议拒绝后惩处单直接生效

  - fix:扣分申请单证明图片改为非必填

  - fix

  - fix:字段转义

  - fix:惩处待处理包含带生效数据

  - fix:字段转义

  - fix:警告单金额和积分初始化为0

  - fix

  - fix:小程序接口字段转义

Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/48
This commit is contained in:
王非凡
2026-03-03 10:48:21 +00:00
committed by 正新
parent 64192e3a1d
commit 0da8efbeaa
21 changed files with 205 additions and 39 deletions

View File

@@ -14,6 +14,8 @@ import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Repository;
import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/**
* <p>
@@ -44,6 +46,13 @@ public class SysDictColumnDAO {
return sysDictColumnMapper.selectById(id);
}
public List<SysDictColumnDO> getByIds(List<Long> ids) {
if (CollectionUtils.isEmpty(ids)) {
return Collections.emptyList();
}
return sysDictColumnMapper.selectByIds(ids);
}
/**
* 根据字典表id查询字典项数量
*
@@ -141,6 +150,19 @@ public class SysDictColumnDAO {
return CollStreamUtil.toMap(list, SysDictColumnDO::getColumnCode, SysDictColumnDO::getColumnName);
}
/**
* 根据字典列编码查询字典项名称映射包含已删除字典项
* @param columnCodes 字典列编码列表
* @return <字典列编码, 字典项名称>
*/
public Map<String, String> getNameMapIncludeDeleted(List<String> columnCodes) {
if (CollectionUtils.isEmpty(columnCodes)) {
return Collections.emptyMap();
}
List<SysDictColumnDO> list = sysDictColumnMapper.selectColumnByCodesIncludeDeleted(columnCodes);
return CollStreamUtil.toMap(list, SysDictColumnDO::getColumnCode, SysDictColumnDO::getColumnName);
}
/**
* 根据字典表编码查询启用状态的字典项
* @param tableCodes 字典表编码列表
@@ -154,10 +176,37 @@ public class SysDictColumnDAO {
List<Long> tableIds = CollStreamUtil.toList(tableList, SysDictTableDO::getId);
List<SysDictColumnDO> columnList = sysDictColumnMapper.selectOpenColumnListByTableIds(tableIds);
Map<Long, String> tableCodeMap = CollStreamUtil.toMap(tableList, SysDictTableDO::getId, SysDictTableDO::getTableCode);
return CollStreamUtil.toList(columnList, v -> {
DictColumnSimpleVO vo = BeanUtil.toBean(v, DictColumnSimpleVO.class);
vo.setTableCode(tableCodeMap.get(v.getDictTableId()));
return vo;
});
return CollStreamUtil.toList(columnList, v -> DictColumnSimpleVO.of(v, tableCodeMap.get(v.getDictTableId())));
}
/**
* 获取字典项关联字典项列表映射
* @param columnIds 字典项id列表
* @return 关联字典项分组
*/
public Map<Long, List<DictColumnSimpleVO>> getRelationColumnMap(List<Long> columnIds) {
if (CollectionUtils.isEmpty(columnIds)) {
return Collections.emptyMap();
}
List<Map<String, Object>> list = sysDictColumnMapper.getRelationColumnIds(columnIds);
Set<Long> relationIds = CollStreamUtil.toSet(list, v -> MapUtils.getLong(v, "relation_id"));
List<SysDictColumnDO> columnList = getByIds(new ArrayList<>(relationIds));
Map<Long, SysDictColumnDO> columnMap = CollStreamUtil.toMap(columnList, SysDictColumnDO::getId, v -> v);
return CollStreamUtil.groupBy(list,
v -> MapUtils.getLong(v, "column_id"),
Collector.of(
ArrayList::new,
(acc, row) -> {
SysDictColumnDO col = columnMap.get(MapUtils.getLong(row, "relation_id"));
if (col != null) {
acc.add(DictColumnSimpleVO.of(col, null));
}
},
(left, right) -> {
left.addAll(right);
return left;
}
));
}
}

View File

@@ -56,6 +56,8 @@ public interface SysDictColumnMapper {
*/
SysDictColumnDO selectById(@Param("id") Long id);
List<SysDictColumnDO> selectByIds(@Param("ids") List<Long> ids);
/**
* 根据字典表id查询字典项数量
* @param tableIds 字典表id列表
@@ -102,10 +104,24 @@ public interface SysDictColumnMapper {
*/
List<SysDictColumnDO> selectOpenColumnByCodes(@Param("columnCodes") List<String> columnCodes);
/**
* 根据字典项编码查询包含已删除的字典项
* @param columnCodes 字典项编码列表
* @return 字典项列表
*/
List<SysDictColumnDO> selectColumnByCodesIncludeDeleted(@Param("columnCodes") List<String> columnCodes);
/**
* 根据字典表id查询
* @param tableIds 字典表id列表
* @return 字典项列表
*/
List<SysDictColumnDO> selectOpenColumnListByTableIds(@Param("tableIds") List<Long> tableIds);
/**
* 获取字典项关联的字典项id
* @param columnIds 字典项id列表
* @return <字典项id, 字典项id>
*/
List<Map<String, Object>> getRelationColumnIds(@Param("columnIds") List<Long> columnIds);
}

View File

@@ -14,10 +14,12 @@
<result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="auth_flag" jdbcType="INTEGER" property="authFlag" />
<result column="sort_num" jdbcType="INTEGER" property="sortNum" />
</resultMap>
<sql id="Base_Column_List">
id, dict_group_id, dict_table_id, column_name, column_code, open_status, remark,
deleted, create_user_id, update_user_id, create_time, update_time
deleted, create_user_id, update_user_id, create_time, update_time, auth_flag, sort_num
</sql>
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
insert into sys_dict_column_${enterpriseId}
@@ -178,7 +180,7 @@
<if test="dto.remark != null and dto.remark != ''">
AND remark LIKE CONCAT('%', #{dto.remark}, '%')
</if>
ORDER BY create_time ASC
ORDER BY sort_num ASC
</where>
</select>
@@ -188,6 +190,18 @@
WHERE id = #{id} AND deleted = 0 LIMIT 1
</select>
<select id="selectByIds" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM sys_dict_column_${enterpriseId}
<where>
id IN
<foreach item="id" collection="ids" separator="," open="(" close=")">
#{id}
</foreach>
AND deleted = 0
</where>
</select>
<select id="selectColumnNumByTableIds" resultType="java.util.Map">
SELECT COUNT(*) num, dict_table_id
FROM sys_dict_column_${enterpriseId}
@@ -257,6 +271,15 @@
AND deleted = 0 AND open_status = 1
</select>
<select id="selectColumnByCodesIncludeDeleted" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM sys_dict_column_${enterpriseId}
WHERE column_code IN
<foreach collection="columnCodes" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</select>
<select id="selectOpenColumnListByTableIds" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM sys_dict_column_${enterpriseId}
@@ -266,4 +289,13 @@
</foreach>
AND deleted = 0 AND open_status = 1
</select>
<select id="getRelationColumnIds" resultType="java.util.Map">
SELECT column_id, relation_id
FROM sys_dict_column_relation_${enterpriseId}
WHERE column_id IN
<foreach item="columnId" collection="columnIds" separator="," open="(" close=")">
#{columnId}
</foreach>
</select>
</mapper>

View File

@@ -18,7 +18,7 @@
<result column="score" jdbcType="DECIMAL" property="score" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="amount" jdbcType="DECIMAL" property="amount" />
<result column="appeal_end_date" jdbcType="DATE" property="appealEndDate" />
<result column="appeal_end_date" jdbcType="TIMESTAMP" property="appealEndDate" />
<result column="status" jdbcType="VARCHAR" property="status" />
<result column="pay_status" jdbcType="BIT" property="payStatus" />
<result column="is_draft" jdbcType="BIT" property="isDraft" />
@@ -107,7 +107,7 @@
AND a.create_time &lt;= #{endTime}
</if>
<if test="penaltyStatus != null and penaltyStatus == 1">
AND a.status = 'pass' AND (a.pay_status = 0 OR a.pay_status = 1)
AND (a.status = 'pass' OR a.status = 'ineffective') AND (a.pay_status = 0 OR a.pay_status = 1)
</if>
<if test="penaltyStatus != null and penaltyStatus == 2">
AND (a.status = 'effective' AND (a.pay_status = 0 OR a.pay_status = 2) OR a.status = 'cancel')