Compare commits
5 Commits
29c5a1e556
...
14ba6d095e
| Author | SHA1 | Date |
|---|---|---|
|
|
14ba6d095e | |
|
|
0c7845bb62 | |
|
|
adc503652d | |
|
|
477744c5ed | |
|
|
238fa02f7d |
|
|
@ -15,7 +15,10 @@ import com.nflg.mobilebroken.common.pojo.PageData;
|
||||||
import com.nflg.mobilebroken.common.pojo.dto.ProductModelParamsExcelDTO;
|
import com.nflg.mobilebroken.common.pojo.dto.ProductModelParamsExcelDTO;
|
||||||
import com.nflg.mobilebroken.common.pojo.request.*;
|
import com.nflg.mobilebroken.common.pojo.request.*;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.*;
|
import com.nflg.mobilebroken.common.pojo.vo.*;
|
||||||
import com.nflg.mobilebroken.common.util.*;
|
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||||
|
import com.nflg.mobilebroken.common.util.EecExcelUtil;
|
||||||
|
import com.nflg.mobilebroken.common.util.PageUtil;
|
||||||
|
import com.nflg.mobilebroken.common.util.VUtils;
|
||||||
import com.nflg.mobilebroken.repository.entity.*;
|
import com.nflg.mobilebroken.repository.entity.*;
|
||||||
import com.nflg.mobilebroken.repository.service.*;
|
import com.nflg.mobilebroken.repository.service.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
@ -931,7 +934,7 @@ public class ProductModelController extends ControllerBase{
|
||||||
* @param request 请求参数
|
* @param request 请求参数
|
||||||
*/
|
*/
|
||||||
@PostMapping("/publishFile")
|
@PostMapping("/publishFile")
|
||||||
public ApiResult<Void> publishFile(@Valid @RequestBody ProductPublishRequest request){
|
public ApiResult<Void> publishFile(@Valid @RequestBody ProductModelPublishRequest request) {
|
||||||
productModelFileService.publish(request);
|
productModelFileService.publish(request);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.nflg.mobilebroken.common.pojo.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ProductModelPublishRequest {
|
||||||
|
|
||||||
|
@NotEmpty
|
||||||
|
private List<Integer> ids;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发布状态,1:发布;2:取消发布;
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private Integer state;
|
||||||
|
}
|
||||||
|
|
@ -31,7 +31,7 @@ public interface IProductModelFileService extends IService<ProductModelFile> {
|
||||||
|
|
||||||
void delete(@Valid BatchDeleteRequest request);
|
void delete(@Valid BatchDeleteRequest request);
|
||||||
|
|
||||||
void publish(@Valid ProductPublishRequest request);
|
void publish(@Valid ProductModelPublishRequest request);
|
||||||
|
|
||||||
IPage<ProductModelFile> getList(@Valid ProductModelImageSearchRequest request);
|
IPage<ProductModelFile> getList(@Valid ProductModelImageSearchRequest request);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,40 +131,42 @@ public class ProductModelFileServiceImpl extends ServiceImpl<ProductModelFileMap
|
||||||
removeByIds(request.getIds());
|
removeByIds(request.getIds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void publish(ProductPublishRequest request) {
|
public void publish(ProductModelPublishRequest request) {
|
||||||
ProductModelFile info = getById(request.getId());
|
List<ProductModelFile> datas = listByIds(request.getIds());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
|
datas.removeIf(item -> !item.getEnable());
|
||||||
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), request.getState()))
|
datas.forEach(info -> {
|
||||||
.throwMessage("请勿重复操作");
|
if (!Objects.equals(info.getState(), request.getState())) {
|
||||||
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
||||||
VUtils.trueThrowBusinessError(!info.getEnable()).throwMessage("不能发布已禁用的数据");
|
info.setState(PublishState.Published.getState());
|
||||||
info.setState(PublishState.Published.getState());
|
info.setPublishBy(AdminUserUtil.getUserName());
|
||||||
info.setPublishBy(AdminUserUtil.getUserName());
|
info.setPublishTime(LocalDateTime.now());
|
||||||
info.setPublishTime(LocalDateTime.now());
|
lambdaUpdate()
|
||||||
lambdaUpdate()
|
.set(ProductModelFile::getState, PublishState.Obsolete.getState())
|
||||||
.set(ProductModelFile::getState, PublishState.Obsolete.getState())
|
.eq(ProductModelFile::getModelId, info.getModelId())
|
||||||
.eq(ProductModelFile::getModelId, info.getModelId())
|
.eq(ProductModelFile::getBatchNumber, info.getBatchNumber())
|
||||||
.eq(ProductModelFile::getBatchNumber,info.getBatchNumber())
|
.eq(ProductModelFile::getState, PublishState.Published.getState())
|
||||||
.eq(ProductModelFile::getState, PublishState.Published.getState())
|
.update();
|
||||||
.update();
|
} else {
|
||||||
} else {
|
ProductModelFile obsolete = lambdaQuery()
|
||||||
ProductModelFile obsolete = lambdaQuery()
|
.eq(ProductModelFile::getModelId, info.getModelId())
|
||||||
.eq(ProductModelFile::getModelId, info.getModelId())
|
.eq(ProductModelFile::getBatchNumber, info.getBatchNumber())
|
||||||
.eq(ProductModelFile::getBatchNumber,info.getBatchNumber())
|
.eq(ProductModelFile::getState, PublishState.Obsolete.getState())
|
||||||
.eq(ProductModelFile::getState, PublishState.Obsolete.getState())
|
.orderByDesc(ProductModelFile::getPublishTime)
|
||||||
.orderByDesc(ProductModelFile::getPublishTime)
|
.last("Limit 1")
|
||||||
.last("Limit 1")
|
.one();
|
||||||
.one();
|
if (Objects.nonNull(obsolete)) {
|
||||||
if (Objects.nonNull(obsolete)) {
|
obsolete.setState(PublishState.Published.getState());
|
||||||
obsolete.setState(PublishState.Published.getState());
|
obsolete.setPublishBy(AdminUserUtil.getUserName());
|
||||||
obsolete.setPublishBy(AdminUserUtil.getUserName());
|
obsolete.setPublishTime(LocalDateTime.now());
|
||||||
obsolete.setPublishTime(LocalDateTime.now());
|
updateById(obsolete);
|
||||||
updateById(obsolete);
|
}
|
||||||
|
info.setState(PublishState.Obsolete.getState());
|
||||||
|
}
|
||||||
|
updateById(info);
|
||||||
}
|
}
|
||||||
info.setState(PublishState.Obsolete.getState());
|
});
|
||||||
}
|
|
||||||
updateById(info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getListByDictionaryCode" resultType="com.nflg.mobilebroken.repository.entity.DictionaryItem">
|
<select id="getListByDictionaryCode" resultType="com.nflg.mobilebroken.repository.entity.DictionaryItem">
|
||||||
SELECT ifnull(dit.value,di.`name`) as 'name',di.*
|
SELECT fun_isBlank(dit.value,di.`name`) as 'name',di.*
|
||||||
FROM dictionary d
|
FROM dictionary d
|
||||||
INNER JOIN dictionary_item di ON d.id=di.dictionary_id
|
INNER JOIN dictionary_item di ON d.id=di.dictionary_id
|
||||||
LEFT JOIN dictionary_item_translate dit ON dit.dictionary_item_id=di.id and dit.language_code=#{language}
|
LEFT JOIN dictionary_item_translate dit ON dit.dictionary_item_id=di.id and dit.language_code=#{language}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@
|
||||||
<select id="getFilesByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductFileVO">
|
<select id="getFilesByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductFileVO">
|
||||||
SELECT ptf.*
|
SELECT ptf.*
|
||||||
FROM product_type pt
|
FROM product_type pt
|
||||||
LEFT JOIN product_type_file ptf ON ptf.type_id=pt.id AND ptf.language_code=#{language}
|
INNER JOIN product_type_file ptf ON ptf.type_id=pt.id AND ptf.language_code=#{language}
|
||||||
WHERE pt.state=1 AND pt.enable=1 AND pt.module_id=#{moduleId}
|
WHERE pt.state=1 AND pt.enable=1 AND pt.module_id=#{moduleId}
|
||||||
<if test="seriesNumber != null and seriesNumber!=''">
|
<if test="seriesNumber != null and seriesNumber!=''">
|
||||||
AND pt.series_number=#{seriesNumber}
|
AND pt.series_number=#{seriesNumber}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue