提交 24201074 authored 作者: liupengfei's avatar liupengfei

--no commit message

上级 ebb74920
package com.zrqx.core.client.form.resource;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class IdAndTypeForm {
@ApiModelProperty("id")
private String id;
@ApiModelProperty("资源类型")
private Integer resourceType;
}
package com.zrqx.core.client.form.sysuser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 前台-点赞
* @author rjy
* @date 2020年1月17日下午2:53:49
*/
@Data
public class CommenForm {
@ApiModelProperty(value = "评论id")
private Integer commentId;
@ApiModelProperty(value = "0 取消点赞,1:点赞")
private Integer type;
}
package com.zrqx.core.client.resource.fg;
import com.zrqx.core.client.form.resource.IdAndTypeForm;
import com.zrqx.core.util.response.CallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@FeignClient(value="resource",fallback=CoverClientHystric.class)
public interface CoverClient {
@GetMapping(value = "/fg/menu/query/by/resourceType")
CallBack<String> getByResourceType(IdAndTypeForm form);
}
package com.zrqx.core.client.resource.fg;
import com.zrqx.core.client.form.resource.IdAndTypeForm;
import com.zrqx.core.util.response.CallBack;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class CoverClientHystric implements CoverClient{
@Override
public CallBack<String> getByResourceType(IdAndTypeForm form) {
log.info("通过id:"+ form.getId()+ "调用资源服务失败");
return CallBack.fail();
}
}
package com.zrqx.core.enums.area;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
import com.zrqx.core.exception.BaseException;
public enum AreaLevelEnum {
COUNTRY("country", "国家", 99),
PROVINCE("province", "省" , 2),
CITY("city","市", 4),
DISTRICT("district","区", 6);
private final String code;
private final String name;
/**区域码,用于查询或删除功能 */
private final int index;
private static final HashMap<String,String> MAP = new HashMap<String,String>();
static {
stream().forEach(e -> {
MAP.put(e.code, e.name);
});
}
private AreaLevelEnum(String code, String name, int index) {
this.code = code;
this.name = name;
this.index = index;
}
public static Map<String, String> getMap(){
return AreaLevelEnum.MAP;
}
/**
* @return
* @author lpf
* @date: 2019年3月18日 下午5:05:16
*/
public static Stream<AreaLevelEnum> stream(){
return Stream.of(values());
}
/**
* 判断名称是否有效
* @param name
* @return
* @author lpf
* @date: 2018年6月11日 下午6:30:16
*/
public static boolean isExist(String code) {
return stream().anyMatch(e -> e.code.equals(code));
}
/**
* 根据code 获取名字
* @Title getName
* @param code
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getName(String code) {
return stream().filter(e -> e.code.equals(code)).findFirst().map(e -> e.name).orElse(null);
}
/**
* 根据名字 获取code
* @Title getCode
* @param name
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getCode(String name) {
return stream().filter(e -> e.name.equals(name)).findFirst().map(e -> e.code).orElse(null);
}
public static int getIndex(String code) {
return stream().filter(e -> e.code.equals(code))
.findFirst().map(e -> e.index)
.orElseThrow(() -> new BaseException("code:" + code + ";区域代码不识别"));
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.zrqx.core.enums.resource;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
/**
* 资源分类枚举
* @author zzg
*
*/
public enum ResourceTypeEnum {
/** 电子书 */
EBOOK("1", "电子书"),
/** 实体书 */
BOOK("2", "实体书"),
/** 视频 */
VIDEO("3", "课程"),
/** 菜谱 */
MENU("4", "菜谱"),
/** 文化 */
CULTURE("5", "文化");
private final String code;
private final String name;
private static final HashMap<String,String> MAP = new HashMap<String,String>();
static {
stream().forEach(e -> {
MAP.put(e.code, e.name);
});
}
private ResourceTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static Map<String, String> getMap(){
return ResourceTypeEnum.MAP;
}
/**
* @return
* @author lpf
* @date: 2019年3月18日 下午5:05:16
*/
public static Stream<ResourceTypeEnum> stream(){
return Stream.of(values());
}
/**
* 判断名称是否有效
* @param name
* @return
* @author lpf
* @date: 2018年6月11日 下午6:30:16
*/
public static boolean isExist(String code) {
return stream().anyMatch(e -> e.code.equals(code));
}
/**
* 根据code 获取名字
* @Title getName
* @param code
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getName(String code) {
return stream().filter(e -> e.code.equals(code)).findFirst().map(e -> e.name).orElse(null);
}
/**
* 根据名字 获取code
* @Title getCode
* @param name
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getCode(String name) {
return stream().filter(e -> e.name.equals(name)).findFirst().map(e -> e.code).orElse(null);
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
...@@ -29,7 +29,19 @@ public enum DictonaryCodeEnum { ...@@ -29,7 +29,19 @@ public enum DictonaryCodeEnum {
/** /**
* 会员签到参数 * 会员签到参数
*/ */
MEMBERSIGNED("MEMBERSIGNED","会员签到参数") ; MEMBERSIGNED("MEMBERSIGNED","会员签到参数"),
/**
* 注册协议
*/
REGISTER_AGREEMENT("REGISTER-AGREEMENT","注册协议"),
/**
* 视频大小
*/
VIDEO_SIZE("VIDEO_SIZE","视频大小"),
/**
* 图片大小
*/
IMAGE_SIZE("VIDEO_SIZE","图片大小");
private final String code; private final String code;
private final String description; private final String description;
......
package com.zrqx.core.enums.sysuser.feedback;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
import com.zrqx.core.enums.resource.ResourceTypeEnum;
public enum FeedBackTypeEnum {
/** 功能建议 */
GNJY("1", "功能建议"),
/** 界面建议 */
JMJY("2", "界面建议"),
/** 新的需求*/
XDXQ("3", "新的需求"),
/** 其他 */
QITA("4", "其他");
private final String code;
private final String name;
private static final HashMap<String,String> MAP = new HashMap<String,String>();
static {
stream().forEach(e -> {
MAP.put(e.code, e.name);
});
}
private FeedBackTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static Map<String, String> getMap(){
return FeedBackTypeEnum.MAP;
}
/**
* @return
* @author lpf
* @date: 2019年3月18日 下午5:05:16
*/
public static Stream<FeedBackTypeEnum> stream(){
return Stream.of(values());
}
/**
* 判断名称是否有效
* @param name
* @return
* @author lpf
* @date: 2018年6月11日 下午6:30:16
*/
public static boolean isExist(String code) {
return stream().anyMatch(e -> e.code.equals(code));
}
/**
* 根据code 获取名字
* @Title getName
* @param code
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getName(String code) {
return stream().filter(e -> e.code.equals(code)).findFirst().map(e -> e.name).orElse(null);
}
/**
* 根据名字 获取code
* @Title getCode
* @param name
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getCode(String name) {
return stream().filter(e -> e.name.equals(name)).findFirst().map(e -> e.code).orElse(null);
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.zrqx.core.enums.sysuser.report;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
/**
* 举报类型
*/
public enum ReportTypeEnum {
BANQUAN("0","版权问题"),
MINZUZONGJIAO("1","民族宗教"),
SHEHUANG("2","涉黄"),
QINFAN("3","侵犯他人名誉、肖像权"),
QITA("4","其他");
private final String code;
private final String name;
private ReportTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
private static final Map<String,String> map = new HashMap<>();
static {
stream().forEach(e ->{
map.put(e.code,e.name);
});
}
public static Stream<ReportTypeEnum> stream(){
return Stream.of(values());
}
public static Map<String, String> getMap(){
return ReportTypeEnum.map;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
/**
* 判断名称是否有效
* @param code
* @return
* @author lpf
* @date: 2018年6月11日 下午6:30:16
*/
public static boolean isExist(String code) {
return stream().anyMatch(e -> e.code.equals(code));
}
/**
* 根据code 获取名字
* @Title getName
* @param code
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getName(String code) {
return stream().filter(e -> e.code.equals(code)).findFirst().map(e -> e.name).orElse(null);
}
/**
* 根据名字 获取code
* @Title getCode
* @param name
* @return String
* @author lpf
* @date 2019年3月18日17:14:18
*/
public static String getCode(String name) {
return stream().filter(e -> e.name.equals(name)).findFirst().map(e -> e.code).orElse(null);
}
}
...@@ -2,15 +2,17 @@ package com.zrqx.core.service; ...@@ -2,15 +2,17 @@ package com.zrqx.core.service;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;
import org.apache.ibatis.session.RowBounds; import org.apache.ibatis.session.RowBounds;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;
import com.zrqx.core.util.page.PageInfo; import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam; import com.zrqx.core.util.page.PageParam;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;
public interface BaseService<M, ID extends Serializable> extends NotNullInterface<M, ID> { public interface BaseService<M, ID extends Serializable> extends NotNullInterface<M, ID> {
/** /**
...@@ -40,6 +42,14 @@ public interface BaseService<M, ID extends Serializable> extends NotNullInterfac ...@@ -40,6 +42,14 @@ public interface BaseService<M, ID extends Serializable> extends NotNullInterfac
boolean deleteByCriteria(); boolean deleteByCriteria();
/** /**
* Description: 排序,对方法执行后的第一个sql进行排序
* @param orderBy
* @return void
* @author lpf
* @date 2020-04-15 14:08
*/
void orderBy(String orderBy);
/**
* 分页 * 分页
*/ */
public PageInfo<M> queryAll(PageParam pageParam); public PageInfo<M> queryAll(PageParam pageParam);
...@@ -239,5 +249,25 @@ public interface BaseService<M, ID extends Serializable> extends NotNullInterfac ...@@ -239,5 +249,25 @@ public interface BaseService<M, ID extends Serializable> extends NotNullInterfac
*/ */
M selectOneByExample(Example example); M selectOneByExample(Example example);
boolean batchDelete(List<ID> ids);
/**
* 批量删除,携带附属逻辑,附属逻辑执行完成后才会执行删除主表内容
* @param ids
* @param consumers 附属逻辑 M -> void
* @return
* @author lpf
* @date: 2020年3月11日 下午9:09:25
*/
boolean batchDeleteAndOther(List<ID> ids, @SuppressWarnings("unchecked") Consumer<M>... consumers) ;
/**
* 批量删除,携带附属逻辑
* 跳过异常循环,执行不出现异常的循环,返回去重后的异常信息
* @param ids
* @param consumers
* @return
*/
List<String> batchDeleteContinueException(List<ID> ids, @SuppressWarnings("unchecked") Consumer<M>... consumers);
} }
\ No newline at end of file
...@@ -5,9 +5,11 @@ import java.lang.reflect.Field; ...@@ -5,9 +5,11 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType; import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.persistence.Id; import javax.persistence.Id;
...@@ -108,7 +110,19 @@ public abstract class BaseServiceImpl<M, ID extends Serializable> implements Bas ...@@ -108,7 +110,19 @@ public abstract class BaseServiceImpl<M, ID extends Serializable> implements Bas
protected void startPage(PageParam pageParam) { protected void startPage(PageParam pageParam) {
PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize(), pageParam.getOrderBy()); PageHelper.startPage(pageParam.getPageNum(), pageParam.getPageSize(), pageParam.getOrderBy());
} }
/**
* 仅动态排序
* @param pageParam
* @author lpf
* @date: 2019年5月23日 下午8:12:53
*/
protected void orderBy(PageParam pageParam) {
this.orderBy(pageParam.getOrderBy());
}
@Override
public void orderBy(String orderBy) {
PageHelper.orderBy(orderBy);
}
@Override @Override
public PageInfo<M> query(M entity, PageParam pageParam) { public PageInfo<M> query(M entity, PageParam pageParam) {
startPage(pageParam); startPage(pageParam);
...@@ -332,5 +346,53 @@ public abstract class BaseServiceImpl<M, ID extends Serializable> implements Bas ...@@ -332,5 +346,53 @@ public abstract class BaseServiceImpl<M, ID extends Serializable> implements Bas
} }
@Override
public boolean batchDelete(List<ID> ids) {
ids.forEach(id -> {
this.deleteByPrimaryKey(id);
});
return true;
}
@Override
public boolean batchDeleteAndOther(List<ID> ids, Consumer<M>... consumers) {
ids.forEach(id -> {
M m = this.selectByPrimaryKey(id);
if (m == null) {
return ;
}
if (consumers.length > 0) {
for (Consumer<M> consumer : consumers) {
consumer.accept(m);
}
}
this.deleteByPrimaryKey(id);
});
return true;
}
@Override
public List<String> batchDeleteContinueException(List<ID> ids, Consumer<M>... consumers) {
List<String> errors = new ArrayList<>();
ids.forEach(id -> {
M m = this.selectByPrimaryKey(id);
if (m == null) {
return ;
}
try {
if (consumers.length > 0) {
for (Consumer<M> consumer : consumers) {
consumer.accept(m);
}
}
this.deleteByPrimaryKey(id);
} catch (BaseException e) {
e.printStackTrace();
errors.add(e.getMessage());
}
});
List<String> er = errors.stream().distinct().collect(Collectors.toList());
return er;
}
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论