Commit bc053fcd authored by 廖旭伟's avatar 廖旭伟

达州一窗服务知识库系统

parent 59a534bc
-- ----------------------------
-- 辅助接件事项浏览记录表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_site_matter_assist_views`;
CREATE TABLE mortals_sys_site_matter_assist_views(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`assistId` bigint(20) DEFAULT '0' COMMENT '辅助接件事项ID',
`matterId` bigint(20) COMMENT '事项ID',
`viewUserId` bigint(20) COMMENT '浏览用户id',
`viewUserName` varchar(512) COMMENT '浏览用户名称',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建人id',
`updateTime` datetime COMMENT '更新时间',
`updateUserId` bigint(20) COMMENT '更新人id',
PRIMARY KEY (`id`)
,KEY `id` (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='辅助接件事项浏览记录';
-- ----------------------------
-- 常见问题表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_sys_question`;
CREATE TABLE mortals_sys_question(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID,主键,自增长',
`title` varchar(256) COMMENT '问题标题',
`deptId` bigint(20) COMMENT '所属部门id',
`deptName` varchar(256) COMMENT '所属部门名称',
`details` text COMMENT '问题详情',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建人id',
`updateTime` datetime COMMENT '更新时间',
`updateUserId` bigint(20) COMMENT '更新人id',
PRIMARY KEY (`id`)
,KEY `id` (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='常见问题';
ALTER TABLE `mortals_sys_site_matter_assist` ADD COLUMN `suggest` tinyint(2) DEFAULT '0' COMMENT '推荐状态';
\ No newline at end of file
......@@ -42,7 +42,7 @@
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.nacos.server-addr>192.168.0.252:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov-chuanshan</profiles.nacos.namespace>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>INFO</profiles.log.level>
<package.environment>test</package.environment>
......
......@@ -7,31 +7,43 @@ import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.utils.MenuEncodeUtil;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Primary;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.servlet.http.HttpServletRequest;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* token验证处理
*
* @author zxfei
*/
@Service
@Primary
@Service("authTokenService")
@Order(1)
@Slf4j
public class AuthTokenServiceImpl implements IAuthTokenService {
@Autowired
private UserService userService;
// 令牌自定义标识
@Value("${token.header:Authorization}")
private String header;
......@@ -54,9 +66,6 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
@Value("${token.database:0}")
private Integer portalDb;
@Value("${platform.type:cloud}")
private String platFormType;//版本,默认云服务版本
protected static final Long SECOND = 1l;
protected static final Long SECOND_MINUTE = 60 * SECOND;
......@@ -72,6 +81,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
@Autowired
private ICacheService cacheService;
@Autowired
private ResourceService resourceService;
/**
* 获取信息
*
......@@ -84,19 +97,42 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
String token = getToken(request);
if (StringUtils.isNotEmpty(token)) {
try {
boolean signed = Jwts.parser().isSigned(token);
if (!signed) {
log.error("token非法!=>{}", token);
return null;
}
Claims claims = parseToken(token);
String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid);
// cacheService.select(portalDb);
String userStr = cacheService.get(userKey);
// cacheService.select(db);
if (StringUtils.isNotEmpty(userStr)) {
UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
userEntity.setToken(token);
/* cacheService.select(portalDb);
String userStr = cacheService.get(userKey);*/
RedisTemplate<String, String> redisTemplate = cacheService.selectDbRedisTemplate(portalDb);
String userStr =redisTemplate.opsForValue().get(userKey);
//刷新token时间
UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
if (!ObjectUtils.isEmpty(userEntity)) {
verifyToken(userEntity);
}
// cacheService.select(db);
if (!ObjectUtils.isEmpty(userEntity)) {
UserEntity temp = userService.getExtCache(userEntity.getLoginName());
if (!ObjectUtils.isEmpty(temp)) {
userEntity.setId(temp.getId());
}
//更新resource 路径
String menuUrlCode = cacheService.hget(RedisKey.KEY_USER_MENU_CACHE, userEntity.getId().toString(), String.class);
if (ObjectUtils.isEmpty(menuUrlCode)) {
Set<String> urls = resourceService.findUrlSetByUserId(userEntity.getId());
menuUrlCode = MenuEncodeUtil.generateMenuUrlCode(urls);
cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userEntity.getId().toString(), menuUrlCode);
}
userEntity.setMenuUrl(menuUrlCode);
return userEntity;
}
} catch (Exception e) {
log.error("解析jwt token异常!", e);
log.error("解析jwt token异常!,token:{}",token, e);
return null;
}
}
......@@ -150,8 +186,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
public void verifyToken(IUser user) {
long expireTime = user.getExpireTime();
long currentTime = System.currentTimeMillis();
if (expireTime - currentTime <= SECOND_MINUTE_TEN) {
log.info("不足十分钟,刷新过期时间");
if (expireTime - currentTime <= SECOND_MINUTE_TEN*1000) {
log.info("不足十分钟,刷新过期时间");
refreshToken(user);
}
}
......@@ -163,7 +199,7 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
*/
public void refreshToken(IUser user) {
//user.setLoginTime(System.currentTimeMillis());
user.setExpireTime(user.getLoginTime() == null ? System.currentTimeMillis() : user.getLoginTime() + expireTime * SECOND_MINUTE);
user.setExpireTime(user.getLoginTime() == null ? System.currentTimeMillis() : user.getLoginTime() + expireTime * SECOND_MINUTE*1000);
// 根据uuid将user缓存
String userKey = getTokenKey(user.getToken());
//设置有效时间 单位秒
......@@ -230,4 +266,11 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
private String getTokenKey(String uuid) {
return SysConstains.LOGIN_TOKEN_KEY + uuid;
}
public static void main(String[] args) {
// boolean signed = Jwts.parser().isSigned("123");
boolean signed = Jwts.parser().isSigned("eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuaW5naGFvLm5ldCIsImV4cCI6IjE0Mzg5NTU0NDUiLCJuYW1lIjoid2FuZ2hhbyIsImFkbWluIjp0cnVlfQ.SwyHTEx_RQppr97g4J5lKXtabJecpejuef8AqKYMAJc");
System.out.println(signed);
}
}
......@@ -9,7 +9,6 @@ import com.mortals.framework.util.AESUtil;
import com.mortals.framework.utils.ServletUtils;
import com.mortals.framework.web.interceptor.BaseInterceptor;
import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.common.code.ApiRespCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
......@@ -21,7 +20,6 @@ import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import static com.mortals.xhx.common.key.ErrorCode.*;
import static com.mortals.xhx.common.key.ErrorCode.ERROR_USER_OPERATION_CONTENT;
/**
* 用户权限验证,基于token
......@@ -74,7 +72,7 @@ public class AuthUserInterceptor extends BaseInterceptor {
if (ObjectUtils.isEmpty(loginUser)) {
ServletUtils.renderString(response, JSONObject.toJSONString(Rest.fail(ERROR_TOKEN_EXPIRED, ERROR_TOKEN_EXPIRED_CONTENT)));
return false;
} else if (loginUser.isAdmin() || loginUser.getUserType() == 1 || loginUser.getUserType() == 2) {
} else if (loginUser.isAdmin() || loginUser.getUserType() == 1) {
return super.preHandle(request, response, handler);
} else {
ServletUtils.renderString(response, JSONObject.toJSONString(Rest.fail(ERROR_USER_OPERATION, ERROR_USER_OPERATION_CONTENT)));
......
/**
* 文件:ResourceServiceImpl.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
* 文件:ResourceServiceImpl.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.resource.service.impl;
......@@ -15,7 +15,6 @@ import com.mortals.xhx.base.system.resource.dao.ResourceDao;
import com.mortals.xhx.base.system.resource.model.ResourceEntity;
import com.mortals.xhx.base.system.resource.model.ResourceQuery;
import com.mortals.xhx.base.system.resource.service.ResourceService;
import org.springframework.stereotype.Service;
import java.util.HashSet;
......@@ -27,7 +26,7 @@ import java.util.Set;
* <p>Description: ResourceServiceImpl service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @author
* @version 1.0.0
*/
@Service("resourceService")
......@@ -52,7 +51,7 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao,Res
@Override
public Set<String> findUrlSetByUserId(Long userId) throws AppException {
Set<String> urls = new HashSet<String>();
Set<String> urls = new HashSet<>();
List<ResourceEntity> resList = this.findListByUserId(userId);
for (ResourceEntity res : resList) {
String url = res.getUrl();
......@@ -69,5 +68,7 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao,Res
public List<ResourceEntity> findAll(int userType) {
return dao.getAll(userType);
}
}
\ No newline at end of file
......@@ -25,4 +25,5 @@ import java.util.List;
public interface UserDao extends ICRUDDao<UserEntity,Long> {
public List<Long> getAuthListById(Long id);
int deleteNotIn(List<Long> keyList);
}
\ No newline at end of file
......@@ -34,5 +34,8 @@ public class UserDaoImpl extends BaseCRUDDaoMybatis<UserEntity,Long> implements
param.getCondition().put("id", id);
return getSqlSession().selectList(getSqlId("getAuthListById"), param);
}
@Override
public int deleteNotIn(List<Long> keyList) {
return this.getSqlSession().delete(this.getSqlId("deleteByNotInKeyList"), keyList);
}
}
\ No newline at end of file
/**
* 文件:UserService.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
* 文件:UserService.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.user.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.framework.service.ICRUDService;
import com.mortals.framework.service.IUser;
import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.user.dao.UserDao;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.pdu.user.UserPhpPdu;
import java.util.List;
......@@ -26,11 +26,11 @@ import java.util.Set;
* <p>Description: UserService service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @author
* @version 1.0.0
*/
public interface UserService extends ICRUDService<UserEntity,Long> {
public interface UserService extends ICRUDCacheService<UserEntity,Long> {
/**
* 用户登录
*
......@@ -40,7 +40,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @throws AppException
*/
UserEntity doLogin(String loginName, String password, String loginIp) throws AppException;
UserEntity doLogin(String loginName, String password, String loginIp) throws AppException;
/**
* 校验用户名与密码是否正确
......@@ -50,7 +50,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @throws AppException
*/
UserEntity doCheckUser(String loginName, String password) throws AppException;
UserEntity doCheckUser(String loginName, String password) throws AppException;
/**
* 检查用户是否存在
......@@ -59,7 +59,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @param userId 密码
* @return
*/
boolean existUser(String loginName, Long userId) throws AppException;
boolean existUser(String loginName, Long userId) throws AppException;
/**
* 通过登录用户获取菜单功能权限
......@@ -67,7 +67,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @param user
* @return
*/
List<MenuEntity> findOutlookBarList(IUser user);
List<MenuEntity> findOutlookBarList(IUser user);
/**
* 查询用户所有有权限的菜单ID
......@@ -75,7 +75,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @param userEntity
* @return
*/
Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException;
Set<Long> findAllAuthIds(UserEntity userEntity) throws AppException;
/**
* 查询用户记录
......@@ -87,7 +87,7 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @throws AppException
*/
Result<UserEntity> find(Long platformId, UserEntity params, int currPage, int prePageResult) throws AppException;
Result<UserEntity> find(Long platformId, UserEntity params, int currPage, int prePageResult) throws AppException;
/**
* 为客户创建用户
......@@ -102,8 +102,8 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @throws AppException
*/
UserEntity createUser(IUser currUser, Long customerId, String customerName, String loginName, String password,
String userName, String mobile) throws AppException;
UserEntity createUser(IUser currUser, Long customerId, String customerName, String loginName, String password,
String userName, String mobile) throws AppException;
/**
* 用户修改密码
......@@ -114,10 +114,10 @@ public interface UserService extends ICRUDService<UserEntity,Long> {
* @return
* @throws AppException
*/
boolean updateUserPwd(String loginName, String oldPwd, String newPwd) throws AppException;
boolean updateUserPwd(String loginName, String oldPwd, String newPwd) throws AppException;
void updateUserList(List<UserPhpPdu> list);
UserDao getUserDao();
UserDao getUserDao();
}
\ No newline at end of file
......@@ -15,11 +15,11 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.IUser;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.SecurityUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.menu.model.MenuEntity;
import com.mortals.xhx.base.system.menu.service.MenuService;
import com.mortals.xhx.base.system.resource.model.ResourceEntity;
......@@ -32,12 +32,7 @@ import com.mortals.xhx.base.system.user.dao.UserDao;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.pdu.user.UserPhpPdu;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.SyncTreeSiteThread;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -56,7 +51,7 @@ import java.util.stream.Collectors;
* @version 1.0.0
*/
@Service("userService")
public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity, Long> implements UserService {
public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserEntity, Long> implements UserService {
@Autowired
......@@ -326,6 +321,7 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
@Override
public void updateUserList(List<UserPhpPdu> list) {
if(!CollectionUtils.isEmpty(list)){
List<Long> userIdList = new ArrayList<>();
for(UserPhpPdu phpPdu:list){
UserEntity tempUser = this.selectOne(new UserQuery().loginName(phpPdu.getAccount()));
if (ObjectUtils.isEmpty(tempUser)) {
......@@ -341,10 +337,12 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
throw new AppException("密码转换异常!", e);
}
entity.setUserType(DataUtil.converStr2Int(phpPdu.getType(),1));
this.save(entity);
dao.insert(entity);
userIdList.add(entity.getId());
} else {
//更新
UserEntity userEntity = new UserEntity();
userEntity.setId(tempUser.getId());
userEntity.setLoginName(phpPdu.getAccount());
userEntity.setRealName(phpPdu.getUser_name());
userEntity.setMobile(phpPdu.getMobile());
......@@ -354,9 +352,13 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
throw new AppException("密码转换异常!", e);
}
userEntity.setUserType(DataUtil.converStr2Int(phpPdu.getType(),1));
this.update(userEntity);
dao.update(userEntity);
userIdList.add(tempUser.getId());
}
}
if(userIdList.size()>0){
dao.deleteNotIn(userIdList);
}
}
}
......
......@@ -10,4 +10,5 @@ public class RedisKey {
*/
public static final String KEY_MENU_CACHE = "iot:base:MenuCacheKey:";
public static final String KEY_USER_MENU_CACHE = "user:menu";
}
package com.mortals.xhx.common.utils;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.util.AESUtil;
import lombok.extern.slf4j.Slf4j;
import java.util.Set;
@Slf4j
public class MenuEncodeUtil {
public static String generateMenuUrlCode(Set<String> urls) {
try {
String securityKey = GlobalSysInfo.getPropertyValue(SysConstains.PROP_COOKIE_SECURITY_KEY);
StringBuilder sb = new StringBuilder();
if (urls != null && urls.size() > 0) {
for (String url : urls) {
int index = url.hashCode() & (Integer.MAX_VALUE - 1);
sb.append(index).append(",");
}
}
String menuUrl = sb.toString();
return AESUtil.encrypt(menuUrl, securityKey);
} catch (Throwable e) {
log.error("编码异常",e);
return null;
}
}
}
package com.mortals.xhx.common.utils;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.site.model.SiteTreeSelect;
import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.utils.SpringUtils;
import lombok.AllArgsConstructor;
import lombok.extern.apachecommons.CommonsLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* @author: zxfei
* @date: 2022/4/13 13:34
* @description:
**/
@AllArgsConstructor
@Slf4j
public class SyncTreeSiteThread implements Runnable {
private Context context;
@Override
public void run() {
SiteService siteService = SpringUtils.getBean(SiteService.class);
List<SiteTreeSelect> siteTreeSelects = siteService.siteTree(context);
siteService.setSiteTree(siteTreeSelects, context);
log.info("刷新用户站点树=》userID:{} siteIds:{} siteTree:{}",context.getUser().getId(),context.getUser().getSiteIds(), JSON.toJSONString(siteService.getSiteTree(context)));
}
}
//package com.mortals.xhx.common.utils;
//
//import com.alibaba.fastjson.JSON;
//import com.mortals.framework.model.Context;
//import com.mortals.xhx.module.site.model.SiteTreeSelect;
//import com.mortals.xhx.module.site.service.SiteService;
//import com.mortals.xhx.utils.SpringUtils;
//import lombok.AllArgsConstructor;
//import lombok.extern.apachecommons.CommonsLog;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.util.ObjectUtils;
//
//import java.util.List;
//
///**
// * @author: zxfei
// * @date: 2022/4/13 13:34
// * @description:
// **/
//@AllArgsConstructor
//@Slf4j
//public class SyncTreeSiteThread implements Runnable {
//
// private Context context;
//
// @Override
// public void run() {
// SiteService siteService = SpringUtils.getBean(SiteService.class);
// List<SiteTreeSelect> siteTreeSelects = siteService.siteTree(context);
// siteService.setSiteTree(siteTreeSelects, context);
// log.info("刷新用户站点树=》userID:{} siteIds:{} siteTree:{}",context.getUser().getId(),context.getUser().getSiteIds(), JSON.toJSONString(siteService.getSiteTree(context)));
// }
//
//}
package com.mortals.xhx.daemon.task;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.feign.user.IUserFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 同步门户用户
*/
@Slf4j
@Service("SyncPortalUserTask")
public class SyncPortalUserTaskImpl implements ITaskExcuteService {
@Autowired
private IUserFeign userFeign;
@Autowired
private UserService userService;
@Override
public void excuteTask(ITask task) throws AppException {
try {
log.info("同步门户用户");
syncPersons();
} catch (Exception e) {
log.error("同步门户异常", e);
}
}
private void syncPersons() {
UserPdu userPdu = new UserPdu();
userPdu.setPage(1);
userPdu.setSize(-1);
Rest<RespData<List<UserPdu>>> resp = userFeign.list(userPdu);
if (resp.getCode() == YesNoEnum.YES.getValue()) {
List<UserPdu> userPduList = resp.getData().getData();
log.info("用户总数量:{}", userPduList.size());
if (!ObjectUtils.isEmpty(userPduList)) {
List<UserEntity> newUserList = userPduList.stream().map(newUser -> {
UserEntity userEntity = new UserEntity();
userEntity.initAttrValue();
BeanUtils.copyProperties(newUser, userEntity, new String[]{"id", "lastLoginTime", "lastLoginAddress"});
return userEntity;
}).collect(Collectors.toList());
List<UserEntity> oldUserList = userService.find(new UserQuery());
log.info(" oldUserList size:{}", oldUserList.size());
//当前用户map
Map<String, UserEntity> oldUserMap = oldUserList.parallelStream().collect(Collectors.toMap(x -> x.getLoginName(), y -> y, (o, n) -> n));
//门户用户map
// Map<String, UserEntity> newUserMap = newUserList.stream().collect(Collectors.toMap(x -> x.getLoginName(), y -> y, (o, n) -> n));
List<UserEntity> saveUserList = newUserList.stream().map(item -> {
if (!oldUserMap.containsKey(item.getLoginName())) {
item.setCreateUserId(1L);
item.setCreateUserName("系统管理员");
item.setCreateTime(new Date());
return item;
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(saveUserList)) {
log.info("用户新增,size:{}", saveUserList.size());
saveUserList.stream().forEach(item -> {
userService.getUserDao().insert(item);
});
}
// List<ApproverEntity> newApproverList = userPduList.stream().map(newUser -> {
// ApproverEntity approverEntity = new ApproverEntity();
// approverEntity.initAttrValue();
// approverEntity.setFullName(newUser.getRealName());
// if(StringUtils.isNotEmpty(newUser.getPhone())) {
// approverEntity.setPhoneNumber(newUser.getMobile());
// }else {
// approverEntity.setPhoneNumber("13888888888");
// }
// approverEntity.setLoginName(newUser.getLoginName());
// approverEntity.setLoginPwd(newUser.getLoginPwd());
// return approverEntity;
// }).collect(Collectors.toList());
// List<ApproverEntity> oldApproverList = approverService.find(new ApproverQuery());
// log.info(" oldApproverList size:{}", oldApproverList.size());
// //当前单事项审批人员
// Map<String, ApproverEntity> oldApproverMap = oldApproverList.parallelStream().collect(Collectors.toMap(x -> x.getLoginName(), y -> y, (o, n) -> n));
// List<ApproverEntity> saveApproverList = newApproverList.stream().map(item -> {
// if (!oldApproverMap.containsKey(item.getLoginName())) {
// item.setCreateUserId(1L);
// item.setCreateUserName("系统管理员");
// item.setCreateTime(new Date());
// return item;
// }
// return null;
// }).filter(f -> f != null).collect(Collectors.toList());
//
//
// if (!ObjectUtils.isEmpty(saveApproverList)) {
// log.info("单事项审批人员新增,size:{}", saveApproverList.size());
// saveApproverList.stream().forEach(item -> {
// approverService.getDao().insert(item);
// });
// }
}
//查找新增 与更新
}
}
@Override
public void stopTask(ITask task) throws AppException {
}
}
package com.mortals.xhx.daemon.task;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.framework.util.HttpUtil;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.pdu.user.UserPhpPdu;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_PHP_HTTP_URL;
/**
* 同步用户
*/
@Slf4j
@Service("SyncUserTask")
public class SyncUserTaskImpl implements ITaskExcuteService {
@Override
public void excuteTask(ITask task) throws AppException {
}
@Override
public void stopTask(ITask task) throws AppException {
}
}
//package com.mortals.xhx.daemon.task;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.mortals.framework.ap.GlobalSysInfo;
//import com.mortals.framework.common.Rest;
//import com.mortals.framework.exception.AppException;
//import com.mortals.framework.service.ITask;
//import com.mortals.framework.service.ITaskExcuteService;
//import com.mortals.framework.util.HttpUtil;
//import com.mortals.xhx.base.system.user.service.UserService;
//import com.mortals.xhx.common.pdu.user.UserPhpPdu;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.util.HashMap;
//import java.util.List;
//
//import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_PHP_HTTP_URL;
//
///**
// * 同步用户
// */
//@Slf4j
//@Service("SyncUserTask")
//public class SyncUserTaskImpl implements ITaskExcuteService {
//
//
// @Override
// public void excuteTask(ITask task) throws AppException {
//
//
// }
//
//
// @Override
// public void stopTask(ITask task) throws AppException {
//
// }
//
//
//}
package com.mortals.xhx.module.question.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.question.model.QuestionEntity;
import java.util.List;
/**
* 常见问题Dao
* 常见问题 DAO接口
*
* @author zxfei
* @date 2025-05-15
*/
public interface QuestionDao extends ICRUDDao<QuestionEntity,Long>{
}
package com.mortals.xhx.module.question.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.question.dao.QuestionDao;
import com.mortals.xhx.module.question.model.QuestionEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 常见问题DaoImpl DAO接口
*
* @author zxfei
* @date 2025-05-15
*/
@Repository("questionDao")
public class QuestionDaoImpl extends BaseCRUDDaoMybatis<QuestionEntity,Long> implements QuestionDao {
}
package com.mortals.xhx.module.question.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.question.model.vo.QuestionVo;
import lombok.Data;
/**
* 常见问题实体对象
*
* @author zxfei
* @date 2025-05-15
*/
@Data
public class QuestionEntity extends QuestionVo {
private static final long serialVersionUID = 1L;
/**
* 问题标题
*/
private String title;
/**
* 所属部门id
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 问题详情
*/
private String details;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof QuestionEntity) {
QuestionEntity tmp = (QuestionEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.title = "";
this.deptId = null;
this.deptName = "";
this.details = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.question.model;
import java.util.List;
import com.mortals.xhx.module.question.model.QuestionEntity;
/**
* 常见问题查询对象
*
* @author zxfei
* @date 2025-05-15
*/
public class QuestionQuery extends QuestionEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
/** 结束 主键ID,主键,自增长 */
private Long idEnd;
/** 增加 主键ID,主键,自增长 */
private Long idIncrement;
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/** 主键ID,主键,自增长排除列表 */
private List <Long> idNotList;
/** 问题标题 */
private List<String> titleList;
/** 问题标题排除列表 */
private List <String> titleNotList;
/** 开始 所属部门id */
private Long deptIdStart;
/** 结束 所属部门id */
private Long deptIdEnd;
/** 增加 所属部门id */
private Long deptIdIncrement;
/** 所属部门id列表 */
private List <Long> deptIdList;
/** 所属部门id排除列表 */
private List <Long> deptIdNotList;
/** 所属部门名称 */
private List<String> deptNameList;
/** 所属部门名称排除列表 */
private List <String> deptNameNotList;
/** 问题详情 */
private List<String> detailsList;
/** 问题详情排除列表 */
private List <String> detailsNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建人id */
private Long createUserIdStart;
/** 结束 创建人id */
private Long createUserIdEnd;
/** 增加 创建人id */
private Long createUserIdIncrement;
/** 创建人id列表 */
private List <Long> createUserIdList;
/** 创建人id排除列表 */
private List <Long> createUserIdNotList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 更新人id */
private Long updateUserIdStart;
/** 结束 更新人id */
private Long updateUserIdEnd;
/** 增加 更新人id */
private Long updateUserIdIncrement;
/** 更新人id列表 */
private List <Long> updateUserIdList;
/** 更新人id排除列表 */
private List <Long> updateUserIdNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<QuestionQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<QuestionQuery> andConditionList;
public QuestionQuery(){}
/**
* 获取 开始 主键ID,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键ID,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键ID,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键ID,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 主键ID,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 问题标题
* @return titleList
*/
public List<String> getTitleList(){
return this.titleList;
}
/**
* 设置 问题标题
* @param titleList
*/
public void setTitleList(List<String> titleList){
this.titleList = titleList;
}
/**
* 获取 问题标题
* @return titleNotList
*/
public List<String> getTitleNotList(){
return this.titleNotList;
}
/**
* 设置 问题标题
* @param titleNotList
*/
public void setTitleNotList(List<String> titleNotList){
this.titleNotList = titleNotList;
}
/**
* 获取 开始 所属部门id
* @return deptIdStart
*/
public Long getDeptIdStart(){
return this.deptIdStart;
}
/**
* 设置 开始 所属部门id
* @param deptIdStart
*/
public void setDeptIdStart(Long deptIdStart){
this.deptIdStart = deptIdStart;
}
/**
* 获取 结束 所属部门id
* @return $deptIdEnd
*/
public Long getDeptIdEnd(){
return this.deptIdEnd;
}
/**
* 设置 结束 所属部门id
* @param deptIdEnd
*/
public void setDeptIdEnd(Long deptIdEnd){
this.deptIdEnd = deptIdEnd;
}
/**
* 获取 增加 所属部门id
* @return deptIdIncrement
*/
public Long getDeptIdIncrement(){
return this.deptIdIncrement;
}
/**
* 设置 增加 所属部门id
* @param deptIdIncrement
*/
public void setDeptIdIncrement(Long deptIdIncrement){
this.deptIdIncrement = deptIdIncrement;
}
/**
* 获取 所属部门id
* @return deptIdList
*/
public List<Long> getDeptIdList(){
return this.deptIdList;
}
/**
* 设置 所属部门id
* @param deptIdList
*/
public void setDeptIdList(List<Long> deptIdList){
this.deptIdList = deptIdList;
}
/**
* 获取 所属部门id
* @return deptIdNotList
*/
public List<Long> getDeptIdNotList(){
return this.deptIdNotList;
}
/**
* 设置 所属部门id
* @param deptIdNotList
*/
public void setDeptIdNotList(List<Long> deptIdNotList){
this.deptIdNotList = deptIdNotList;
}
/**
* 获取 所属部门名称
* @return deptNameList
*/
public List<String> getDeptNameList(){
return this.deptNameList;
}
/**
* 设置 所属部门名称
* @param deptNameList
*/
public void setDeptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
}
/**
* 获取 所属部门名称
* @return deptNameNotList
*/
public List<String> getDeptNameNotList(){
return this.deptNameNotList;
}
/**
* 设置 所属部门名称
* @param deptNameNotList
*/
public void setDeptNameNotList(List<String> deptNameNotList){
this.deptNameNotList = deptNameNotList;
}
/**
* 获取 问题详情
* @return detailsList
*/
public List<String> getDetailsList(){
return this.detailsList;
}
/**
* 设置 问题详情
* @param detailsList
*/
public void setDetailsList(List<String> detailsList){
this.detailsList = detailsList;
}
/**
* 获取 问题详情
* @return detailsNotList
*/
public List<String> getDetailsNotList(){
return this.detailsNotList;
}
/**
* 设置 问题详情
* @param detailsNotList
*/
public void setDetailsNotList(List<String> detailsNotList){
this.detailsNotList = detailsNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 创建人id
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建人id
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建人id
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建人id
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建人id
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建人id
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建人id
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建人id
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建人id
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建人id
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 更新人id
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新人id
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新人id
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新人id
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新人id
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新人id
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新人id
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新人id
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新人id
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新人id
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param id
*/
public QuestionQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public QuestionQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public QuestionQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public QuestionQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public QuestionQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public QuestionQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 问题标题
* @param title
*/
public QuestionQuery title(String title){
setTitle(title);
return this;
}
/**
* 设置 问题标题
* @param titleList
*/
public QuestionQuery titleList(List<String> titleList){
this.titleList = titleList;
return this;
}
/**
* 设置 所属部门id
* @param deptId
*/
public QuestionQuery deptId(Long deptId){
setDeptId(deptId);
return this;
}
/**
* 设置 开始 所属部门id
* @param deptIdStart
*/
public QuestionQuery deptIdStart(Long deptIdStart){
this.deptIdStart = deptIdStart;
return this;
}
/**
* 设置 结束 所属部门id
* @param deptIdEnd
*/
public QuestionQuery deptIdEnd(Long deptIdEnd){
this.deptIdEnd = deptIdEnd;
return this;
}
/**
* 设置 增加 所属部门id
* @param deptIdIncrement
*/
public QuestionQuery deptIdIncrement(Long deptIdIncrement){
this.deptIdIncrement = deptIdIncrement;
return this;
}
/**
* 设置 所属部门id
* @param deptIdList
*/
public QuestionQuery deptIdList(List<Long> deptIdList){
this.deptIdList = deptIdList;
return this;
}
/**
* 设置 所属部门id
* @param deptIdNotList
*/
public QuestionQuery deptIdNotList(List<Long> deptIdNotList){
this.deptIdNotList = deptIdNotList;
return this;
}
/**
* 设置 所属部门名称
* @param deptName
*/
public QuestionQuery deptName(String deptName){
setDeptName(deptName);
return this;
}
/**
* 设置 所属部门名称
* @param deptNameList
*/
public QuestionQuery deptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
return this;
}
/**
* 设置 问题详情
* @param details
*/
public QuestionQuery details(String details){
setDetails(details);
return this;
}
/**
* 设置 问题详情
* @param detailsList
*/
public QuestionQuery detailsList(List<String> detailsList){
this.detailsList = detailsList;
return this;
}
/**
* 设置 创建人id
* @param createUserId
*/
public QuestionQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建人id
* @param createUserIdStart
*/
public QuestionQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建人id
* @param createUserIdEnd
*/
public QuestionQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建人id
* @param createUserIdIncrement
*/
public QuestionQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建人id
* @param createUserIdList
*/
public QuestionQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建人id
* @param createUserIdNotList
*/
public QuestionQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新人id
* @param updateUserId
*/
public QuestionQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新人id
* @param updateUserIdStart
*/
public QuestionQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新人id
* @param updateUserIdEnd
*/
public QuestionQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新人id
* @param updateUserIdIncrement
*/
public QuestionQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新人id
* @param updateUserIdList
*/
public QuestionQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新人id
* @param updateUserIdNotList
*/
public QuestionQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<QuestionQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<QuestionQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<QuestionQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<QuestionQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.question.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.question.model.QuestionEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 常见问题视图对象
*
* @author zxfei
* @date 2025-05-15
*/
@Data
public class QuestionVo extends BaseEntityLong {
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.question.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.question.model.QuestionEntity;
import com.mortals.xhx.module.question.dao.QuestionDao;
/**
* QuestionService
*
* 常见问题 service接口
*
* @author zxfei
* @date 2025-05-15
*/
public interface QuestionService extends ICRUDService<QuestionEntity,Long>{
QuestionDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.question.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.question.dao.QuestionDao;
import com.mortals.xhx.module.question.model.QuestionEntity;
import com.mortals.xhx.module.question.service.QuestionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* QuestionService
* 常见问题 service实现
*
* @author zxfei
* @date 2025-05-15
*/
@Service("questionService")
@Slf4j
public class QuestionServiceImpl extends AbstractCRUDServiceImpl<QuestionDao, QuestionEntity, Long> implements QuestionService {
@Override
protected void saveBefore(QuestionEntity entity, Context context) throws AppException {
entity.setUpdateUserId(entity.getCreateUserId());
entity.setUpdateTime(entity.getCreateTime());
super.saveBefore(entity, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.question.web;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.module.question.model.QuestionEntity;
import com.mortals.xhx.module.question.service.QuestionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
import static java.util.stream.Collectors.toMap;
/**
*
* 常见问题
*
* @author zxfei
* @date 2025-05-15
*/
@RestController
@RequestMapping("question")
public class QuestionController extends BaseCRUDJsonBodyMappingController<QuestionService,QuestionEntity,Long> {
@Autowired
private UserService userService;
public QuestionController(){
super.setModuleDesc( "常见问题");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "updateUserId", userService.find(new UserQuery()).stream().collect(toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n)));
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
import java.util.List;
/**
* 辅助接件事项浏览记录Dao
* 辅助接件事项浏览记录 DAO接口
*
* @author zxfei
* @date 2025-05-15
*/
public interface SiteMatterAssistViewsDao extends ICRUDDao<SiteMatterAssistViewsEntity,Long>{
}
package com.mortals.xhx.module.site.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.site.dao.SiteMatterAssistViewsDao;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 辅助接件事项浏览记录DaoImpl DAO接口
*
* @author zxfei
* @date 2025-05-15
*/
@Repository("siteMatterAssistViewsDao")
public class SiteMatterAssistViewsDaoImpl extends BaseCRUDDaoMybatis<SiteMatterAssistViewsEntity,Long> implements SiteMatterAssistViewsDao {
}
package com.mortals.xhx.module.site.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.site.model.vo.SiteMatterAssistVo;
import lombok.Data;
/**
* 辅助接件事项实体对象
*
* @author zxfei
* @date 2023-03-21
* @date 2025-05-15
*/
@Data
public class SiteMatterAssistEntity extends SiteMatterAssistVo {
private static final long serialVersionUID = 1L;
......@@ -72,210 +75,10 @@ public class SiteMatterAssistEntity extends SiteMatterAssistVo {
* 政务网地址
*/
private String govUrl;
public SiteMatterAssistEntity(){}
/**
* 获取 站点事项id
* @return Long
*/
public Long getSiteMatterId(){
return siteMatterId;
}
/**
* 设置 站点事项id
* @param siteMatterId
*/
public void setSiteMatterId(Long siteMatterId){
this.siteMatterId = siteMatterId;
}
/**
* 获取 事项ID
* @return Long
*/
public Long getMatterId(){
return matterId;
}
/**
* 设置 事项ID
* @param matterId
*/
public void setMatterId(Long matterId){
this.matterId = matterId;
}
/**
* 获取 事项名称
* @return String
*/
public String getMatterName(){
return matterName;
}
/**
* 设置 事项名称
* @param matterName
*/
public void setMatterName(String matterName){
this.matterName = matterName;
}
/**
* 获取 事项编码
* @return String
*/
public String getMatterCode(){
return matterCode;
}
/**
* 设置 事项编码
* @param matterCode
*/
public void setMatterCode(String matterCode){
this.matterCode = matterCode;
}
/**
* 获取 部门ID
* @return Long
*/
public Long getDeptId(){
return deptId;
}
/**
* 设置 部门ID
* @param deptId
*/
public void setDeptId(Long deptId){
this.deptId = deptId;
}
/**
* 获取 部门名称
* @return String
*/
public String getDeptName(){
return deptName;
}
/**
* 设置 部门名称
* @param deptName
*/
public void setDeptName(String deptName){
this.deptName = deptName;
}
/**
* 获取 部门编码
* @return String
* 推荐状态
*/
public String getDeptCode(){
return deptCode;
}
/**
* 设置 部门编码
* @param deptCode
*/
public void setDeptCode(String deptCode){
this.deptCode = deptCode;
}
/**
* 获取 股室ID
* @return Long
*/
public Long getOfficeId(){
return officeId;
}
/**
* 设置 股室ID
* @param officeId
*/
public void setOfficeId(Long officeId){
this.officeId = officeId;
}
/**
* 获取 股室名称
* @return String
*/
public String getOfficeName(){
return officeName;
}
/**
* 设置 股室名称
* @param officeName
*/
public void setOfficeName(String officeName){
this.officeName = officeName;
}
/**
* 获取 负责人姓名
* @return String
*/
public String getDutyer(){
return dutyer;
}
/**
* 设置 负责人姓名
* @param dutyer
*/
public void setDutyer(String dutyer){
this.dutyer = dutyer;
}
/**
* 获取 联系电话
* @return String
*/
public String getTelephone(){
return telephone;
}
/**
* 设置 联系电话
* @param telephone
*/
public void setTelephone(String telephone){
this.telephone = telephone;
}
/**
* 获取 事项来源
* @return Integer
*/
public Integer getSource(){
return source;
}
/**
* 设置 事项来源
* @param source
*/
public void setSource(Integer source){
this.source = source;
}
/**
* 获取 浏览次数
* @return Long
*/
public Long getViewsCount(){
return viewsCount;
}
/**
* 设置 浏览次数
* @param viewsCount
*/
public void setViewsCount(Long viewsCount){
this.viewsCount = viewsCount;
}
/**
* 获取 政务网地址
* @return String
*/
public String getGovUrl(){
return govUrl;
}
/**
* 设置 政务网地址
* @param govUrl
*/
public void setGovUrl(String govUrl){
this.govUrl = govUrl;
}
private Integer suggest;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -292,53 +95,21 @@ public class SiteMatterAssistEntity extends SiteMatterAssistVo {
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",siteMatterId:").append(getSiteMatterId());
sb.append(",matterId:").append(getMatterId());
sb.append(",matterName:").append(getMatterName());
sb.append(",matterCode:").append(getMatterCode());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptName:").append(getDeptName());
sb.append(",deptCode:").append(getDeptCode());
sb.append(",officeId:").append(getOfficeId());
sb.append(",officeName:").append(getOfficeName());
sb.append(",dutyer:").append(getDutyer());
sb.append(",telephone:").append(getTelephone());
sb.append(",source:").append(getSource());
sb.append(",viewsCount:").append(getViewsCount());
sb.append(",govUrl:").append(getGovUrl());
return sb.toString();
}
public void initAttrValue(){
this.siteMatterId = null;
this.matterId = null;
this.matterName = "";
this.matterCode = "";
this.deptId = null;
this.deptName = "";
this.deptCode = "";
this.officeId = null;
this.officeName = "";
this.dutyer = "";
this.telephone = "";
this.source = null;
this.source = 0;
this.viewsCount = 0L;
this.govUrl = "";
this.suggest = 0;
}
}
\ No newline at end of file
......@@ -6,7 +6,7 @@ import com.mortals.xhx.module.site.model.SiteMatterAssistEntity;
* 辅助接件事项查询对象
*
* @author zxfei
* @date 2023-03-21
* @date 2025-05-15
*/
public class SiteMatterAssistQuery extends SiteMatterAssistEntity {
/** 开始 序号,主键,自增长 */
......@@ -196,6 +196,21 @@ public class SiteMatterAssistQuery extends SiteMatterAssistEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 推荐状态 */
private Integer suggestStart;
/** 结束 推荐状态 */
private Integer suggestEnd;
/** 增加 推荐状态 */
private Integer suggestIncrement;
/** 推荐状态列表 */
private List <Integer> suggestList;
/** 推荐状态排除列表 */
private List <Integer> suggestNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<SiteMatterAssistQuery> orConditionList;
......@@ -1253,6 +1268,87 @@ public class SiteMatterAssistQuery extends SiteMatterAssistEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 推荐状态
* @return suggestStart
*/
public Integer getSuggestStart(){
return this.suggestStart;
}
/**
* 设置 开始 推荐状态
* @param suggestStart
*/
public void setSuggestStart(Integer suggestStart){
this.suggestStart = suggestStart;
}
/**
* 获取 结束 推荐状态
* @return $suggestEnd
*/
public Integer getSuggestEnd(){
return this.suggestEnd;
}
/**
* 设置 结束 推荐状态
* @param suggestEnd
*/
public void setSuggestEnd(Integer suggestEnd){
this.suggestEnd = suggestEnd;
}
/**
* 获取 增加 推荐状态
* @return suggestIncrement
*/
public Integer getSuggestIncrement(){
return this.suggestIncrement;
}
/**
* 设置 增加 推荐状态
* @param suggestIncrement
*/
public void setSuggestIncrement(Integer suggestIncrement){
this.suggestIncrement = suggestIncrement;
}
/**
* 获取 推荐状态
* @return suggestList
*/
public List<Integer> getSuggestList(){
return this.suggestList;
}
/**
* 设置 推荐状态
* @param suggestList
*/
public void setSuggestList(List<Integer> suggestList){
this.suggestList = suggestList;
}
/**
* 获取 推荐状态
* @return suggestNotList
*/
public List<Integer> getSuggestNotList(){
return this.suggestNotList;
}
/**
* 设置 推荐状态
* @param suggestNotList
*/
public void setSuggestNotList(List<Integer> suggestNotList){
this.suggestNotList = suggestNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1893,6 +1989,60 @@ public class SiteMatterAssistQuery extends SiteMatterAssistEntity {
}
/**
* 设置 推荐状态
* @param suggest
*/
public SiteMatterAssistQuery suggest(Integer suggest){
setSuggest(suggest);
return this;
}
/**
* 设置 开始 推荐状态
* @param suggestStart
*/
public SiteMatterAssistQuery suggestStart(Integer suggestStart){
this.suggestStart = suggestStart;
return this;
}
/**
* 设置 结束 推荐状态
* @param suggestEnd
*/
public SiteMatterAssistQuery suggestEnd(Integer suggestEnd){
this.suggestEnd = suggestEnd;
return this;
}
/**
* 设置 增加 推荐状态
* @param suggestIncrement
*/
public SiteMatterAssistQuery suggestIncrement(Integer suggestIncrement){
this.suggestIncrement = suggestIncrement;
return this;
}
/**
* 设置 推荐状态
* @param suggestList
*/
public SiteMatterAssistQuery suggestList(List<Integer> suggestList){
this.suggestList = suggestList;
return this;
}
/**
* 设置 推荐状态
* @param suggestNotList
*/
public SiteMatterAssistQuery suggestNotList(List<Integer> suggestNotList){
this.suggestNotList = suggestNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
package com.mortals.xhx.module.site.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.site.model.vo.SiteMatterAssistViewsVo;
import lombok.Data;
/**
* 辅助接件事项浏览记录实体对象
*
* @author zxfei
* @date 2025-05-15
*/
@Data
public class SiteMatterAssistViewsEntity extends SiteMatterAssistViewsVo {
private static final long serialVersionUID = 1L;
/**
* 辅助接件事项ID
*/
private Long assistId;
/**
* 事项ID
*/
private Long matterId;
/**
* 浏览用户id
*/
private Long viewUserId;
/**
* 浏览用户名称
*/
private String viewUserName;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof SiteMatterAssistViewsEntity) {
SiteMatterAssistViewsEntity tmp = (SiteMatterAssistViewsEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.assistId = 0L;
this.matterId = null;
this.viewUserId = null;
this.viewUserName = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.model;
import java.util.List;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
/**
* 辅助接件事项浏览记录查询对象
*
* @author zxfei
* @date 2025-05-15
*/
public class SiteMatterAssistViewsQuery extends SiteMatterAssistViewsEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
/** 结束 主键ID,主键,自增长 */
private Long idEnd;
/** 增加 主键ID,主键,自增长 */
private Long idIncrement;
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/** 主键ID,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 辅助接件事项ID */
private Long assistIdStart;
/** 结束 辅助接件事项ID */
private Long assistIdEnd;
/** 增加 辅助接件事项ID */
private Long assistIdIncrement;
/** 辅助接件事项ID列表 */
private List <Long> assistIdList;
/** 辅助接件事项ID排除列表 */
private List <Long> assistIdNotList;
/** 开始 事项ID */
private Long matterIdStart;
/** 结束 事项ID */
private Long matterIdEnd;
/** 增加 事项ID */
private Long matterIdIncrement;
/** 事项ID列表 */
private List <Long> matterIdList;
/** 事项ID排除列表 */
private List <Long> matterIdNotList;
/** 开始 浏览用户id */
private Long viewUserIdStart;
/** 结束 浏览用户id */
private Long viewUserIdEnd;
/** 增加 浏览用户id */
private Long viewUserIdIncrement;
/** 浏览用户id列表 */
private List <Long> viewUserIdList;
/** 浏览用户id排除列表 */
private List <Long> viewUserIdNotList;
/** 浏览用户名称 */
private List<String> viewUserNameList;
/** 浏览用户名称排除列表 */
private List <String> viewUserNameNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建人id */
private Long createUserIdStart;
/** 结束 创建人id */
private Long createUserIdEnd;
/** 增加 创建人id */
private Long createUserIdIncrement;
/** 创建人id列表 */
private List <Long> createUserIdList;
/** 创建人id排除列表 */
private List <Long> createUserIdNotList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 更新人id */
private Long updateUserIdStart;
/** 结束 更新人id */
private Long updateUserIdEnd;
/** 增加 更新人id */
private Long updateUserIdIncrement;
/** 更新人id列表 */
private List <Long> updateUserIdList;
/** 更新人id排除列表 */
private List <Long> updateUserIdNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<SiteMatterAssistViewsQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<SiteMatterAssistViewsQuery> andConditionList;
public SiteMatterAssistViewsQuery(){}
/**
* 获取 开始 主键ID,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键ID,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键ID,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键ID,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 主键ID,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 辅助接件事项ID
* @return assistIdStart
*/
public Long getAssistIdStart(){
return this.assistIdStart;
}
/**
* 设置 开始 辅助接件事项ID
* @param assistIdStart
*/
public void setAssistIdStart(Long assistIdStart){
this.assistIdStart = assistIdStart;
}
/**
* 获取 结束 辅助接件事项ID
* @return $assistIdEnd
*/
public Long getAssistIdEnd(){
return this.assistIdEnd;
}
/**
* 设置 结束 辅助接件事项ID
* @param assistIdEnd
*/
public void setAssistIdEnd(Long assistIdEnd){
this.assistIdEnd = assistIdEnd;
}
/**
* 获取 增加 辅助接件事项ID
* @return assistIdIncrement
*/
public Long getAssistIdIncrement(){
return this.assistIdIncrement;
}
/**
* 设置 增加 辅助接件事项ID
* @param assistIdIncrement
*/
public void setAssistIdIncrement(Long assistIdIncrement){
this.assistIdIncrement = assistIdIncrement;
}
/**
* 获取 辅助接件事项ID
* @return assistIdList
*/
public List<Long> getAssistIdList(){
return this.assistIdList;
}
/**
* 设置 辅助接件事项ID
* @param assistIdList
*/
public void setAssistIdList(List<Long> assistIdList){
this.assistIdList = assistIdList;
}
/**
* 获取 辅助接件事项ID
* @return assistIdNotList
*/
public List<Long> getAssistIdNotList(){
return this.assistIdNotList;
}
/**
* 设置 辅助接件事项ID
* @param assistIdNotList
*/
public void setAssistIdNotList(List<Long> assistIdNotList){
this.assistIdNotList = assistIdNotList;
}
/**
* 获取 开始 事项ID
* @return matterIdStart
*/
public Long getMatterIdStart(){
return this.matterIdStart;
}
/**
* 设置 开始 事项ID
* @param matterIdStart
*/
public void setMatterIdStart(Long matterIdStart){
this.matterIdStart = matterIdStart;
}
/**
* 获取 结束 事项ID
* @return $matterIdEnd
*/
public Long getMatterIdEnd(){
return this.matterIdEnd;
}
/**
* 设置 结束 事项ID
* @param matterIdEnd
*/
public void setMatterIdEnd(Long matterIdEnd){
this.matterIdEnd = matterIdEnd;
}
/**
* 获取 增加 事项ID
* @return matterIdIncrement
*/
public Long getMatterIdIncrement(){
return this.matterIdIncrement;
}
/**
* 设置 增加 事项ID
* @param matterIdIncrement
*/
public void setMatterIdIncrement(Long matterIdIncrement){
this.matterIdIncrement = matterIdIncrement;
}
/**
* 获取 事项ID
* @return matterIdList
*/
public List<Long> getMatterIdList(){
return this.matterIdList;
}
/**
* 设置 事项ID
* @param matterIdList
*/
public void setMatterIdList(List<Long> matterIdList){
this.matterIdList = matterIdList;
}
/**
* 获取 事项ID
* @return matterIdNotList
*/
public List<Long> getMatterIdNotList(){
return this.matterIdNotList;
}
/**
* 设置 事项ID
* @param matterIdNotList
*/
public void setMatterIdNotList(List<Long> matterIdNotList){
this.matterIdNotList = matterIdNotList;
}
/**
* 获取 开始 浏览用户id
* @return viewUserIdStart
*/
public Long getViewUserIdStart(){
return this.viewUserIdStart;
}
/**
* 设置 开始 浏览用户id
* @param viewUserIdStart
*/
public void setViewUserIdStart(Long viewUserIdStart){
this.viewUserIdStart = viewUserIdStart;
}
/**
* 获取 结束 浏览用户id
* @return $viewUserIdEnd
*/
public Long getViewUserIdEnd(){
return this.viewUserIdEnd;
}
/**
* 设置 结束 浏览用户id
* @param viewUserIdEnd
*/
public void setViewUserIdEnd(Long viewUserIdEnd){
this.viewUserIdEnd = viewUserIdEnd;
}
/**
* 获取 增加 浏览用户id
* @return viewUserIdIncrement
*/
public Long getViewUserIdIncrement(){
return this.viewUserIdIncrement;
}
/**
* 设置 增加 浏览用户id
* @param viewUserIdIncrement
*/
public void setViewUserIdIncrement(Long viewUserIdIncrement){
this.viewUserIdIncrement = viewUserIdIncrement;
}
/**
* 获取 浏览用户id
* @return viewUserIdList
*/
public List<Long> getViewUserIdList(){
return this.viewUserIdList;
}
/**
* 设置 浏览用户id
* @param viewUserIdList
*/
public void setViewUserIdList(List<Long> viewUserIdList){
this.viewUserIdList = viewUserIdList;
}
/**
* 获取 浏览用户id
* @return viewUserIdNotList
*/
public List<Long> getViewUserIdNotList(){
return this.viewUserIdNotList;
}
/**
* 设置 浏览用户id
* @param viewUserIdNotList
*/
public void setViewUserIdNotList(List<Long> viewUserIdNotList){
this.viewUserIdNotList = viewUserIdNotList;
}
/**
* 获取 浏览用户名称
* @return viewUserNameList
*/
public List<String> getViewUserNameList(){
return this.viewUserNameList;
}
/**
* 设置 浏览用户名称
* @param viewUserNameList
*/
public void setViewUserNameList(List<String> viewUserNameList){
this.viewUserNameList = viewUserNameList;
}
/**
* 获取 浏览用户名称
* @return viewUserNameNotList
*/
public List<String> getViewUserNameNotList(){
return this.viewUserNameNotList;
}
/**
* 设置 浏览用户名称
* @param viewUserNameNotList
*/
public void setViewUserNameNotList(List<String> viewUserNameNotList){
this.viewUserNameNotList = viewUserNameNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 创建人id
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建人id
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建人id
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建人id
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建人id
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建人id
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建人id
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建人id
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建人id
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建人id
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 更新人id
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新人id
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新人id
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新人id
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新人id
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新人id
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新人id
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新人id
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新人id
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新人id
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param id
*/
public SiteMatterAssistViewsQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public SiteMatterAssistViewsQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public SiteMatterAssistViewsQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public SiteMatterAssistViewsQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public SiteMatterAssistViewsQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public SiteMatterAssistViewsQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 辅助接件事项ID
* @param assistId
*/
public SiteMatterAssistViewsQuery assistId(Long assistId){
setAssistId(assistId);
return this;
}
/**
* 设置 开始 辅助接件事项ID
* @param assistIdStart
*/
public SiteMatterAssistViewsQuery assistIdStart(Long assistIdStart){
this.assistIdStart = assistIdStart;
return this;
}
/**
* 设置 结束 辅助接件事项ID
* @param assistIdEnd
*/
public SiteMatterAssistViewsQuery assistIdEnd(Long assistIdEnd){
this.assistIdEnd = assistIdEnd;
return this;
}
/**
* 设置 增加 辅助接件事项ID
* @param assistIdIncrement
*/
public SiteMatterAssistViewsQuery assistIdIncrement(Long assistIdIncrement){
this.assistIdIncrement = assistIdIncrement;
return this;
}
/**
* 设置 辅助接件事项ID
* @param assistIdList
*/
public SiteMatterAssistViewsQuery assistIdList(List<Long> assistIdList){
this.assistIdList = assistIdList;
return this;
}
/**
* 设置 辅助接件事项ID
* @param assistIdNotList
*/
public SiteMatterAssistViewsQuery assistIdNotList(List<Long> assistIdNotList){
this.assistIdNotList = assistIdNotList;
return this;
}
/**
* 设置 事项ID
* @param matterId
*/
public SiteMatterAssistViewsQuery matterId(Long matterId){
setMatterId(matterId);
return this;
}
/**
* 设置 开始 事项ID
* @param matterIdStart
*/
public SiteMatterAssistViewsQuery matterIdStart(Long matterIdStart){
this.matterIdStart = matterIdStart;
return this;
}
/**
* 设置 结束 事项ID
* @param matterIdEnd
*/
public SiteMatterAssistViewsQuery matterIdEnd(Long matterIdEnd){
this.matterIdEnd = matterIdEnd;
return this;
}
/**
* 设置 增加 事项ID
* @param matterIdIncrement
*/
public SiteMatterAssistViewsQuery matterIdIncrement(Long matterIdIncrement){
this.matterIdIncrement = matterIdIncrement;
return this;
}
/**
* 设置 事项ID
* @param matterIdList
*/
public SiteMatterAssistViewsQuery matterIdList(List<Long> matterIdList){
this.matterIdList = matterIdList;
return this;
}
/**
* 设置 事项ID
* @param matterIdNotList
*/
public SiteMatterAssistViewsQuery matterIdNotList(List<Long> matterIdNotList){
this.matterIdNotList = matterIdNotList;
return this;
}
/**
* 设置 浏览用户id
* @param viewUserId
*/
public SiteMatterAssistViewsQuery viewUserId(Long viewUserId){
setViewUserId(viewUserId);
return this;
}
/**
* 设置 开始 浏览用户id
* @param viewUserIdStart
*/
public SiteMatterAssistViewsQuery viewUserIdStart(Long viewUserIdStart){
this.viewUserIdStart = viewUserIdStart;
return this;
}
/**
* 设置 结束 浏览用户id
* @param viewUserIdEnd
*/
public SiteMatterAssistViewsQuery viewUserIdEnd(Long viewUserIdEnd){
this.viewUserIdEnd = viewUserIdEnd;
return this;
}
/**
* 设置 增加 浏览用户id
* @param viewUserIdIncrement
*/
public SiteMatterAssistViewsQuery viewUserIdIncrement(Long viewUserIdIncrement){
this.viewUserIdIncrement = viewUserIdIncrement;
return this;
}
/**
* 设置 浏览用户id
* @param viewUserIdList
*/
public SiteMatterAssistViewsQuery viewUserIdList(List<Long> viewUserIdList){
this.viewUserIdList = viewUserIdList;
return this;
}
/**
* 设置 浏览用户id
* @param viewUserIdNotList
*/
public SiteMatterAssistViewsQuery viewUserIdNotList(List<Long> viewUserIdNotList){
this.viewUserIdNotList = viewUserIdNotList;
return this;
}
/**
* 设置 浏览用户名称
* @param viewUserName
*/
public SiteMatterAssistViewsQuery viewUserName(String viewUserName){
setViewUserName(viewUserName);
return this;
}
/**
* 设置 浏览用户名称
* @param viewUserNameList
*/
public SiteMatterAssistViewsQuery viewUserNameList(List<String> viewUserNameList){
this.viewUserNameList = viewUserNameList;
return this;
}
/**
* 设置 创建人id
* @param createUserId
*/
public SiteMatterAssistViewsQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建人id
* @param createUserIdStart
*/
public SiteMatterAssistViewsQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建人id
* @param createUserIdEnd
*/
public SiteMatterAssistViewsQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建人id
* @param createUserIdIncrement
*/
public SiteMatterAssistViewsQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建人id
* @param createUserIdList
*/
public SiteMatterAssistViewsQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建人id
* @param createUserIdNotList
*/
public SiteMatterAssistViewsQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新人id
* @param updateUserId
*/
public SiteMatterAssistViewsQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新人id
* @param updateUserIdStart
*/
public SiteMatterAssistViewsQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新人id
* @param updateUserIdEnd
*/
public SiteMatterAssistViewsQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新人id
* @param updateUserIdIncrement
*/
public SiteMatterAssistViewsQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新人id
* @param updateUserIdList
*/
public SiteMatterAssistViewsQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新人id
* @param updateUserIdNotList
*/
public SiteMatterAssistViewsQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<SiteMatterAssistViewsQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<SiteMatterAssistViewsQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<SiteMatterAssistViewsQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<SiteMatterAssistViewsQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 辅助接件事项浏览记录视图对象
*
* @author zxfei
* @date 2025-05-15
*/
@Data
public class SiteMatterAssistViewsVo extends BaseEntityLong {
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.site.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
import com.mortals.xhx.module.site.dao.SiteMatterAssistViewsDao;
/**
* SiteMatterAssistViewsService
*
* 辅助接件事项浏览记录 service接口
*
* @author zxfei
* @date 2025-05-15
*/
public interface SiteMatterAssistViewsService extends ICRUDService<SiteMatterAssistViewsEntity,Long>{
SiteMatterAssistViewsDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.site.service.impl;
import com.mortals.framework.model.PageInfo;
import org.springframework.beans.BeanUtils;
import java.util.function.Function;
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.site.dao.SiteMatterAssistViewsDao;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
import com.mortals.xhx.module.site.service.SiteMatterAssistViewsService;
import lombok.extern.slf4j.Slf4j;
/**
* SiteMatterAssistViewsService
* 辅助接件事项浏览记录 service实现
*
* @author zxfei
* @date 2025-05-15
*/
@Service("siteMatterAssistViewsService")
@Slf4j
public class SiteMatterAssistViewsServiceImpl extends AbstractCRUDServiceImpl<SiteMatterAssistViewsDao, SiteMatterAssistViewsEntity, Long> implements SiteMatterAssistViewsService {
}
\ No newline at end of file
package com.mortals.xhx.module.site.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.OperTypeEnum;
import com.mortals.xhx.module.site.model.SiteMatterEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
......@@ -44,15 +47,22 @@ public class SiteMatterAssistController extends BaseCRUDJsonBodyMappingControlle
@Override
protected void init(Map<String, Object> model, Context context) {
Map<String, String> suggest = new HashMap<>(2);
suggest.put("0", "取消推荐");
suggest.put("1", "推荐");
this.addDict(model, "source", paramService.getParamBySecondOrganize("SiteMatter","source"));
this.addDict(model,"suggest",suggest);
super.init(model, context);
}
@Override
protected void doListBefore(SiteMatterAssistEntity query, Map<String, Object> model, Context context) throws AppException {
Map<String,String> orderMap = new HashMap<>();
orderMap.put("viewsCount","DESC");
query.setOrderCols(orderMap);
if (ObjectUtils.isEmpty(query.getOrderColList())) {
query.setOrderColList(Arrays.asList(new OrderCol("suggest", OrderCol.DESCENDING), new OrderCol("viewsCount", OrderCol.DESCENDING)));
} else {
query.getOrderColList().add(0,new OrderCol("viewsCount", OrderCol.DESCENDING));
query.getOrderColList().add(0,new OrderCol("suggest", OrderCol.DESCENDING));
}
super.doListBefore(query,model,context);
}
......@@ -61,4 +71,48 @@ public class SiteMatterAssistController extends BaseCRUDJsonBodyMappingControlle
this.service.addViewsCount(id);
return 1;
}
/**
* 推荐/取消推荐
* @param id
* @return
*/
@GetMapping(value = "suggest")
public String suggest(@RequestParam(value = "id") Long id) {
Map<String, Object> model = new HashMap();
if (id == null) {
return this.createFailJsonResp("请选择待操作的数据");
} else {
JSONObject ret = new JSONObject();
String busiDesc = "推荐/取消推荐" + this.getModuleDesc();
Context context = this.getContext();
try {
SiteMatterAssistEntity entity = this.service.get(id, context);
if (entity == null) {
throw new Exception(busiDesc + ",不存在或已被删除");
}
model.putAll(model);
model.put("entity", entity);
if (!ObjectUtils.isEmpty(context) && !ObjectUtils.isEmpty(context.getUser())) {
this.recordSysLog(this.request, busiDesc + " 【成功】");
}
if(entity.getSuggest()==0){
entity.setSuggest(1);
}else {
entity.setSuggest(0);
}
this.service.update(entity,context);
}catch (Exception var8) {
this.doException(this.request, busiDesc, model, var8);
Object msg = model.get("message_info");
return this.createFailJsonResp(msg == null ? "系统异常" : msg.toString());
}
this.init(model, context);
ret.put("data", model);
ret.put("code", 1);
ret.put("msg", model.remove("message_info"));
return ret.toJSONString();
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.site.model.SiteMatterAssistViewsEntity;
import com.mortals.xhx.module.site.service.SiteMatterAssistViewsService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
import com.mortals.xhx.common.code.*;
/**
*
* 辅助接件事项浏览记录
*
* @author zxfei
* @date 2025-05-15
*/
@RestController
@RequestMapping("site/matter/assist/views")
public class SiteMatterAssistViewsController extends BaseCRUDJsonBodyMappingController<SiteMatterAssistViewsService,SiteMatterAssistViewsEntity,Long> {
@Autowired
private ParamService paramService;
public SiteMatterAssistViewsController(){
super.setModuleDesc( "辅助接件事项浏览记录");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
......@@ -451,6 +451,13 @@
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByNotInKeyList">
delete from mortals_xhx_user where id not in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_user as a
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.question.dao.ibatis.QuestionDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="QuestionEntity" id="QuestionEntity-Map">
<id property="id" column="id" />
<result property="title" column="title" />
<result property="deptId" column="deptId" />
<result property="deptName" column="deptName" />
<result property="details" column="details" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" />
<result property="updateUserId" column="updateUserId" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('title') or colPickMode == 1 and data.containsKey('title')))">
a.title,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
a.deptId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
a.deptName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('details') or colPickMode == 1 and data.containsKey('details')))">
a.details,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="QuestionEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_question
(title,deptId,deptName,details,createTime,createUserId,updateTime,updateUserId)
VALUES
(#{title},#{deptId},#{deptName},#{details},#{createTime},#{createUserId},#{updateTime},#{updateUserId})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_question
(title,deptId,deptName,details,createTime,createUserId,updateTime,updateUserId)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.title},#{item.deptId},#{item.deptName},#{item.details},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.updateUserId})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_sys_question as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('title')) or (colPickMode==1 and !data.containsKey('title'))">
a.title=#{data.title},
</if>
<if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
a.deptId=#{data.deptId},
</if>
<if test="(colPickMode==0 and data.containsKey('deptIdIncrement')) or (colPickMode==1 and !data.containsKey('deptIdIncrement'))">
a.deptId=ifnull(a.deptId,0) + #{data.deptIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
a.deptName=#{data.deptName},
</if>
<if test="(colPickMode==0 and data.containsKey('details')) or (colPickMode==1 and !data.containsKey('details'))">
a.details=#{data.details},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_sys_question as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="title=(case" suffix="ELSE title end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('title')) or (colPickMode==1 and !item.containsKey('title'))">
when a.id=#{item.id} then #{item.title}
</if>
</foreach>
</trim>
<trim prefix="deptId=(case" suffix="ELSE deptId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))">
when a.id=#{item.id} then #{item.deptId}
</when>
<when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))">
when a.id=#{item.id} then ifnull(a.deptId,0) + #{item.deptIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deptName=(case" suffix="ELSE deptName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
when a.id=#{item.id} then #{item.deptName}
</if>
</foreach>
</trim>
<trim prefix="details=(case" suffix="ELSE details end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('details')) or (colPickMode==1 and !item.containsKey('details'))">
when a.id=#{item.id} then #{item.details}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="QuestionEntity-Map">
select <include refid="_columns"/>
from mortals_sys_question as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete from mortals_sys_question where id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_sys_question where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_sys_question where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_sys_question where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_sys_question as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="QuestionEntity-Map">
select <include refid="_columns"/>
from mortals_sys_question as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_sys_question as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
or
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="permissionSql != null and permissionSql != ''">
${permissionSql}
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('title')">
<if test="conditionParamRef.title != null and conditionParamRef.title != ''">
${_conditionType_} a.title like #{${_conditionParam_}.title}
</if>
<if test="conditionParamRef.title == null">
${_conditionType_} a.title is null
</if>
</if>
<if test="conditionParamRef.containsKey('titleList') and conditionParamRef.titleList.size() > 0">
${_conditionType_} a.title in
<foreach collection="conditionParamRef.titleList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('titleNotList') and conditionParamRef.titleNotList.size() > 0">
${_conditionType_} a.title not in
<foreach collection="conditionParamRef.titleNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptId')">
<if test="conditionParamRef.deptId != null ">
${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
</if>
<if test="conditionParamRef.deptId == null">
${_conditionType_} a.deptId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
${_conditionType_} a.deptId in
<foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdNotList') and conditionParamRef.deptIdNotList.size() > 0">
${_conditionType_} a.deptId not in
<foreach collection="conditionParamRef.deptIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdStart') and conditionParamRef.deptIdStart != null">
${_conditionType_} a.deptId <![CDATA[ >= ]]> #{${_conditionParam_}.deptIdStart}
</if>
<if test="conditionParamRef.containsKey('deptIdEnd') and conditionParamRef.deptIdEnd != null">
${_conditionType_} a.deptId <![CDATA[ <= ]]> #{${_conditionParam_}.deptIdEnd}
</if>
<if test="conditionParamRef.containsKey('deptName')">
<if test="conditionParamRef.deptName != null and conditionParamRef.deptName != ''">
${_conditionType_} a.deptName like #{${_conditionParam_}.deptName}
</if>
<if test="conditionParamRef.deptName == null">
${_conditionType_} a.deptName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptNameList') and conditionParamRef.deptNameList.size() > 0">
${_conditionType_} a.deptName in
<foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptNameNotList') and conditionParamRef.deptNameNotList.size() > 0">
${_conditionType_} a.deptName not in
<foreach collection="conditionParamRef.deptNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('details')">
<if test="conditionParamRef.details != null and conditionParamRef.details != ''">
${_conditionType_} a.details like #{${_conditionParam_}.details}
</if>
<if test="conditionParamRef.details == null">
${_conditionType_} a.details is null
</if>
</if>
<if test="conditionParamRef.containsKey('detailsList') and conditionParamRef.detailsList.size() > 0">
${_conditionType_} a.details in
<foreach collection="conditionParamRef.detailsList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('detailsNotList') and conditionParamRef.detailsNotList.size() > 0">
${_conditionType_} a.details not in
<foreach collection="conditionParamRef.detailsNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
</sql>
<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('deptIdList') and conditionParamRef.deptIdList.size() > 0">
field(a.deptId,
<foreach collection="conditionParamRef.deptIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" 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=",">
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('deptIdList') and conditionParamRef.deptIdList.size() > 0">
field(a.deptId,
<foreach collection="conditionParamRef.deptIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" 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
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('title')">
a.title
<if test='orderCol.title != null and "DESC".equalsIgnoreCase(orderCol.title)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptId')">
a.deptId
<if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptName')">
a.deptName
<if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('details')">
a.details
<if test='orderCol.details != null and "DESC".equalsIgnoreCase(orderCol.details)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
......@@ -24,10 +24,9 @@
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="suggest" column="suggest" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
......@@ -88,23 +87,26 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('suggest') or colPickMode == 1 and data.containsKey('suggest')))">
a.suggest,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="SiteMatterAssistEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_site_matter_assist
(siteMatterId,matterId,matterName,matterCode,deptId,deptName,deptCode,officeId,officeName,dutyer,telephone,source,viewsCount,govUrl,createUserId,createTime,updateUserId,updateTime)
(siteMatterId,matterId,matterName,matterCode,deptId,deptName,deptCode,officeId,officeName,dutyer,telephone,source,viewsCount,govUrl,createUserId,createTime,updateUserId,updateTime,suggest)
VALUES
(#{siteMatterId},#{matterId},#{matterName},#{matterCode},#{deptId},#{deptName},#{deptCode},#{officeId},#{officeName},#{dutyer},#{telephone},#{source},#{viewsCount},#{govUrl},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
(#{siteMatterId},#{matterId},#{matterName},#{matterCode},#{deptId},#{deptName},#{deptCode},#{officeId},#{officeName},#{dutyer},#{telephone},#{source},#{viewsCount},#{govUrl},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{suggest})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_site_matter_assist
(siteMatterId,matterId,matterName,matterCode,deptId,deptName,deptCode,officeId,officeName,dutyer,telephone,source,viewsCount,govUrl,createUserId,createTime,updateUserId,updateTime)
(siteMatterId,matterId,matterName,matterCode,deptId,deptName,deptCode,officeId,officeName,dutyer,telephone,source,viewsCount,govUrl,createUserId,createTime,updateUserId,updateTime,suggest)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteMatterId},#{item.matterId},#{item.matterName},#{item.matterCode},#{item.deptId},#{item.deptName},#{item.deptCode},#{item.officeId},#{item.officeName},#{item.dutyer},#{item.telephone},#{item.source},#{item.viewsCount},#{item.govUrl},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
(#{item.siteMatterId},#{item.matterId},#{item.matterName},#{item.matterCode},#{item.deptId},#{item.deptName},#{item.deptCode},#{item.officeId},#{item.officeName},#{item.dutyer},#{item.telephone},#{item.source},#{item.viewsCount},#{item.govUrl},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.suggest})
</foreach>
</insert>
......@@ -192,6 +194,12 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('suggest')) or (colPickMode==1 and !data.containsKey('suggest'))">
a.suggest=#{data.suggest},
</if>
<if test="(colPickMode==0 and data.containsKey('suggestIncrement')) or (colPickMode==1 and !data.containsKey('suggestIncrement'))">
a.suggest=ifnull(a.suggest,0) + #{data.suggestIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -370,6 +378,18 @@
</if>
</foreach>
</trim>
<trim prefix="suggest=(case" suffix="ELSE suggest end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('suggest')) or (colPickMode==1 and !item.containsKey('suggest'))">
when a.id=#{item.id} then #{item.suggest}
</when>
<when test="(colPickMode==0 and item.containsKey('suggestIncrement')) or (colPickMode==1 and !item.containsKey('suggestIncrement'))">
when a.id=#{item.id} then ifnull(a.suggest,0) + #{item.suggestIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -384,7 +404,7 @@
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_sys_site_matter_assist as a where a.id=#{condition.id}
delete from mortals_sys_site_matter_assist where id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
......@@ -466,7 +486,7 @@
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
or
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
......@@ -481,6 +501,10 @@
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="permissionSql != null and permissionSql != ''">
${permissionSql}
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
......@@ -494,13 +518,13 @@
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList')">
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -521,13 +545,13 @@
${_conditionType_} a.siteMatterId is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteMatterIdList')">
<if test="conditionParamRef.containsKey('siteMatterIdList') and conditionParamRef.siteMatterIdList.size() > 0">
${_conditionType_} a.siteMatterId in
<foreach collection="conditionParamRef.siteMatterIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteMatterIdNotList')">
<if test="conditionParamRef.containsKey('siteMatterIdNotList') and conditionParamRef.siteMatterIdNotList.size() > 0">
${_conditionType_} a.siteMatterId not in
<foreach collection="conditionParamRef.siteMatterIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -548,13 +572,13 @@
${_conditionType_} a.matterId is null
</if>
</if>
<if test="conditionParamRef.containsKey('matterIdList')">
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
${_conditionType_} a.matterId in
<foreach collection="conditionParamRef.matterIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterIdNotList')">
<if test="conditionParamRef.containsKey('matterIdNotList') and conditionParamRef.matterIdNotList.size() > 0">
${_conditionType_} a.matterId not in
<foreach collection="conditionParamRef.matterIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -576,13 +600,13 @@
${_conditionType_} a.matterName is null
</if>
</if>
<if test="conditionParamRef.containsKey('matterNameList')">
<if test="conditionParamRef.containsKey('matterNameList') and conditionParamRef.matterNameList.size() > 0">
${_conditionType_} a.matterName in
<foreach collection="conditionParamRef.matterNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterNameNotList')">
<if test="conditionParamRef.containsKey('matterNameNotList') and conditionParamRef.matterNameNotList.size() > 0">
${_conditionType_} a.matterName not in
<foreach collection="conditionParamRef.matterNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -597,13 +621,13 @@
${_conditionType_} a.matterCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('matterCodeList')">
<if test="conditionParamRef.containsKey('matterCodeList') and conditionParamRef.matterCodeList.size() > 0">
${_conditionType_} a.matterCode in
<foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterCodeNotList')">
<if test="conditionParamRef.containsKey('matterCodeNotList') and conditionParamRef.matterCodeNotList.size() > 0">
${_conditionType_} a.matterCode not in
<foreach collection="conditionParamRef.matterCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -617,13 +641,13 @@
${_conditionType_} a.deptId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptIdList')">
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
${_conditionType_} a.deptId in
<foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdNotList')">
<if test="conditionParamRef.containsKey('deptIdNotList') and conditionParamRef.deptIdNotList.size() > 0">
${_conditionType_} a.deptId not in
<foreach collection="conditionParamRef.deptIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -645,13 +669,13 @@
${_conditionType_} a.deptName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptNameList')">
<if test="conditionParamRef.containsKey('deptNameList') and conditionParamRef.deptNameList.size() > 0">
${_conditionType_} a.deptName in
<foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptNameNotList')">
<if test="conditionParamRef.containsKey('deptNameNotList') and conditionParamRef.deptNameNotList.size() > 0">
${_conditionType_} a.deptName not in
<foreach collection="conditionParamRef.deptNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -666,13 +690,13 @@
${_conditionType_} a.deptCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptCodeList')">
<if test="conditionParamRef.containsKey('deptCodeList') and conditionParamRef.deptCodeList.size() > 0">
${_conditionType_} a.deptCode in
<foreach collection="conditionParamRef.deptCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptCodeNotList')">
<if test="conditionParamRef.containsKey('deptCodeNotList') and conditionParamRef.deptCodeNotList.size() > 0">
${_conditionType_} a.deptCode not in
<foreach collection="conditionParamRef.deptCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -686,13 +710,13 @@
${_conditionType_} a.officeId is null
</if>
</if>
<if test="conditionParamRef.containsKey('officeIdList')">
<if test="conditionParamRef.containsKey('officeIdList') and conditionParamRef.officeIdList.size() > 0">
${_conditionType_} a.officeId in
<foreach collection="conditionParamRef.officeIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('officeIdNotList')">
<if test="conditionParamRef.containsKey('officeIdNotList') and conditionParamRef.officeIdNotList.size() > 0">
${_conditionType_} a.officeId not in
<foreach collection="conditionParamRef.officeIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -714,13 +738,13 @@
${_conditionType_} a.officeName is null
</if>
</if>
<if test="conditionParamRef.containsKey('officeNameList')">
<if test="conditionParamRef.containsKey('officeNameList') and conditionParamRef.officeNameList.size() > 0">
${_conditionType_} a.officeName in
<foreach collection="conditionParamRef.officeNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('officeNameNotList')">
<if test="conditionParamRef.containsKey('officeNameNotList') and conditionParamRef.officeNameNotList.size() > 0">
${_conditionType_} a.officeName not in
<foreach collection="conditionParamRef.officeNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -735,13 +759,13 @@
${_conditionType_} a.dutyer is null
</if>
</if>
<if test="conditionParamRef.containsKey('dutyerList')">
<if test="conditionParamRef.containsKey('dutyerList') and conditionParamRef.dutyerList.size() > 0">
${_conditionType_} a.dutyer in
<foreach collection="conditionParamRef.dutyerList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dutyerNotList')">
<if test="conditionParamRef.containsKey('dutyerNotList') and conditionParamRef.dutyerNotList.size() > 0">
${_conditionType_} a.dutyer not in
<foreach collection="conditionParamRef.dutyerNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -756,13 +780,13 @@
${_conditionType_} a.telephone is null
</if>
</if>
<if test="conditionParamRef.containsKey('telephoneList')">
<if test="conditionParamRef.containsKey('telephoneList') and conditionParamRef.telephoneList.size() > 0">
${_conditionType_} a.telephone in
<foreach collection="conditionParamRef.telephoneList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('telephoneNotList')">
<if test="conditionParamRef.containsKey('telephoneNotList') and conditionParamRef.telephoneNotList.size() > 0">
${_conditionType_} a.telephone not in
<foreach collection="conditionParamRef.telephoneNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -776,13 +800,13 @@
${_conditionType_} a.source is null
</if>
</if>
<if test="conditionParamRef.containsKey('sourceList')">
<if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
${_conditionType_} a.source in
<foreach collection="conditionParamRef.sourceList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sourceNotList')">
<if test="conditionParamRef.containsKey('sourceNotList') and conditionParamRef.sourceNotList.size() > 0">
${_conditionType_} a.source not in
<foreach collection="conditionParamRef.sourceNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -803,13 +827,13 @@
${_conditionType_} a.viewsCount is null
</if>
</if>
<if test="conditionParamRef.containsKey('viewsCountList')">
<if test="conditionParamRef.containsKey('viewsCountList') and conditionParamRef.viewsCountList.size() > 0">
${_conditionType_} a.viewsCount in
<foreach collection="conditionParamRef.viewsCountList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('viewsCountNotList')">
<if test="conditionParamRef.containsKey('viewsCountNotList') and conditionParamRef.viewsCountNotList.size() > 0">
${_conditionType_} a.viewsCount not in
<foreach collection="conditionParamRef.viewsCountNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -831,13 +855,13 @@
${_conditionType_} a.govUrl is null
</if>
</if>
<if test="conditionParamRef.containsKey('govUrlList')">
<if test="conditionParamRef.containsKey('govUrlList') and conditionParamRef.govUrlList.size() > 0">
${_conditionType_} a.govUrl in
<foreach collection="conditionParamRef.govUrlList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('govUrlNotList')">
<if test="conditionParamRef.containsKey('govUrlNotList') and conditionParamRef.govUrlNotList.size() > 0">
${_conditionType_} a.govUrl not in
<foreach collection="conditionParamRef.govUrlNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -851,13 +875,13 @@
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList')">
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -893,13 +917,13 @@
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList')">
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -927,18 +951,186 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('suggest')">
<if test="conditionParamRef.suggest != null ">
${_conditionType_} a.suggest = #{${_conditionParam_}.suggest}
</if>
<if test="conditionParamRef.suggest == null">
${_conditionType_} a.suggest is null
</if>
</if>
<if test="conditionParamRef.containsKey('suggestList') and conditionParamRef.suggestList.size() > 0">
${_conditionType_} a.suggest in
<foreach collection="conditionParamRef.suggestList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('suggestNotList') and conditionParamRef.suggestNotList.size() > 0">
${_conditionType_} a.suggest not in
<foreach collection="conditionParamRef.suggestNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('suggestStart') and conditionParamRef.suggestStart != null">
${_conditionType_} a.suggest <![CDATA[ >= ]]> #{${_conditionParam_}.suggestStart}
</if>
<if test="conditionParamRef.containsKey('suggestEnd') and conditionParamRef.suggestEnd != null">
${_conditionType_} a.suggest <![CDATA[ <= ]]> #{${_conditionParam_}.suggestEnd}
</if>
</sql>
<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('siteMatterIdList') and conditionParamRef.siteMatterIdList.size() > 0">
field(a.siteMatterId,
<foreach collection="conditionParamRef.siteMatterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
field(a.matterId,
<foreach collection="conditionParamRef.matterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
field(a.deptId,
<foreach collection="conditionParamRef.deptIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('officeIdList') and conditionParamRef.officeIdList.size() > 0">
field(a.officeId,
<foreach collection="conditionParamRef.officeIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
field(a.source,
<foreach collection="conditionParamRef.sourceList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('viewsCountList') and conditionParamRef.viewsCountList.size() > 0">
field(a.viewsCount,
<foreach collection="conditionParamRef.viewsCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" 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>
<if test="conditionParamRef.containsKey('suggestList') and conditionParamRef.suggestList.size() > 0">
field(a.suggest,
<foreach collection="conditionParamRef.suggestList" 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('siteMatterIdList') and conditionParamRef.siteMatterIdList.size() > 0">
field(a.siteMatterId,
<foreach collection="conditionParamRef.siteMatterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
field(a.matterId,
<foreach collection="conditionParamRef.matterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
field(a.deptId,
<foreach collection="conditionParamRef.deptIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('officeIdList') and conditionParamRef.officeIdList.size() > 0">
field(a.officeId,
<foreach collection="conditionParamRef.officeIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
field(a.source,
<foreach collection="conditionParamRef.sourceList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('viewsCountList') and conditionParamRef.viewsCountList.size() > 0">
field(a.viewsCount,
<foreach collection="conditionParamRef.viewsCountList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" 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>
<if test="conditionParamRef.containsKey('suggestList') and conditionParamRef.suggestList.size() > 0">
field(a.suggest,
<foreach collection="conditionParamRef.suggestList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
......@@ -1035,8 +1227,15 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('suggest')">
a.suggest
<if test='orderCol.suggest != null and "DESC".equalsIgnoreCase(orderCol.suggest)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.site.dao.ibatis.SiteMatterAssistViewsDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="SiteMatterAssistViewsEntity" id="SiteMatterAssistViewsEntity-Map">
<id property="id" column="id" />
<result property="assistId" column="assistId" />
<result property="matterId" column="matterId" />
<result property="viewUserId" column="viewUserId" />
<result property="viewUserName" column="viewUserName" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" />
<result property="updateUserId" column="updateUserId" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('assistId') or colPickMode == 1 and data.containsKey('assistId')))">
a.assistId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
a.matterId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewUserId') or colPickMode == 1 and data.containsKey('viewUserId')))">
a.viewUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewUserName') or colPickMode == 1 and data.containsKey('viewUserName')))">
a.viewUserName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="SiteMatterAssistViewsEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_site_matter_assist_views
(assistId,matterId,viewUserId,viewUserName,createTime,createUserId,updateTime,updateUserId)
VALUES
(#{assistId},#{matterId},#{viewUserId},#{viewUserName},#{createTime},#{createUserId},#{updateTime},#{updateUserId})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_site_matter_assist_views
(assistId,matterId,viewUserId,viewUserName,createTime,createUserId,updateTime,updateUserId)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.assistId},#{item.matterId},#{item.viewUserId},#{item.viewUserName},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.updateUserId})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_sys_site_matter_assist_views as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('assistId')) or (colPickMode==1 and !data.containsKey('assistId'))">
a.assistId=#{data.assistId},
</if>
<if test="(colPickMode==0 and data.containsKey('assistIdIncrement')) or (colPickMode==1 and !data.containsKey('assistIdIncrement'))">
a.assistId=ifnull(a.assistId,0) + #{data.assistIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('matterId')) or (colPickMode==1 and !data.containsKey('matterId'))">
a.matterId=#{data.matterId},
</if>
<if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('viewUserId')) or (colPickMode==1 and !data.containsKey('viewUserId'))">
a.viewUserId=#{data.viewUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('viewUserIdIncrement')) or (colPickMode==1 and !data.containsKey('viewUserIdIncrement'))">
a.viewUserId=ifnull(a.viewUserId,0) + #{data.viewUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('viewUserName')) or (colPickMode==1 and !data.containsKey('viewUserName'))">
a.viewUserName=#{data.viewUserName},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_sys_site_matter_assist_views as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="assistId=(case" suffix="ELSE assistId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('assistId')) or (colPickMode==1 and !item.containsKey('assistId'))">
when a.id=#{item.id} then #{item.assistId}
</when>
<when test="(colPickMode==0 and item.containsKey('assistIdIncrement')) or (colPickMode==1 and !item.containsKey('assistIdIncrement'))">
when a.id=#{item.id} then ifnull(a.assistId,0) + #{item.assistIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="matterId=(case" suffix="ELSE matterId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('matterId')) or (colPickMode==1 and !item.containsKey('matterId'))">
when a.id=#{item.id} then #{item.matterId}
</when>
<when test="(colPickMode==0 and item.containsKey('matterIdIncrement')) or (colPickMode==1 and !item.containsKey('matterIdIncrement'))">
when a.id=#{item.id} then ifnull(a.matterId,0) + #{item.matterIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="viewUserId=(case" suffix="ELSE viewUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('viewUserId')) or (colPickMode==1 and !item.containsKey('viewUserId'))">
when a.id=#{item.id} then #{item.viewUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('viewUserIdIncrement')) or (colPickMode==1 and !item.containsKey('viewUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.viewUserId,0) + #{item.viewUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="viewUserName=(case" suffix="ELSE viewUserName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('viewUserName')) or (colPickMode==1 and !item.containsKey('viewUserName'))">
when a.id=#{item.id} then #{item.viewUserName}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="SiteMatterAssistViewsEntity-Map">
select <include refid="_columns"/>
from mortals_sys_site_matter_assist_views as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete from mortals_sys_site_matter_assist_views where id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_sys_site_matter_assist_views where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_sys_site_matter_assist_views where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_sys_site_matter_assist_views where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_sys_site_matter_assist_views as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="SiteMatterAssistViewsEntity-Map">
select <include refid="_columns"/>
from mortals_sys_site_matter_assist_views as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_sys_site_matter_assist_views as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
or
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="permissionSql != null and permissionSql != ''">
${permissionSql}
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('assistId')">
<if test="conditionParamRef.assistId != null ">
${_conditionType_} a.assistId = #{${_conditionParam_}.assistId}
</if>
<if test="conditionParamRef.assistId == null">
${_conditionType_} a.assistId is null
</if>
</if>
<if test="conditionParamRef.containsKey('assistIdList') and conditionParamRef.assistIdList.size() > 0">
${_conditionType_} a.assistId in
<foreach collection="conditionParamRef.assistIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('assistIdNotList') and conditionParamRef.assistIdNotList.size() > 0">
${_conditionType_} a.assistId not in
<foreach collection="conditionParamRef.assistIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('assistIdStart') and conditionParamRef.assistIdStart != null">
${_conditionType_} a.assistId <![CDATA[ >= ]]> #{${_conditionParam_}.assistIdStart}
</if>
<if test="conditionParamRef.containsKey('assistIdEnd') and conditionParamRef.assistIdEnd != null">
${_conditionType_} a.assistId <![CDATA[ <= ]]> #{${_conditionParam_}.assistIdEnd}
</if>
<if test="conditionParamRef.containsKey('matterId')">
<if test="conditionParamRef.matterId != null ">
${_conditionType_} a.matterId = #{${_conditionParam_}.matterId}
</if>
<if test="conditionParamRef.matterId == null">
${_conditionType_} a.matterId is null
</if>
</if>
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
${_conditionType_} a.matterId in
<foreach collection="conditionParamRef.matterIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterIdNotList') and conditionParamRef.matterIdNotList.size() > 0">
${_conditionType_} a.matterId not in
<foreach collection="conditionParamRef.matterIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterIdStart') and conditionParamRef.matterIdStart != null">
${_conditionType_} a.matterId <![CDATA[ >= ]]> #{${_conditionParam_}.matterIdStart}
</if>
<if test="conditionParamRef.containsKey('matterIdEnd') and conditionParamRef.matterIdEnd != null">
${_conditionType_} a.matterId <![CDATA[ <= ]]> #{${_conditionParam_}.matterIdEnd}
</if>
<if test="conditionParamRef.containsKey('viewUserId')">
<if test="conditionParamRef.viewUserId != null ">
${_conditionType_} a.viewUserId = #{${_conditionParam_}.viewUserId}
</if>
<if test="conditionParamRef.viewUserId == null">
${_conditionType_} a.viewUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('viewUserIdList') and conditionParamRef.viewUserIdList.size() > 0">
${_conditionType_} a.viewUserId in
<foreach collection="conditionParamRef.viewUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('viewUserIdNotList') and conditionParamRef.viewUserIdNotList.size() > 0">
${_conditionType_} a.viewUserId not in
<foreach collection="conditionParamRef.viewUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('viewUserIdStart') and conditionParamRef.viewUserIdStart != null">
${_conditionType_} a.viewUserId <![CDATA[ >= ]]> #{${_conditionParam_}.viewUserIdStart}
</if>
<if test="conditionParamRef.containsKey('viewUserIdEnd') and conditionParamRef.viewUserIdEnd != null">
${_conditionType_} a.viewUserId <![CDATA[ <= ]]> #{${_conditionParam_}.viewUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('viewUserName')">
<if test="conditionParamRef.viewUserName != null and conditionParamRef.viewUserName != ''">
${_conditionType_} a.viewUserName like #{${_conditionParam_}.viewUserName}
</if>
<if test="conditionParamRef.viewUserName == null">
${_conditionType_} a.viewUserName is null
</if>
</if>
<if test="conditionParamRef.containsKey('viewUserNameList') and conditionParamRef.viewUserNameList.size() > 0">
${_conditionType_} a.viewUserName in
<foreach collection="conditionParamRef.viewUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('viewUserNameNotList') and conditionParamRef.viewUserNameNotList.size() > 0">
${_conditionType_} a.viewUserName not in
<foreach collection="conditionParamRef.viewUserNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
</sql>
<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('assistIdList') and conditionParamRef.assistIdList.size() > 0">
field(a.assistId,
<foreach collection="conditionParamRef.assistIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
field(a.matterId,
<foreach collection="conditionParamRef.matterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('viewUserIdList') and conditionParamRef.viewUserIdList.size() > 0">
field(a.viewUserId,
<foreach collection="conditionParamRef.viewUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" 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=",">
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('assistIdList') and conditionParamRef.assistIdList.size() > 0">
field(a.assistId,
<foreach collection="conditionParamRef.assistIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
field(a.matterId,
<foreach collection="conditionParamRef.matterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('viewUserIdList') and conditionParamRef.viewUserIdList.size() > 0">
field(a.viewUserId,
<foreach collection="conditionParamRef.viewUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" 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
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('assistId')">
a.assistId
<if test='orderCol.assistId != null and "DESC".equalsIgnoreCase(orderCol.assistId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('matterId')">
a.matterId
<if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('viewUserId')">
a.viewUserId
<if test='orderCol.viewUserId != null and "DESC".equalsIgnoreCase(orderCol.viewUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('viewUserName')">
a.viewUserName
<if test='orderCol.viewUserName != null and "DESC".equalsIgnoreCase(orderCol.viewUserName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
......@@ -16,8 +16,8 @@
<modules>
<module>common-lib</module>
<module>single-matter</module>
<!-- <module>knowledge-base</module>-->
<!--<module>single-matter</module>-->
<module>knowledge-base</module>
</modules>
<properties>
......
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