Commit c715d899 authored by “yiyousong”'s avatar “yiyousong”
parents ff46173d 3e4854b7
package com.mortals.xhx.module.app.service.impl;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.app.model.*;
import com.mortals.xhx.module.app.service.AppDatasetService;
import com.mortals.xhx.module.app.service.AppInfoFieldService;
import com.mortals.xhx.module.app.service.AppService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.app.dao.AppInfoTempleteFieldDao;
import com.mortals.xhx.module.app.model.AppInfoTempleteFieldEntity;
import com.mortals.xhx.module.app.service.AppInfoTempleteFieldService;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
/**
* AppInfoTempleteFieldService
* 自助终端应用模板信息字段 service实现
*
* @author zxfei
* @date 2022-11-28
*/
* AppInfoTempleteFieldService
* 自助终端应用模板信息字段 service实现
*
* @author zxfei
* @date 2022-11-28
*/
@Service("appInfoTempleteFieldService")
public class AppInfoTempleteFieldServiceImpl extends AbstractCRUDServiceImpl<AppInfoTempleteFieldDao, AppInfoTempleteFieldEntity, Long> implements AppInfoTempleteFieldService {
@Autowired
private AppService appService;
@Autowired
private AppDatasetService appDatasetService;
@Autowired
private AppInfoFieldService appInfoFieldService;
/**
* @param entity
* @param context
* @throws AppException
*/
@Override
protected void saveAfter(AppInfoTempleteFieldEntity entity, Context context) throws AppException {
//同步添加已有模板数据
AppDatasetQuery appDatasetQuery = new AppDatasetQuery();
appDatasetQuery.setAppId(entity.getAppId());
List<AppDatasetEntity> appDatasetEntities = appDatasetService.find(appDatasetQuery, context);
// 判断该数据集 是否已经存在 没存在 再添加
ArrayList<AppInfoFieldEntity> fieldSaveList = new ArrayList<>();
for (AppDatasetEntity appDatasetEntity : appDatasetEntities) {
AppInfoFieldQuery appInfoFieldQuery = new AppInfoFieldQuery();
appInfoFieldQuery.setDatasetId(appDatasetEntity.getId());
appInfoFieldQuery.setFieldCode(entity.getFieldCode());
appInfoFieldQuery.setFieldType(entity.getFieldType());
AppInfoFieldEntity appInfoFieldEntity = appInfoFieldService.selectOne(appInfoFieldQuery, context);
if (ObjectUtils.isEmpty(appInfoFieldEntity)) {
AppInfoFieldEntity fieldEntity = new AppInfoFieldEntity();
fieldEntity.initAttrValue();
BeanUtils.copyProperties(entity, fieldEntity, BeanUtil.getNullPropertyNames(entity));
fieldEntity.setDatasetId(appDatasetEntity.getId());
fieldEntity.setId(null);
fieldSaveList.add(fieldEntity);
}
if (!ObjectUtils.isEmpty(fieldSaveList)) {
appInfoFieldService.save(fieldSaveList, context);
}
}
super.saveAfter(entity, context);
}
}
\ No newline at end of file
......@@ -49,14 +49,11 @@ import static com.mortals.framework.ap.SysConstains.*;
@RequestMapping("app/dataset")
public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppDatasetService, AppDatasetEntity, Long> {
@Autowired
private ParamService paramService;
public AppDatasetController() {
super.setModuleDesc("自助终端应用数据集");
}
/**
* @param query
* @return
......@@ -99,8 +96,17 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD
return null;
}
}).filter(f -> f != null).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(dataSets)) {
query.setIdList(dataSets);
//排序-
List<Long> orderList = new ArrayList<>();
for (Long dataId : datasetIdList) {
if(dataSets.contains(dataId)){
orderList.add(dataId);
}
}
query.setIdList(orderList);
} else {
query.setIdList(ListUtil.toList(0L));
}
......@@ -121,6 +127,7 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD
List<Long> datasetIdList = customResult.getList().stream().map(item -> item.getDatasetId()).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(datasetIdList)) {
query.setIdList(datasetIdList);
//query.setOrderColList();
} else {
query.setIdList(ListUtil.toList(0L));
}
......
......@@ -19,7 +19,7 @@
</plugin>
<plugin interceptor="com.mortals.framework.thirty.mybatis.LogInterceptor">
<property name="enableExecutorTime" value="false" />
<property name="showSql" value="true" />
<property name="showSql" value="false" />
</plugin>
</plugins>
</configuration>
\ No newline at end of file
......@@ -70,6 +70,7 @@
(#{appId},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_app_dataset
......@@ -375,14 +376,56 @@
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('appIdList') and conditionParamRef.appIdList.size() > 0">
field(a.appId,
<foreach collection="conditionParamRef.appIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
field(a.updateUserId,
<foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
a.${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('appIdList') and conditionParamRef.appIdList.size() > 0">
field(a.appId,
<foreach collection="conditionParamRef.appIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
field(a.updateUserId,
<foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
......@@ -411,6 +454,8 @@
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
......
......@@ -38,7 +38,14 @@
</trim>
order by
fieldType IN('top','date') DESC ,fieldValue DESC
IF
( `fieldCode` = 'top', '0', '1' ),
`fieldValue` DESC,
IF
( `fieldType` = 'date', '0', '1' ),
`fieldValue` DESC;
</select>
......
......@@ -19,7 +19,10 @@ Content-Type: application/json
{
"page": 1,
"size": 10
"size": 10,
"appId": 226,
"fieldCode": "top",
"fieldValue": "%%"
}
###自助终端应用数据集列表1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment