Merge branch 'feature/product' into test
This commit is contained in:
commit
14ba6d095e
|
|
@ -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.request.*;
|
||||
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.service.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -931,7 +934,7 @@ public class ProductModelController extends ControllerBase{
|
|||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("/publishFile")
|
||||
public ApiResult<Void> publishFile(@Valid @RequestBody ProductPublishRequest request){
|
||||
public ApiResult<Void> publishFile(@Valid @RequestBody ProductModelPublishRequest request) {
|
||||
productModelFileService.publish(request);
|
||||
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 publish(@Valid ProductPublishRequest request);
|
||||
void publish(@Valid ProductModelPublishRequest request);
|
||||
|
||||
IPage<ProductModelFile> getList(@Valid ProductModelImageSearchRequest request);
|
||||
|
||||
|
|
|
|||
|
|
@ -131,27 +131,27 @@ public class ProductModelFileServiceImpl extends ServiceImpl<ProductModelFileMap
|
|||
removeByIds(request.getIds());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void publish(ProductPublishRequest request) {
|
||||
ProductModelFile info = getById(request.getId());
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
|
||||
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), request.getState()))
|
||||
.throwMessage("请勿重复操作");
|
||||
public void publish(ProductModelPublishRequest request) {
|
||||
List<ProductModelFile> datas = listByIds(request.getIds());
|
||||
datas.removeIf(item -> !item.getEnable());
|
||||
datas.forEach(info -> {
|
||||
if (!Objects.equals(info.getState(), request.getState())) {
|
||||
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
||||
VUtils.trueThrowBusinessError(!info.getEnable()).throwMessage("不能发布已禁用的数据");
|
||||
info.setState(PublishState.Published.getState());
|
||||
info.setPublishBy(AdminUserUtil.getUserName());
|
||||
info.setPublishTime(LocalDateTime.now());
|
||||
lambdaUpdate()
|
||||
.set(ProductModelFile::getState, PublishState.Obsolete.getState())
|
||||
.eq(ProductModelFile::getModelId, info.getModelId())
|
||||
.eq(ProductModelFile::getBatchNumber,info.getBatchNumber())
|
||||
.eq(ProductModelFile::getBatchNumber, info.getBatchNumber())
|
||||
.eq(ProductModelFile::getState, PublishState.Published.getState())
|
||||
.update();
|
||||
} else {
|
||||
ProductModelFile obsolete = lambdaQuery()
|
||||
.eq(ProductModelFile::getModelId, info.getModelId())
|
||||
.eq(ProductModelFile::getBatchNumber,info.getBatchNumber())
|
||||
.eq(ProductModelFile::getBatchNumber, info.getBatchNumber())
|
||||
.eq(ProductModelFile::getState, PublishState.Obsolete.getState())
|
||||
.orderByDesc(ProductModelFile::getPublishTime)
|
||||
.last("Limit 1")
|
||||
|
|
@ -166,6 +166,8 @@ public class ProductModelFileServiceImpl extends ServiceImpl<ProductModelFileMap
|
|||
}
|
||||
updateById(info);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ProductModelFile> getList(ProductModelImageSearchRequest request) {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
</select>
|
||||
|
||||
<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
|
||||
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}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
<select id="getFilesByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductFileVO">
|
||||
SELECT ptf.*
|
||||
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}
|
||||
<if test="seriesNumber != null and seriesNumber!=''">
|
||||
AND pt.series_number=#{seriesNumber}
|
||||
|
|
|
|||
Loading…
Reference in New Issue