Merge branch 'develop' into test
This commit is contained in:
commit
2a1420c2ff
|
|
@ -90,6 +90,7 @@ public class PositionController extends ControllerBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result.setLanguage(positionLanguageResult);
|
result.setLanguage(positionLanguageResult);
|
||||||
|
result.setTicketManage(ent.getTicketManage());
|
||||||
return ApiResult.success(result);
|
return ApiResult.success(result);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -121,6 +122,7 @@ public class PositionController extends ControllerBase {
|
||||||
// ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
// ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
||||||
// ent.setDataModifyUserName(AdminUserUtil.getUserName());
|
// ent.setDataModifyUserName(AdminUserUtil.getUserName());
|
||||||
// ent.setDataModifyTime(LocalDateTime.now());
|
// ent.setDataModifyTime(LocalDateTime.now());
|
||||||
|
ent.setTicketManage(positionDetailDto.getTicketManage());
|
||||||
positionService.save(ent);
|
positionService.save(ent);
|
||||||
return ApiResult.success(true);
|
return ApiResult.success(true);
|
||||||
}
|
}
|
||||||
|
|
@ -136,6 +138,7 @@ public class PositionController extends ControllerBase {
|
||||||
ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
||||||
ent.setDataModifyUserName(AdminUserUtil.getUserName());
|
ent.setDataModifyUserName(AdminUserUtil.getUserName());
|
||||||
ent.setDataModifyTime(LocalDateTime.now());
|
ent.setDataModifyTime(LocalDateTime.now());
|
||||||
|
ent.setTicketManage(positionDetailDto.getTicketManage());
|
||||||
positionService.updateById(ent);
|
positionService.updateById(ent);
|
||||||
return ApiResult.success(true);
|
return ApiResult.success(true);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -166,7 +166,7 @@ public class ProductBaseController extends ControllerBase{
|
||||||
* @param request 请求参数
|
* @param request 请求参数
|
||||||
*/
|
*/
|
||||||
@PostMapping("/publishHonor")
|
@PostMapping("/publishHonor")
|
||||||
public ApiResult<Void> publishHonor(@Valid @RequestBody ProductPublishRequest request){
|
public ApiResult<Void> publishHonor(@Valid @RequestBody BatchPublishRequest request) {
|
||||||
productHonorService.publish(request);
|
productHonorService.publish(request);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
@ -233,7 +233,7 @@ public class ProductBaseController extends ControllerBase{
|
||||||
* @param request 请求参数
|
* @param request 请求参数
|
||||||
*/
|
*/
|
||||||
@PostMapping("/publishCase")
|
@PostMapping("/publishCase")
|
||||||
public ApiResult<Void> publishCase(@Valid @RequestBody ProductPublishRequest request){
|
public ApiResult<Void> publishCase(@Valid @RequestBody BatchPublishRequest request) {
|
||||||
productCaseService.publish(request);
|
productCaseService.publish(request);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,6 @@ public class ProductModelController extends ControllerBase{
|
||||||
@Resource
|
@Resource
|
||||||
private IProductModelParamsItemService productModelParamsItemService;
|
private IProductModelParamsItemService productModelParamsItemService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private IProductModelImageService productModelImageService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IProductModelVideoService productModelVideoService;
|
private IProductModelVideoService productModelVideoService;
|
||||||
|
|
||||||
|
|
@ -848,7 +845,7 @@ public class ProductModelController extends ControllerBase{
|
||||||
* @param request 请求参数
|
* @param request 请求参数
|
||||||
*/
|
*/
|
||||||
@PostMapping("/publishVideo")
|
@PostMapping("/publishVideo")
|
||||||
public ApiResult<Void> publishVideo(@Valid @RequestBody ProductPublishRequest request){
|
public ApiResult<Void> publishVideo(@Valid @RequestBody BatchPublishRequest request) {
|
||||||
productModelVideoService.publish(request);
|
productModelVideoService.publish(request);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
@ -934,7 +931,7 @@ public class ProductModelController extends ControllerBase{
|
||||||
* @param request 请求参数
|
* @param request 请求参数
|
||||||
*/
|
*/
|
||||||
@PostMapping("/publishFile")
|
@PostMapping("/publishFile")
|
||||||
public ApiResult<Void> publishFile(@Valid @RequestBody ProductModelPublishRequest request) {
|
public ApiResult<Void> publishFile(@Valid @RequestBody BatchPublishRequest request) {
|
||||||
productModelFileService.publish(request);
|
productModelFileService.publish(request);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,10 +49,10 @@ public class TestController extends ControllerBase{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("test")
|
// @GetMapping("test")
|
||||||
public ApiResult<Boolean> test(@RequestParam Integer userId){
|
// public ApiResult<Boolean> test(@RequestParam Integer userId){
|
||||||
return ApiResult.success(ticketCallService.isInCall(userId));
|
// return ApiResult.success(ticketCallService.isInCall(userId));
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 翻译为日语
|
* 翻译为日语
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -31,6 +30,11 @@ public class PositionDetailDTO {
|
||||||
@NotNull(message = "属性不能为空")
|
@NotNull(message = "属性不能为空")
|
||||||
private Integer positionAttribute;
|
private Integer positionAttribute;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否授予工单权限
|
||||||
|
*/
|
||||||
|
private Boolean ticketManage;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,11 @@ public class PositionDetailVO {
|
||||||
*/
|
*/
|
||||||
private Integer positionAttribute;
|
private Integer positionAttribute;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否授予工单权限
|
||||||
|
*/
|
||||||
|
private Boolean ticketManage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建人-账号
|
* 创建人-账号
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
package com.nflg.mobilebroken.admin.task;
|
|
||||||
|
|
||||||
import com.nflg.mobilebroken.repository.entity.ProductModel;
|
|
||||||
import com.nflg.mobilebroken.repository.service.IProductModelService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Component
|
|
||||||
public class ProductScheduledTasks {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private IProductModelService productModelService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 机型是否新版本设置
|
|
||||||
* 每天午夜12点执行一次
|
|
||||||
*/
|
|
||||||
@Scheduled(cron = "0 0 0 * * ?")
|
|
||||||
public void resetRecommend() {
|
|
||||||
log.info("【产品中心-机型-新品】开始执行");
|
|
||||||
productModelService.lambdaUpdate()
|
|
||||||
.set(ProductModel::getRecommend, false)
|
|
||||||
.eq(ProductModel::getRecommend, true)
|
|
||||||
.gt(ProductModel::getRecommendTime, LocalDateTime.now().minusYears(2))
|
|
||||||
.update();
|
|
||||||
log.info("【产品中心-机型-新品】执行完毕");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
package com.nflg.mobilebroken.common.constant;
|
package com.nflg.mobilebroken.common.constant;
|
||||||
|
|
||||||
import cn.hutool.core.collection.ListUtil;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Constant {
|
public class Constant {
|
||||||
|
|
||||||
public static final String FROM_APP = "app";
|
public static final String FROM_APP = "app";
|
||||||
|
|
@ -112,9 +108,8 @@ public class Constant {
|
||||||
|
|
||||||
public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED="AccountHasExpired";
|
public static final String DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED="AccountHasExpired";
|
||||||
|
|
||||||
public static final List<String> ROLE_CODE_TICKET_MANAGERS = ListUtil.of(TITLE_DIRECTOROF_BUSINESS_UNIT,TITLE_TECHNICAL_MANAGER,TITLE_SALES_MANAGER,TITLE_TEST_MANAGER,TITLE_QUALITY_MANAGER,DICTIONARY_TYPE_TITLE_CQM);
|
|
||||||
|
|
||||||
public static final String DICTIONARY_SOLUTION_MEASURES = "SolutionMeasures";
|
public static final String DICTIONARY_SOLUTION_MEASURES = "SolutionMeasures";
|
||||||
|
|
||||||
public static final String DICTIONARY_SOLUTION_REVIEW_DEPARTMENT = "SolutionReviewDepartment";
|
public static final String DICTIONARY_SOLUTION_REVIEW_DEPARTMENT = "SolutionReviewDepartment";
|
||||||
|
|
||||||
public static final String DICTIONARY_DEVICE_STATE ="deviceState";
|
public static final String DICTIONARY_DEVICE_STATE ="deviceState";
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
package com.nflg.mobilebroken.common.pojo.request;
|
package com.nflg.mobilebroken.common.pojo.request;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ProductModelPublishRequest {
|
@Accessors(chain = true)
|
||||||
|
public class BatchPublishRequest {
|
||||||
|
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
private List<Integer> ids;
|
private List<Integer> ids;
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ProductModelAddRequest {
|
public class ProductModelAddRequest {
|
||||||
|
|
@ -48,6 +49,11 @@ public class ProductModelAddRequest {
|
||||||
*/
|
*/
|
||||||
private Boolean recommend;
|
private Boolean recommend;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新品过期时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime recommendExpireTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否发布
|
* 是否发布
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@ package com.nflg.mobilebroken.common.pojo.vo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Accessors
|
@Accessors
|
||||||
|
|
@ -56,6 +58,15 @@ public class FrontendProductModelSearchVO {
|
||||||
*/
|
*/
|
||||||
private Boolean recommend;
|
private Boolean recommend;
|
||||||
|
|
||||||
|
public Boolean getRecommend() {
|
||||||
|
return recommend && (Objects.nonNull(recommendExpireTime) && LocalDateTime.now().isBefore(recommendExpireTime));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新品过期时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime recommendExpireTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 机型介绍
|
* 机型介绍
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,11 @@ public class ProductModelSearchVO {
|
||||||
*/
|
*/
|
||||||
private Boolean recommend;
|
private Boolean recommend;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新品过期时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime recommendExpireTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否启用
|
* 是否启用
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@ package com.nflg.mobilebroken.common.pojo.vo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
|
|
@ -26,6 +28,15 @@ public class ProductModelVO {
|
||||||
*/
|
*/
|
||||||
private Boolean recommend;
|
private Boolean recommend;
|
||||||
|
|
||||||
|
public Boolean getRecommend() {
|
||||||
|
return recommend && (Objects.nonNull(recommendExpireTime) && LocalDateTime.now().isBefore(recommendExpireTime));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新品过期时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime recommendExpireTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主要参数列表
|
* 主要参数列表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,9 @@ public class ProductModel implements Serializable {
|
||||||
private Boolean recommend;
|
private Boolean recommend;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置为新品的时间
|
* 新品过期时间
|
||||||
*/
|
*/
|
||||||
private LocalDateTime recommendTime;
|
private LocalDateTime recommendExpireTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序
|
* 排序
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,13 @@ package com.nflg.mobilebroken.repository.entity;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 职位管理
|
* 职位管理
|
||||||
|
|
@ -85,4 +86,9 @@ public class TBasePosition implements Serializable {
|
||||||
* 语言-json
|
* 语言-json
|
||||||
*/
|
*/
|
||||||
private String positionLanguage;
|
private String positionLanguage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否授予工单权限
|
||||||
|
*/
|
||||||
|
private Boolean ticketManage;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.nflg.mobilebroken.repository.entity;
|
package com.nflg.mobilebroken.repository.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -35,16 +34,16 @@ public class TicketCall implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Integer ticketId;
|
private Integer ticketId;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 呼叫来源,app或者admin
|
// * 呼叫来源,app或者admin
|
||||||
*/
|
// */
|
||||||
@TableField("`from`")
|
// @TableField("`from`")
|
||||||
private String from;
|
// private String from;
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* 呼叫人id
|
// * 呼叫人id
|
||||||
*/
|
// */
|
||||||
private Integer callerUserId;
|
// private Integer callerUserId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态,0-呼叫中;1-通话中;2-已结束
|
* 状态,0-呼叫中;1-通话中;2-已结束
|
||||||
|
|
|
||||||
|
|
@ -20,5 +20,7 @@ public interface AdminUserMapper extends BaseMapper<AdminUser> {
|
||||||
|
|
||||||
List<AdminUserSimpleVO> getSimples(List<Integer> userIds);
|
List<AdminUserSimpleVO> getSimples(List<Integer> userIds);
|
||||||
|
|
||||||
List<Integer> getTickerMangagers(List<String> titleCodes);
|
List<Integer> getTickerMangagers();
|
||||||
|
|
||||||
|
List<Integer> getCQMIds(String titleCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,5 +13,5 @@ import com.nflg.mobilebroken.repository.entity.TicketCallJoin;
|
||||||
*/
|
*/
|
||||||
public interface TicketCallJoinMapper extends BaseMapper<TicketCallJoin> {
|
public interface TicketCallJoinMapper extends BaseMapper<TicketCallJoin> {
|
||||||
|
|
||||||
boolean isInCall(Integer userId);
|
boolean isInCall(Integer ticketId, String from, Integer userId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public interface IProductCaseService extends IService<ProductCase> {
|
||||||
|
|
||||||
void delete(@Valid BatchDeleteRequest request);
|
void delete(@Valid BatchDeleteRequest request);
|
||||||
|
|
||||||
void publish(@Valid ProductPublishRequest request);
|
void publish(@Valid BatchPublishRequest request);
|
||||||
|
|
||||||
ProductCaseInfoVO getInfo(@Valid @NotNull Integer caseId);
|
ProductCaseInfoVO getInfo(@Valid @NotNull Integer caseId);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public interface IProductHonorService extends IService<ProductHonor> {
|
||||||
|
|
||||||
List<ProductHonorVO> get(String language);
|
List<ProductHonorVO> get(String language);
|
||||||
|
|
||||||
void publish(@Valid ProductPublishRequest request);
|
void publish(@Valid BatchPublishRequest request);
|
||||||
|
|
||||||
void delete(@Valid BatchDeleteRequest request);
|
void delete(@Valid BatchDeleteRequest request);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public interface IProductModelFileService extends IService<ProductModelFile> {
|
||||||
|
|
||||||
void delete(@Valid BatchDeleteRequest request);
|
void delete(@Valid BatchDeleteRequest request);
|
||||||
|
|
||||||
void publish(@Valid ProductModelPublishRequest request);
|
void publish(@Valid BatchPublishRequest request);
|
||||||
|
|
||||||
IPage<ProductModelFile> getList(@Valid ProductModelImageSearchRequest request);
|
IPage<ProductModelFile> getList(@Valid ProductModelImageSearchRequest request);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public interface IProductModelImageService extends IService<ProductModelImage> {
|
||||||
|
|
||||||
void delete(@Valid BatchDeleteRequest request);
|
void delete(@Valid BatchDeleteRequest request);
|
||||||
|
|
||||||
void publish(@Valid ProductPublishRequest request);
|
void publish(@Valid BatchPublishRequest request);
|
||||||
|
|
||||||
IPage<ProductModelImage> getList(@Valid ProductModelImageSearchRequest request);
|
IPage<ProductModelImage> getList(@Valid ProductModelImageSearchRequest request);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public interface IProductModelVideoService extends IService<ProductModelVideo> {
|
||||||
|
|
||||||
void delete(@Valid BatchDeleteRequest request);
|
void delete(@Valid BatchDeleteRequest request);
|
||||||
|
|
||||||
void publish(@Valid ProductPublishRequest request);
|
void publish(@Valid BatchPublishRequest request);
|
||||||
|
|
||||||
IPage<ProductModelVideo> getList(@Valid ProductModelImageSearchRequest request);
|
IPage<ProductModelVideo> getList(@Valid ProductModelImageSearchRequest request);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import javax.validation.constraints.NotNull;
|
||||||
*/
|
*/
|
||||||
public interface ITicketCallJoinService extends IService<TicketCallJoin> {
|
public interface ITicketCallJoinService extends IService<TicketCallJoin> {
|
||||||
|
|
||||||
boolean isInCall(Integer userId);
|
boolean isInCall(Integer ticketId, String from, Integer userId);
|
||||||
|
|
||||||
void join(@Valid @NotNull Integer ticketId, Integer userId, String from);
|
void join(@Valid @NotNull Integer ticketId, Integer userId, String from);
|
||||||
|
|
||||||
|
|
@ -25,6 +25,4 @@ public interface ITicketCallJoinService extends IService<TicketCallJoin> {
|
||||||
boolean hangUp(Integer callId, Integer userId, String from, boolean reject);
|
boolean hangUp(Integer callId, Integer userId, String from, boolean reject);
|
||||||
|
|
||||||
void add(Integer callId, Integer userId, String from);
|
void add(Integer callId, Integer userId, String from);
|
||||||
|
|
||||||
void hangUpAll(Integer id);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,11 @@ import javax.validation.constraints.NotNull;
|
||||||
*/
|
*/
|
||||||
public interface ITicketCallService extends IService<TicketCall> {
|
public interface ITicketCallService extends IService<TicketCall> {
|
||||||
|
|
||||||
boolean isInCall(Integer userId);
|
// boolean isInCall(Integer userId);
|
||||||
|
|
||||||
void add(Integer ticketId, Integer callerUserId,String callerUserFrom, Integer calledUserId, String calledUserFrom);
|
void add(Integer ticketId, Integer callerUserId,String callerUserFrom, Integer calledUserId, String calledUserFrom);
|
||||||
|
|
||||||
boolean hangUp(@NotNull Integer ticketId, Integer userId, String from, boolean reject);
|
// boolean hangUp(@NotNull Integer ticketId, Integer userId, String from, boolean reject);
|
||||||
|
|
||||||
TicketCall getLast(@NotNull Integer ticketId);
|
TicketCall getLast(@NotNull Integer ticketId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
@ -351,12 +350,12 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getTickerMangagers() {
|
public List<Integer> getTickerMangagers() {
|
||||||
return baseMapper.getTickerMangagers(Constant.ROLE_CODE_TICKET_MANAGERS);
|
return baseMapper.getTickerMangagers();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getCQMIds() {
|
public List<Integer> getCQMIds() {
|
||||||
return baseMapper.getTickerMangagers(ListUtil.of(Constant.DICTIONARY_TYPE_TITLE_CQM));
|
return baseMapper.getCQMIds(Constant.DICTIONARY_TYPE_TITLE_CQM);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDepartmentName(Long departmentId) {
|
private String getDepartmentName(Long departmentId) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
@ -27,6 +29,7 @@ import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -54,8 +57,8 @@ public class ProductCaseServiceImpl extends ServiceImpl<ProductCaseMapper, Produ
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
save(entity);
|
save(entity);
|
||||||
if (request.getPublish()) {
|
if (request.getPublish()) {
|
||||||
publish(new ProductPublishRequest()
|
publish(new BatchPublishRequest()
|
||||||
.setId(entity.getId())
|
.setIds(List.of(entity.getId()))
|
||||||
.setState(PublishState.Published.getState()));
|
.setState(PublishState.Published.getState()));
|
||||||
}
|
}
|
||||||
productCaseInfoService.add(entity.getId(), request.getItems());
|
productCaseInfoService.add(entity.getId(), request.getItems());
|
||||||
|
|
@ -79,8 +82,8 @@ public class ProductCaseServiceImpl extends ServiceImpl<ProductCaseMapper, Produ
|
||||||
info.setUpdateTime(LocalDateTime.now());
|
info.setUpdateTime(LocalDateTime.now());
|
||||||
updateById(info);
|
updateById(info);
|
||||||
if (request.getPublish()) {
|
if (request.getPublish()) {
|
||||||
publish(new ProductPublishRequest()
|
publish(new BatchPublishRequest()
|
||||||
.setId(info.getId())
|
.setIds(List.of(info.getId()))
|
||||||
.setState(PublishState.Published.getState()));
|
.setState(PublishState.Published.getState()));
|
||||||
}
|
}
|
||||||
productCaseInfoService.update(request.getItems());
|
productCaseInfoService.update(request.getItems());
|
||||||
|
|
@ -145,14 +148,20 @@ public class ProductCaseServiceImpl extends ServiceImpl<ProductCaseMapper, Produ
|
||||||
productCaseInfoService.delete(request.getIds());
|
productCaseInfoService.delete(request.getIds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void publish(ProductPublishRequest request) {
|
public void publish(BatchPublishRequest request) {
|
||||||
ProductCase info = getById(request.getId());
|
List<ProductCase> list = listByIds(request.getIds());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
|
|
||||||
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), request.getState()))
|
|
||||||
.throwMessage("请勿重复操作");
|
|
||||||
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
||||||
VUtils.trueThrowBusinessError(!info.getEnable()).throwMessage("不能发布已禁用的数据");
|
List<String> names = list.stream().filter(ph -> !ph.getEnable()).map(ProductCase::getTitle).collect(Collectors.toList());
|
||||||
|
VUtils.trueThrowBusinessError(CollectionUtil.isNotEmpty(names)).throwMessage("以下案例被禁用不能发布:" + StrUtil.join(",", names));
|
||||||
|
}
|
||||||
|
list.forEach(it -> publish(it, request.getState()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void publish(ProductCase info, Integer state) {
|
||||||
|
if (Objects.equals(state, info.getState())) return;
|
||||||
|
if (Objects.equals(state, PublishState.Published.getState())) {
|
||||||
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());
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
@ -23,6 +24,7 @@ import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -55,8 +57,8 @@ public class ProductHonorServiceImpl extends ServiceImpl<ProductHonorMapper, Pro
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
save(productHonor);
|
save(productHonor);
|
||||||
if (request.getPublish()) {
|
if (request.getPublish()) {
|
||||||
publish(new ProductPublishRequest()
|
publish(new BatchPublishRequest()
|
||||||
.setId(productHonor.getId())
|
.setIds(List.of(productHonor.getId()))
|
||||||
.setState(PublishState.Published.getState()));
|
.setState(PublishState.Published.getState()));
|
||||||
}
|
}
|
||||||
productHonorInfoService.add(productHonor.getId(), request.getItems());
|
productHonorInfoService.add(productHonor.getId(), request.getItems());
|
||||||
|
|
@ -86,8 +88,8 @@ public class ProductHonorServiceImpl extends ServiceImpl<ProductHonorMapper, Pro
|
||||||
.eq(ProductHonor::getId, request.getId())
|
.eq(ProductHonor::getId, request.getId())
|
||||||
.update();
|
.update();
|
||||||
if (request.getPublish()) {
|
if (request.getPublish()) {
|
||||||
publish(new ProductPublishRequest()
|
publish(new BatchPublishRequest()
|
||||||
.setId(request.getId())
|
.setIds(List.of(request.getId()))
|
||||||
.setState(PublishState.Published.getState()));
|
.setState(PublishState.Published.getState()));
|
||||||
}
|
}
|
||||||
productHonorInfoService.update(request.getItems());
|
productHonorInfoService.update(request.getItems());
|
||||||
|
|
@ -105,14 +107,20 @@ public class ProductHonorServiceImpl extends ServiceImpl<ProductHonorMapper, Pro
|
||||||
return baseMapper.get(language);
|
return baseMapper.get(language);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void publish(ProductPublishRequest request) {
|
public void publish(BatchPublishRequest request) {
|
||||||
ProductHonor info = getById(request.getId());
|
List<ProductHonor> list = listByIds(request.getIds());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
|
|
||||||
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), request.getState()))
|
|
||||||
.throwMessage("请勿重复操作");
|
|
||||||
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
||||||
VUtils.trueThrowBusinessError(!info.getEnable()).throwMessage("不能发布已禁用的数据");
|
List<String> names = list.stream().filter(ph -> !ph.getEnable()).map(ProductHonor::getTitle).collect(Collectors.toList());
|
||||||
|
VUtils.trueThrowBusinessError(CollectionUtil.isNotEmpty(names)).throwMessage("以下荣誉被禁用不能发布:" + StrUtil.join(",", names));
|
||||||
|
}
|
||||||
|
list.forEach(it -> publish(it, request.getState()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void publish(ProductHonor info, Integer state) {
|
||||||
|
if (Objects.equals(state, info.getState())) return;
|
||||||
|
if (Objects.equals(state, PublishState.Published.getState())) {
|
||||||
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());
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ public class ProductModelFileServiceImpl extends ServiceImpl<ProductModelFileMap
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void publish(ProductModelPublishRequest request) {
|
public void publish(BatchPublishRequest request) {
|
||||||
List<ProductModelFile> datas = listByIds(request.getIds());
|
List<ProductModelFile> datas = listByIds(request.getIds());
|
||||||
datas.removeIf(item -> !item.getEnable());
|
datas.removeIf(item -> !item.getEnable());
|
||||||
datas.forEach(info -> {
|
datas.forEach(info -> {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
|
@ -25,6 +26,7 @@ import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -89,13 +91,18 @@ public class ProductModelImageServiceImpl extends ServiceImpl<ProductModelImageM
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void publish(ProductPublishRequest request) {
|
public void publish(BatchPublishRequest request) {
|
||||||
ProductModelImage info = getById(request.getId());
|
List<ProductModelImage> list = listByIds(request.getIds());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
|
|
||||||
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), request.getState()))
|
|
||||||
.throwMessage("请勿重复操作");
|
|
||||||
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
||||||
VUtils.trueThrowBusinessError(!info.getEnable()).throwMessage("不能发布已禁用的数据");
|
List<String> names = list.stream().filter(ph -> !ph.getEnable()).map(ProductModelImage::getName).collect(Collectors.toList());
|
||||||
|
VUtils.trueThrowBusinessError(CollectionUtil.isNotEmpty(names)).throwMessage("以下图片被禁用不能发布:" + StrUtil.join(",", names));
|
||||||
|
}
|
||||||
|
list.forEach(it -> publish(it, request.getState()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void publish(ProductModelImage info, Integer state) {
|
||||||
|
if (Objects.equals(state, info.getState())) return;
|
||||||
|
if (Objects.equals(state, PublishState.Published.getState())) {
|
||||||
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());
|
||||||
|
|
|
||||||
|
|
@ -67,13 +67,11 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, Pro
|
||||||
// .setBatchNumber(request.getBatchNumber())
|
// .setBatchNumber(request.getBatchNumber())
|
||||||
.setNo(request.getNo())
|
.setNo(request.getNo())
|
||||||
.setRecommend(request.getRecommend())
|
.setRecommend(request.getRecommend())
|
||||||
|
.setRecommendExpireTime(request.getRecommendExpireTime())
|
||||||
.setSort(RandomUtil.randomInt(0,10000))
|
.setSort(RandomUtil.randomInt(0,10000))
|
||||||
.setImage(request.getImage())
|
.setImage(request.getImage())
|
||||||
.setCreateBy(AdminUserUtil.getUserName())
|
.setCreateBy(AdminUserUtil.getUserName())
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
if (request.getRecommend()){
|
|
||||||
productModel.setRecommendTime(LocalDateTime.now());
|
|
||||||
}
|
|
||||||
save(productModel);
|
save(productModel);
|
||||||
if (request.getPublish()) {
|
if (request.getPublish()) {
|
||||||
publish(new ProductPublishRequest()
|
publish(new ProductPublishRequest()
|
||||||
|
|
@ -95,15 +93,8 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, Pro
|
||||||
} else {
|
} else {
|
||||||
info.setNo(request.getNo());
|
info.setNo(request.getNo());
|
||||||
// info.setSort(request.getSort());
|
// info.setSort(request.getSort());
|
||||||
if (request.getRecommend()) {
|
info.setRecommend(request.getRecommend());
|
||||||
if (!info.getRecommend()) {
|
info.setRecommendExpireTime(request.getRecommendExpireTime());
|
||||||
info.setRecommend(true);
|
|
||||||
info.setRecommendTime(LocalDateTime.now());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
info.setRecommend(false);
|
|
||||||
info.setRecommendTime(null);
|
|
||||||
}
|
|
||||||
info.setModuleId(request.getModuleId());
|
info.setModuleId(request.getModuleId());
|
||||||
info.setSeriesNumber(request.getSeriesNumber());
|
info.setSeriesNumber(request.getSeriesNumber());
|
||||||
info.setTypeNumber(request.getTypeNumber());
|
info.setTypeNumber(request.getTypeNumber());
|
||||||
|
|
@ -205,6 +196,7 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, Pro
|
||||||
.setId(item.getId())
|
.setId(item.getId())
|
||||||
.setNo(item.getNo())
|
.setNo(item.getNo())
|
||||||
.setRecommend(item.getRecommend())
|
.setRecommend(item.getRecommend())
|
||||||
|
.setRecommendExpireTime(item.getRecommendExpireTime())
|
||||||
.setImage(item.getImage())
|
.setImage(item.getImage())
|
||||||
.setParams(productPartParamsService.getMainListByLanguage(item.getId(), language))
|
.setParams(productPartParamsService.getMainListByLanguage(item.getId(), language))
|
||||||
.setFile(productModelFileService.getDefaultByLanguage(item.getId(), language)))
|
.setFile(productModelFileService.getDefaultByLanguage(item.getId(), language)))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
|
@ -25,6 +26,7 @@ import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -110,13 +112,18 @@ public class ProductModelVideoServiceImpl extends ServiceImpl<ProductModelVideoM
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void publish(ProductPublishRequest request) {
|
public void publish(BatchPublishRequest request) {
|
||||||
ProductModelVideo info = getById(request.getId());
|
List<ProductModelVideo> list = listByIds(request.getIds());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(info)).throwMessage("无效的数据");
|
|
||||||
VUtils.trueThrowBusinessError(Objects.equals(info.getState(), request.getState()))
|
|
||||||
.throwMessage("请勿重复操作");
|
|
||||||
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
if (Objects.equals(request.getState(), PublishState.Published.getState())) {
|
||||||
VUtils.trueThrowBusinessError(!info.getEnable()).throwMessage("不能发布已禁用的数据");
|
List<String> names = list.stream().filter(ph -> !ph.getEnable()).map(ProductModelVideo::getName).collect(Collectors.toList());
|
||||||
|
VUtils.trueThrowBusinessError(CollectionUtil.isNotEmpty(names)).throwMessage("以下视频被禁用不能发布:" + StrUtil.join(",", names));
|
||||||
|
}
|
||||||
|
list.forEach(it -> publish(it, request.getState()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void publish(ProductModelVideo info, Integer state) {
|
||||||
|
if (Objects.equals(state, info.getState())) return;
|
||||||
|
if (Objects.equals(state, PublishState.Published.getState())) {
|
||||||
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());
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ public class TicketCallJoinServiceImpl extends ServiceImpl<TicketCallJoinMapper,
|
||||||
private ITicketCallService ticketCallService;
|
private ITicketCallService ticketCallService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isInCall(Integer userId) {
|
public boolean isInCall(Integer ticketId, String from, Integer userId) {
|
||||||
return baseMapper.isInCall(userId);
|
return baseMapper.isInCall(ticketId, from, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
@ -84,7 +84,14 @@ public class TicketCallJoinServiceImpl extends ServiceImpl<TicketCallJoinMapper,
|
||||||
.set(TicketCallJoin::getState, 2)
|
.set(TicketCallJoin::getState, 2)
|
||||||
.set(reject, TicketCallJoin::getHangupTime, LocalDateTime.now())
|
.set(reject, TicketCallJoin::getHangupTime, LocalDateTime.now())
|
||||||
.eq(TicketCallJoin::getCallId, callId)
|
.eq(TicketCallJoin::getCallId, callId)
|
||||||
.ne(TicketCallJoin::getFrom, from)
|
.update();
|
||||||
|
} else {
|
||||||
|
lambdaUpdate()
|
||||||
|
.set(TicketCallJoin::getState, 2)
|
||||||
|
.set(reject, TicketCallJoin::getHangupTime, LocalDateTime.now())
|
||||||
|
.eq(TicketCallJoin::getCallId, callId)
|
||||||
|
.eq(TicketCallJoin::getUserId, userId)
|
||||||
|
.eq(TicketCallJoin::getFrom, from)
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
if (!lambdaQuery()
|
if (!lambdaQuery()
|
||||||
|
|
@ -119,12 +126,4 @@ public class TicketCallJoinServiceImpl extends ServiceImpl<TicketCallJoinMapper,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void hangUpAll(Integer id) {
|
|
||||||
lambdaUpdate()
|
|
||||||
.set(TicketCallJoin::getState, 2)
|
|
||||||
.eq(TicketCallJoin::getCallId, id)
|
|
||||||
.update();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.mobilebroken.common.constant.Constant;
|
|
||||||
import com.nflg.mobilebroken.repository.entity.TicketCall;
|
import com.nflg.mobilebroken.repository.entity.TicketCall;
|
||||||
import com.nflg.mobilebroken.repository.entity.TicketCallJoin;
|
import com.nflg.mobilebroken.repository.entity.TicketCallJoin;
|
||||||
import com.nflg.mobilebroken.repository.mapper.TicketCallMapper;
|
import com.nflg.mobilebroken.repository.mapper.TicketCallMapper;
|
||||||
|
|
@ -13,7 +11,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|
@ -29,26 +26,33 @@ public class TicketCallServiceImpl extends ServiceImpl<TicketCallMapper, TicketC
|
||||||
@Resource
|
@Resource
|
||||||
private ITicketCallJoinService ticketCallJoinService;
|
private ITicketCallJoinService ticketCallJoinService;
|
||||||
|
|
||||||
@Override
|
// @Override
|
||||||
public boolean isInCall(Integer userId) {
|
// public boolean isInCall(Integer userId) {
|
||||||
return lambdaQuery()
|
// return lambdaQuery()
|
||||||
.eq(TicketCall::getState, 1)
|
// .eq(TicketCall::getState, 1)
|
||||||
.eq(TicketCall::getCallerUserId, userId)
|
// .eq(TicketCall::getCallerUserId, userId)
|
||||||
.exists()
|
// .exists()
|
||||||
||
|
// ||
|
||||||
ticketCallJoinService.isInCall(userId);
|
// ticketCallJoinService.isInCall(userId);
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void add(Integer ticketId, Integer callerUserId,String callerUserFrom, Integer calledUserId, String calledUserFrom) {
|
public void add(Integer ticketId, Integer callerUserId,String callerUserFrom, Integer calledUserId, String calledUserFrom) {
|
||||||
TicketCall ticketCall = new TicketCall()
|
TicketCall ticketCall = new TicketCall()
|
||||||
.setTicketId(ticketId)
|
.setTicketId(ticketId)
|
||||||
.setCallerUserId(callerUserId)
|
// .setCallerUserId(callerUserId)
|
||||||
.setState(0)
|
.setState(0)
|
||||||
.setFrom(callerUserFrom)
|
// .setFrom(callerUserFrom)
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
save(ticketCall);
|
save(ticketCall);
|
||||||
|
ticketCallJoinService.save(new TicketCallJoin()
|
||||||
|
.setCallId(ticketCall.getId())
|
||||||
|
.setFrom(callerUserFrom)
|
||||||
|
.setUserId(callerUserId)
|
||||||
|
.setState(0)
|
||||||
|
.setCreateTime(LocalDateTime.now())
|
||||||
|
);
|
||||||
ticketCallJoinService.save(new TicketCallJoin()
|
ticketCallJoinService.save(new TicketCallJoin()
|
||||||
.setCallId(ticketCall.getId())
|
.setCallId(ticketCall.getId())
|
||||||
.setFrom(calledUserFrom)
|
.setFrom(calledUserFrom)
|
||||||
|
|
@ -58,24 +62,24 @@ public class TicketCallServiceImpl extends ServiceImpl<TicketCallMapper, TicketC
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// @Override
|
||||||
public boolean hangUp(Integer ticketId, Integer userId, String from, boolean reject) {
|
// public boolean hangUp(Integer ticketId, Integer userId, String from, boolean reject) {
|
||||||
TicketCall ticketCall = getLast(ticketId);
|
// TicketCall ticketCall = getLast(ticketId);
|
||||||
boolean flag = false;
|
// boolean flag = false;
|
||||||
if (Objects.nonNull(ticketCall)){
|
// if (Objects.nonNull(ticketCall)){
|
||||||
if ((Objects.equals(ticketCall.getCallerUserId(), userId) && StrUtil.equals(ticketCall.getFrom(), Constant.FROM_APP))
|
// if ((Objects.equals(ticketCall.getCallerUserId(), userId) && StrUtil.equals(ticketCall.getFrom(), Constant.FROM_APP))
|
||||||
|| ticketCallJoinService.allIsHangUp(ticketCall.getId())){
|
// || ticketCallJoinService.allIsHangUp(ticketCall.getId())){
|
||||||
ticketCall.setState(2);
|
// ticketCall.setState(2);
|
||||||
ticketCallJoinService.hangUpAll(ticketCall.getId());
|
// ticketCallJoinService.hangUpAll(ticketCall.getId());
|
||||||
if (reject) {
|
// if (reject) {
|
||||||
ticketCall.setHangupTime(LocalDateTime.now());
|
// ticketCall.setHangupTime(LocalDateTime.now());
|
||||||
}
|
// }
|
||||||
updateById(ticketCall);
|
// updateById(ticketCall);
|
||||||
}
|
// }
|
||||||
flag=ticketCallJoinService.hangUp(ticketCall.getId(), userId, from, reject);
|
// flag=ticketCallJoinService.hangUp(ticketCall.getId(), userId, from, reject);
|
||||||
}
|
// }
|
||||||
return flag;
|
// return flag;
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TicketCall getLast(Integer ticketId) {
|
public TicketCall getLast(Integer ticketId) {
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,13 @@
|
||||||
SELECT au.id
|
SELECT au.id
|
||||||
FROM t_base_position p
|
FROM t_base_position p
|
||||||
INNER JOIN admin_user au ON au.title_id=p.id
|
INNER JOIN admin_user au ON au.title_id=p.id
|
||||||
WHERE au.state=1 AND au.is_del=0 AND p.position_code IN
|
WHERE au.state=1 AND au.is_del=0 AND p.ticket_manage
|
||||||
<foreach collection="titleCodes" item="titleCode" separator="," open="(" close=")">
|
</select>
|
||||||
#{titleCode}
|
|
||||||
</foreach>
|
<select id="getCQMIds" resultType="java.lang.Integer">
|
||||||
|
SELECT au.id
|
||||||
|
FROM t_base_position p
|
||||||
|
INNER JOIN admin_user au ON au.title_id=p.id
|
||||||
|
WHERE au.state=1 AND au.is_del=0 AND p.position_code=#{titleCode}
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,7 @@
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="getList" resultType="com.nflg.mobilebroken.repository.entity.TBasePosition">
|
<select id="getList" resultType="com.nflg.mobilebroken.repository.entity.TBasePosition">
|
||||||
select id, position_code, position_name, position_attribute, data_create_user_no,
|
select *
|
||||||
data_create_user_name, data_create_time, data_modify_user_no, data_modify_user_name,
|
|
||||||
data_modify_time
|
|
||||||
from t_base_position
|
from t_base_position
|
||||||
where data_valid_state=1 <include refid="whr" />
|
where data_valid_state=1 <include refid="whr" />
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@
|
||||||
INNER JOIN ticket_call_join tcj ON tc.id = tcj.call_id
|
INNER JOIN ticket_call_join tcj ON tc.id = tcj.call_id
|
||||||
WHERE tc.state = 1
|
WHERE tc.state = 1
|
||||||
AND tcj.state = 1
|
AND tcj.state = 1
|
||||||
AND tcj.user_id = #{userId}
|
AND tcj.user_id = #{userId} and tcj.from = #{from} and tc.ticket_id = #{ticketId}
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue