袁野 2 months ago
commit 8a1d99da07
  1. 196
      bweb/src/main/java/com/hfkj/controller/CmsController.java
  2. 48
      bweb/src/main/java/com/hfkj/controller/FileUploadController.java
  3. 1
      cweb/src/main/java/com/hfkj/config/AuthConfig.java
  4. 61
      cweb/src/main/java/com/hfkj/controller/CmsController.java
  5. 88
      cweb/src/main/java/com/hfkj/controller/FileUploadController.java
  6. 126
      cweb/src/main/java/com/hfkj/controller/UserController.java
  7. 2
      service/src/main/java/com/hfkj/dao/BsUserParentRelMapperExt.java
  8. 125
      service/src/main/java/com/hfkj/dao/CmsContentMapper.java
  9. 7
      service/src/main/java/com/hfkj/dao/CmsContentMapperExt.java
  10. 332
      service/src/main/java/com/hfkj/dao/CmsContentSqlProvider.java
  11. 232
      service/src/main/java/com/hfkj/entity/CmsContent.java
  12. 1003
      service/src/main/java/com/hfkj/entity/CmsContentExample.java
  13. 25
      service/src/main/java/com/hfkj/service/cms/CmsContentReadService.java
  14. 35
      service/src/main/java/com/hfkj/service/cms/CmsContentService.java
  15. 64
      service/src/main/java/com/hfkj/service/cms/impl/CmsContentServiceImpl.java
  16. 7
      service/src/main/java/com/hfkj/service/user/BsUserParentRelService.java
  17. 11
      service/src/main/java/com/hfkj/service/user/BsUserService.java
  18. 7
      service/src/main/java/com/hfkj/service/user/impl/BsUserParentRelServiceImpl.java
  19. 51
      service/src/main/java/com/hfkj/service/user/impl/BsUserServiceImpl.java
  20. 48
      service/src/main/java/com/hfkj/sysenum/cms/CmsStatusEnum.java
  21. 36
      service/src/main/java/com/hfkj/sysenum/cms/CmsTypeEnum.java
  22. 9
      service/src/main/java/com/hfkj/sysenum/user/UserStatusEnum.java

@ -0,0 +1,196 @@
package com.hfkj.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.RedisUtil;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.entity.CmsContent;
import com.hfkj.model.ResponseData;
import com.hfkj.service.cms.CmsContentService;
import com.hfkj.service.cms.impl.CmsContentServiceImpl;
import com.hfkj.sysenum.cms.CmsStatusEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
* @className: CmsController
* @author: HuRui
* @date: 2024/9/24
**/
@Controller
@RequestMapping(value = "/cms")
@Api(value = "CMS")
public class CmsController {
private static Logger log = LoggerFactory.getLogger(CmsController.class);
@Resource
private CmsContentService cmsContentService;
@Resource
private RedisUtil redisUtil;
@RequestMapping(value="/edit",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "编辑")
public ResponseData edit(@RequestBody CmsContent body) {
try {
if (body == null
|| body.getType() == null
|| StringUtils.isBlank(body.getImgUrl())
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR);
}
CmsContent cmsContent = null;
if (body.getId() != null) {
// 查询内容
cmsContent = cmsContentService.getDetail(body.getId());
if (cmsContent == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到数据");
}
if (!CmsStatusEnum.status1.getStatus().equals(cmsContent.getStatus())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法编辑,状态错误");
}
} else {
cmsContent = new CmsContent();
cmsContent.setStatus(CmsStatusEnum.status1.getStatus());
}
cmsContent.setType(body.getType());
cmsContent.setImgUrl(body.getImgUrl());
cmsContent.setJumpType(body.getJumpType());
cmsContent.setJumpUrl(body.getJumpUrl());
cmsContentService.editData(cmsContent);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/online",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "上线")
public ResponseData online(@RequestBody CmsContent body) {
try {
if (body == null || body.getId() == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR);
}
// 查询内容
CmsContent cmsContent = cmsContentService.getDetail(body.getId());
if (cmsContent == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到数据");
}
if (!CmsStatusEnum.status1.getStatus().equals(cmsContent.getStatus())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法上线,状态错误");
}
cmsContent.setStatus(CmsStatusEnum.status2.getStatus());
cmsContentService.editData(cmsContent);
// 删除缓存
redisUtil.hdel(CmsContentServiceImpl.CACHE_CMS_ONLINE, ""+cmsContent.getType());
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/offline",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "下线")
public ResponseData offline(@RequestBody CmsContent body) {
try {
if (body == null || body.getId() == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR);
}
// 查询内容
CmsContent cmsContent = cmsContentService.getDetail(body.getId());
if (cmsContent == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到数据");
}
if (!CmsStatusEnum.status2.getStatus().equals(cmsContent.getStatus())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法下线,状态错误");
}
cmsContent.setStatus(CmsStatusEnum.status3.getStatus());
cmsContentService.editData(cmsContent);
// 删除缓存
redisUtil.hdel(CmsContentServiceImpl.CACHE_CMS_ONLINE, ""+cmsContent.getType());
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/delete",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "删除")
public ResponseData delete(@RequestBody CmsContent body) {
try {
if (body == null || body.getId() == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR);
}
// 查询内容
CmsContent cmsContent = cmsContentService.getDetail(body.getId());
if (cmsContent == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到数据");
}
if (!CmsStatusEnum.status1.getStatus().equals(cmsContent.getStatus())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法删除,状态错误");
}
cmsContent.setStatus(CmsStatusEnum.status0.getStatus());
cmsContentService.editData(cmsContent);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/getDetail",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询详情")
public ResponseData getDetail(@RequestParam(name = "id", required = true) Long id) {
try {
return ResponseMsgUtil.success(cmsContentService.getDetail(id));
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/queryList",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询列表")
public ResponseData queryList(@RequestParam(name = "name", required = false) String name,
@RequestParam(name = "type", required = false) Integer type,
@RequestParam(name = "status", required = false) Integer status,
@RequestParam(name = "pageNum", required = true) Integer pageNum,
@RequestParam(name = "pageSize", required = true) Integer pageSize) {
try {
Map<String,Object> param = new HashMap<>();
param.put("name", name);
param.put("type", type);
param.put("status", status);
PageHelper.startPage(pageNum, pageSize);
return ResponseMsgUtil.success(new PageInfo<>(cmsContentService.getList(param)));
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
}

@ -87,52 +87,4 @@ public class FileUploadController {
} }
} }
@RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
@ApiOperation(value = "上传文件(新接口)")
@ResponseBody
public ResponseData fileUpload(@RequestParam(name = "requestFile") MultipartFile requestFile,
@RequestParam(value = "uploadType", required = true) String uploadType,
HttpServletRequest request
) {
try {
CommonsMultipartResolver multipartResolver =
new CommonsMultipartResolver(request.getSession().getServletContext());
// 提取文件列表
List<MultipartFile> files = new ArrayList<>();
if (multipartResolver.isMultipart(request)) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = multiRequest.getFileNames();
while (iterator.hasNext()) {
MultipartFile file = multiRequest.getFile(iterator.next());
files.add(file);
}
}
// 定制参数
Map<String, String> paramsMap = new HashMap<>();
if ("cmsModule".equals(uploadType)) {
paramsMap.put("pathPrefix", sysConfig.getFileUrl());
paramsMap.put("childPath", "/CMS/module/");
paramsMap.put("fileNameGenerator", "generateFileNameAndTimeStamp");
} else if ("cmsPatch".equals(uploadType)) {
paramsMap.put("pathPrefix", sysConfig.getFileUrl());
paramsMap.put("childPath", "/CMS/html/");
paramsMap.put("fileNameGenerator", "generateFileNameAndTimeStamp");
} else if ("cmsImg".equals(uploadType)) {
paramsMap.put("pathPrefix", sysConfig.getFileUrl());
paramsMap.put("childPath", "/CMS/img/");
paramsMap.put("fileNameGenerator", "generateFileNameAndTimeStamp");
}
return ResponseMsgUtil.success(fileUploadService.upload(files, paramsMap));
} catch (Exception e) {
log.error("FileUploadController --> addCategoryModule() error!", e);
return ResponseMsgUtil.exception(e);
}
}
} }

@ -96,6 +96,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/test/*") .excludePathPatterns("/test/*")
.excludePathPatterns("/goods/*") .excludePathPatterns("/goods/*")
.excludePathPatterns("/taoBaoNotify/*") .excludePathPatterns("/taoBaoNotify/*")
.excludePathPatterns("/cms/*")
; ;
} }

@ -0,0 +1,61 @@
package com.hfkj.controller;
import com.hfkj.common.utils.RedisUtil;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.entity.CmsContent;
import com.hfkj.model.ResponseData;
import com.hfkj.service.cms.CmsContentService;
import com.hfkj.service.cms.impl.CmsContentServiceImpl;
import com.hfkj.sysenum.cms.CmsStatusEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className: CmsController
* @author: HuRui
* @date: 2024/9/24
**/
@Controller
@RequestMapping(value = "/cms")
@Api(value = "CMS")
public class CmsController {
private static Logger log = LoggerFactory.getLogger(CmsController.class);
@Resource
private RedisUtil redisUtil;
@Resource
private CmsContentService cmsContentService;
@RequestMapping(value="/query",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询列表")
public ResponseData query(@RequestParam(name = "type", required = true) Integer type) {
try {
// 读取缓存
Object cache = redisUtil.hget(CmsContentServiceImpl.CACHE_CMS_ONLINE, "" + type);
if (cache != null) {
return ResponseMsgUtil.success(cache);
}
Map<String,Object> param = new HashMap<>();
param.put("type", type);
param.put("status", CmsStatusEnum.status2.getStatus());
List<CmsContent> dataList = cmsContentService.getList(param);
// 缓存
redisUtil.hset(CmsContentServiceImpl.CACHE_CMS_ONLINE, "" + type, dataList);
return ResponseMsgUtil.success(dataList);
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
}

@ -0,0 +1,88 @@
package com.hfkj.controller;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.config.SysConfig;
import com.hfkj.model.ResponseData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.util.*;
@RestController
@RequestMapping(value="/fileUpload")
@Api(value="文件上传")
public class FileUploadController {
private static Logger log = LoggerFactory.getLogger(FileUploadController.class);
@Resource
private SysConfig sysConfig;
@RequestMapping(value="/uploadfile",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "文件上传")
public ResponseData uploadFile(@RequestParam(value = "files" , required = false) MultipartFile files,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
try {
response.setHeader("Access-Control-Allow-Origin", "*");
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
// 判断 request 是否有文件上传,即多部分请求
List<String> fileNames = new ArrayList<String>();
if (multipartResolver.isMultipart(request)) {
// 转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = multiRequest.getFileNames();
while (iterator.hasNext()) {
MultipartFile file = multiRequest.getFile(iterator.next());
if (file != null) {
FileOutputStream out = null;
try {
String fileType = file.getOriginalFilename()
.substring(file.getOriginalFilename().lastIndexOf(".") + 1);
String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")) + System.currentTimeMillis() + "." + fileType;
String childPath = DateUtil.date2String(new Date(), "yyyyMM");
String destDirName = sysConfig.getFileUrl() + File.separator + childPath;
File dir = new File(destDirName);
if (!dir.exists()) {
dir.mkdirs();
}
out = new FileOutputStream(destDirName + File.separator + fileName);
out.write(file.getBytes());
out.flush();
fileNames.add(childPath + "/" + fileName);
} catch (Exception e) {
log.error(e.getMessage(), e);
} finally {
if (out != null) {
out.close();
}
}
}
}
}
return ResponseMsgUtil.success(fileNames);
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
}

@ -5,9 +5,12 @@ import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode; import com.hfkj.common.exception.SysCode;
import com.hfkj.common.security.UserCenter; import com.hfkj.common.security.UserCenter;
import com.hfkj.common.utils.DateUtil;
import com.hfkj.common.utils.MemberValidateUtil; import com.hfkj.common.utils.MemberValidateUtil;
import com.hfkj.common.utils.RedisUtil; import com.hfkj.common.utils.RedisUtil;
import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.config.CommonSysConst;
import com.hfkj.config.SysConfig;
import com.hfkj.entity.BsUser; import com.hfkj.entity.BsUser;
import com.hfkj.model.ResponseData; import com.hfkj.model.ResponseData;
import com.hfkj.model.SecUserSessionObject; import com.hfkj.model.SecUserSessionObject;
@ -17,17 +20,21 @@ import com.hfkj.sysenum.user.UserLoginType;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.HashMap; import javax.servlet.http.HttpServletResponse;
import java.util.Map; import java.io.File;
import java.io.FileOutputStream;
import java.util.*;
/** /**
* @className: ClientController * @className: ClientController
@ -38,12 +45,15 @@ import java.util.Map;
@RequestMapping(value="/user") @RequestMapping(value="/user")
@Api(value="客户端业务") @Api(value="客户端业务")
public class UserController { public class UserController {
private static Logger log = LoggerFactory.getLogger(UserController.class);
@Resource @Resource
private BsUserService userService; private BsUserService userService;
@Resource @Resource
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired @Autowired
private UserCenter userCenter; private UserCenter userCenter;
@Autowired
private SysConfig sysConfig;
@RequestMapping(value = "/getUser", method = RequestMethod.GET) @RequestMapping(value = "/getUser", method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ -61,6 +71,94 @@ public class UserController {
} }
} }
@RequestMapping(value="uploadHead",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "头像上传")
public ResponseData uploadHead(@RequestParam(value = "files" , required = false) MultipartFile files,HttpServletRequest request,HttpServletResponse response) {
try {
UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class);
// 查询用户
BsUser user = userService.getUser(userSession.getUser().getId());
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的用户");
}
response.setHeader("Access-Control-Allow-Origin", "*");
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
// 判断 request 是否有文件上传,即多部分请求
List<String> fileNames = new ArrayList<String>();
if (multipartResolver.isMultipart(request)) {
// 转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = multiRequest.getFileNames();
while (iterator.hasNext()) {
MultipartFile file = multiRequest.getFile(iterator.next());
if (file != null) {
FileOutputStream out = null;
try {
String fileType = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
String fileName = System.currentTimeMillis() + "." + fileType;
String childPath = "user-head";
String destDirName = sysConfig.getFileUrl() + File.separator + childPath;
File dir = new File(destDirName);
if (!dir.exists()) {
dir.mkdirs();
}
out = new FileOutputStream(destDirName + File.separator + fileName);
out.write(file.getBytes());
out.flush();
fileNames.add(childPath + "/" + fileName);
// 修改用户头像
user.setHeadImg(CommonSysConst.getSysConfig().getDomain()+"/filesystem/"+fileNames.get(0));
userService.updateInfo(user);
} catch (Exception e) {
log.error(e.getMessage(), e);
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "上传失败");
} finally {
if (out != null) {
out.close();
}
}
}
}
}
return ResponseMsgUtil.success("上传成功");
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/updateName", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "修改用户名称")
public ResponseData updateName(@RequestBody JSONObject body) {
try {
if (body == null || StringUtils.isBlank(body.getString("name"))) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class);
// 查询用户
BsUser user = userService.getUser(userSession.getUser().getId());
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的用户");
}
user.setName(body.getString("name"));
userService.updateInfo(user);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/updateWechat", method = RequestMethod.POST) @RequestMapping(value = "/updateWechat", method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "修改用户微信号") @ApiOperation(value = "修改用户微信号")
@ -219,4 +317,20 @@ public class UserController {
} }
} }
@RequestMapping(value = "/delete", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "注销账户")
public ResponseData delete() {
try {
UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class);
userService.delete(userSession.getUser().getId());
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
} }

@ -23,7 +23,7 @@ public interface BsUserParentRelMapperExt {
" au.invite_user_id inviteUserId," + " au.invite_user_id inviteUserId," +
" case au.invite_user_id when #{param.parentUserId} then 1 else 2 end relType" + " case au.invite_user_id when #{param.parentUserId} then 1 else 2 end relType" +
" " + " " +
" FROM (SELECT * FROM bs_user WHERE invite_user_id IS NOT NULL) au," + " FROM (SELECT * FROM bs_user WHERE invite_user_id IS NOT NULL and `status` <![CDATA[ <> ]]> 0) au," +
" (SELECT @pid := #{param.parentUserId}) pd" + " (SELECT @pid := #{param.parentUserId}) pd" +
" WHERE FIND_IN_SET(invite_user_id, @pid) > 0 and @pid := concat(@pid, ',', id)" + " WHERE FIND_IN_SET(invite_user_id, @pid) > 0 and @pid := concat(@pid, ',', id)" +
" ORDER BY id" + " ORDER BY id" +

@ -0,0 +1,125 @@
package com.hfkj.dao;
import com.hfkj.entity.CmsContent;
import com.hfkj.entity.CmsContentExample;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.springframework.stereotype.Repository;
/**
*
* 代码由工具生成,请勿修改!!!
* 如果需要扩展请在其父类进行扩展
*
**/
@Repository
public interface CmsContentMapper extends CmsContentMapperExt {
@SelectProvider(type=CmsContentSqlProvider.class, method="countByExample")
long countByExample(CmsContentExample example);
@DeleteProvider(type=CmsContentSqlProvider.class, method="deleteByExample")
int deleteByExample(CmsContentExample example);
@Delete({
"delete from cms_content",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into cms_content (`type`, `name`, ",
"img_url, jump_type, ",
"jump_url, `status`, ",
"create_time, update_time, ",
"ext_1, ext_2, ext_3)",
"values (#{type,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, ",
"#{imgUrl,jdbcType=VARCHAR}, #{jumpType,jdbcType=INTEGER}, ",
"#{jumpUrl,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(CmsContent record);
@InsertProvider(type=CmsContentSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(CmsContent record);
@SelectProvider(type=CmsContentSqlProvider.class, method="selectByExample")
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="type", property="type", jdbcType=JdbcType.INTEGER),
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
@Result(column="img_url", property="imgUrl", jdbcType=JdbcType.VARCHAR),
@Result(column="jump_type", property="jumpType", jdbcType=JdbcType.INTEGER),
@Result(column="jump_url", property="jumpUrl", jdbcType=JdbcType.VARCHAR),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
})
List<CmsContent> selectByExample(CmsContentExample example);
@Select({
"select",
"id, `type`, `name`, img_url, jump_type, jump_url, `status`, create_time, update_time, ",
"ext_1, ext_2, ext_3",
"from cms_content",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="type", property="type", jdbcType=JdbcType.INTEGER),
@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),
@Result(column="img_url", property="imgUrl", jdbcType=JdbcType.VARCHAR),
@Result(column="jump_type", property="jumpType", jdbcType=JdbcType.INTEGER),
@Result(column="jump_url", property="jumpUrl", jdbcType=JdbcType.VARCHAR),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
})
CmsContent selectByPrimaryKey(Long id);
@UpdateProvider(type=CmsContentSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") CmsContent record, @Param("example") CmsContentExample example);
@UpdateProvider(type=CmsContentSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") CmsContent record, @Param("example") CmsContentExample example);
@UpdateProvider(type=CmsContentSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(CmsContent record);
@Update({
"update cms_content",
"set `type` = #{type,jdbcType=INTEGER},",
"`name` = #{name,jdbcType=VARCHAR},",
"img_url = #{imgUrl,jdbcType=VARCHAR},",
"jump_type = #{jumpType,jdbcType=INTEGER},",
"jump_url = #{jumpUrl,jdbcType=VARCHAR},",
"`status` = #{status,jdbcType=INTEGER},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(CmsContent record);
}

@ -0,0 +1,7 @@
package com.hfkj.dao;
/**
* mapper扩展类
*/
public interface CmsContentMapperExt {
}

@ -0,0 +1,332 @@
package com.hfkj.dao;
import com.hfkj.entity.CmsContent;
import com.hfkj.entity.CmsContentExample.Criteria;
import com.hfkj.entity.CmsContentExample.Criterion;
import com.hfkj.entity.CmsContentExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class CmsContentSqlProvider {
public String countByExample(CmsContentExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("cms_content");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(CmsContentExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("cms_content");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(CmsContent record) {
SQL sql = new SQL();
sql.INSERT_INTO("cms_content");
if (record.getType() != null) {
sql.VALUES("`type`", "#{type,jdbcType=INTEGER}");
}
if (record.getName() != null) {
sql.VALUES("`name`", "#{name,jdbcType=VARCHAR}");
}
if (record.getImgUrl() != null) {
sql.VALUES("img_url", "#{imgUrl,jdbcType=VARCHAR}");
}
if (record.getJumpType() != null) {
sql.VALUES("jump_type", "#{jumpType,jdbcType=INTEGER}");
}
if (record.getJumpUrl() != null) {
sql.VALUES("jump_url", "#{jumpUrl,jdbcType=VARCHAR}");
}
if (record.getStatus() != null) {
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}");
}
if (record.getCreateTime() != null) {
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
}
if (record.getExt1() != null) {
sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}");
}
if (record.getExt2() != null) {
sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}");
}
if (record.getExt3() != null) {
sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}");
}
return sql.toString();
}
public String selectByExample(CmsContentExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("`type`");
sql.SELECT("`name`");
sql.SELECT("img_url");
sql.SELECT("jump_type");
sql.SELECT("jump_url");
sql.SELECT("`status`");
sql.SELECT("create_time");
sql.SELECT("update_time");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("cms_content");
applyWhere(sql, example, false);
if (example != null && example.getOrderByClause() != null) {
sql.ORDER_BY(example.getOrderByClause());
}
return sql.toString();
}
public String updateByExampleSelective(Map<String, Object> parameter) {
CmsContent record = (CmsContent) parameter.get("record");
CmsContentExample example = (CmsContentExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("cms_content");
if (record.getId() != null) {
sql.SET("id = #{record.id,jdbcType=BIGINT}");
}
if (record.getType() != null) {
sql.SET("`type` = #{record.type,jdbcType=INTEGER}");
}
if (record.getName() != null) {
sql.SET("`name` = #{record.name,jdbcType=VARCHAR}");
}
if (record.getImgUrl() != null) {
sql.SET("img_url = #{record.imgUrl,jdbcType=VARCHAR}");
}
if (record.getJumpType() != null) {
sql.SET("jump_type = #{record.jumpType,jdbcType=INTEGER}");
}
if (record.getJumpUrl() != null) {
sql.SET("jump_url = #{record.jumpUrl,jdbcType=VARCHAR}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
}
if (record.getExt1() != null) {
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
}
if (record.getExt2() != null) {
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
}
if (record.getExt3() != null) {
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
}
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByExample(Map<String, Object> parameter) {
SQL sql = new SQL();
sql.UPDATE("cms_content");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("`type` = #{record.type,jdbcType=INTEGER}");
sql.SET("`name` = #{record.name,jdbcType=VARCHAR}");
sql.SET("img_url = #{record.imgUrl,jdbcType=VARCHAR}");
sql.SET("jump_type = #{record.jumpType,jdbcType=INTEGER}");
sql.SET("jump_url = #{record.jumpUrl,jdbcType=VARCHAR}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
CmsContentExample example = (CmsContentExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(CmsContent record) {
SQL sql = new SQL();
sql.UPDATE("cms_content");
if (record.getType() != null) {
sql.SET("`type` = #{type,jdbcType=INTEGER}");
}
if (record.getName() != null) {
sql.SET("`name` = #{name,jdbcType=VARCHAR}");
}
if (record.getImgUrl() != null) {
sql.SET("img_url = #{imgUrl,jdbcType=VARCHAR}");
}
if (record.getJumpType() != null) {
sql.SET("jump_type = #{jumpType,jdbcType=INTEGER}");
}
if (record.getJumpUrl() != null) {
sql.SET("jump_url = #{jumpUrl,jdbcType=VARCHAR}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{status,jdbcType=INTEGER}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
}
if (record.getExt1() != null) {
sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}");
}
if (record.getExt2() != null) {
sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}");
}
if (record.getExt3() != null) {
sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}");
}
sql.WHERE("id = #{id,jdbcType=BIGINT}");
return sql.toString();
}
protected void applyWhere(SQL sql, CmsContentExample example, boolean includeExamplePhrase) {
if (example == null) {
return;
}
String parmPhrase1;
String parmPhrase1_th;
String parmPhrase2;
String parmPhrase2_th;
String parmPhrase3;
String parmPhrase3_th;
if (includeExamplePhrase) {
parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
} else {
parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
}
StringBuilder sb = new StringBuilder();
List<Criteria> oredCriteria = example.getOredCriteria();
boolean firstCriteria = true;
for (int i = 0; i < oredCriteria.size(); i++) {
Criteria criteria = oredCriteria.get(i);
if (criteria.isValid()) {
if (firstCriteria) {
firstCriteria = false;
} else {
sb.append(" or ");
}
sb.append('(');
List<Criterion> criterions = criteria.getAllCriteria();
boolean firstCriterion = true;
for (int j = 0; j < criterions.size(); j++) {
Criterion criterion = criterions.get(j);
if (firstCriterion) {
firstCriterion = false;
} else {
sb.append(" and ");
}
if (criterion.isNoValue()) {
sb.append(criterion.getCondition());
} else if (criterion.isSingleValue()) {
if (criterion.getTypeHandler() == null) {
sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
} else {
sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
}
} else if (criterion.isBetweenValue()) {
if (criterion.getTypeHandler() == null) {
sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
} else {
sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
}
} else if (criterion.isListValue()) {
sb.append(criterion.getCondition());
sb.append(" (");
List<?> listItems = (List<?>) criterion.getValue();
boolean comma = false;
for (int k = 0; k < listItems.size(); k++) {
if (comma) {
sb.append(", ");
} else {
comma = true;
}
if (criterion.getTypeHandler() == null) {
sb.append(String.format(parmPhrase3, i, j, k));
} else {
sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
}
}
sb.append(')');
}
}
sb.append(')');
}
}
if (sb.length() > 0) {
sql.WHERE(sb.toString());
}
}
}

@ -0,0 +1,232 @@
package com.hfkj.entity;
import java.io.Serializable;
import java.util.Date;
/**
* cms_content
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class CmsContent implements Serializable {
/**
* 主键
*/
private Long id;
/**
* 类型
*/
private Integer type;
/**
* 轮播图名称
*/
private String name;
/**
* 图片地址
*/
private String imgUrl;
/**
* 跳转类型
*/
private Integer jumpType;
/**
* 跳转地址
*/
private String jumpUrl;
/**
* 状态 0删除 1编辑中 2已上线 3已下线
*/
private Integer status;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private String ext1;
private String ext2;
private String ext3;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImgUrl() {
return imgUrl;
}
public void setImgUrl(String imgUrl) {
this.imgUrl = imgUrl;
}
public Integer getJumpType() {
return jumpType;
}
public void setJumpType(Integer jumpType) {
this.jumpType = jumpType;
}
public String getJumpUrl() {
return jumpUrl;
}
public void setJumpUrl(String jumpUrl) {
this.jumpUrl = jumpUrl;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getExt1() {
return ext1;
}
public void setExt1(String ext1) {
this.ext1 = ext1;
}
public String getExt2() {
return ext2;
}
public void setExt2(String ext2) {
this.ext2 = ext2;
}
public String getExt3() {
return ext3;
}
public void setExt3(String ext3) {
this.ext3 = ext3;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
CmsContent other = (CmsContent) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
&& (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
&& (this.getImgUrl() == null ? other.getImgUrl() == null : this.getImgUrl().equals(other.getImgUrl()))
&& (this.getJumpType() == null ? other.getJumpType() == null : this.getJumpType().equals(other.getJumpType()))
&& (this.getJumpUrl() == null ? other.getJumpUrl() == null : this.getJumpUrl().equals(other.getJumpUrl()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
&& (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
&& (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
result = prime * result + ((getImgUrl() == null) ? 0 : getImgUrl().hashCode());
result = prime * result + ((getJumpType() == null) ? 0 : getJumpType().hashCode());
result = prime * result + ((getJumpUrl() == null) ? 0 : getJumpUrl().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", type=").append(type);
sb.append(", name=").append(name);
sb.append(", imgUrl=").append(imgUrl);
sb.append(", jumpType=").append(jumpType);
sb.append(", jumpUrl=").append(jumpUrl);
sb.append(", status=").append(status);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", ext1=").append(ext1);
sb.append(", ext2=").append(ext2);
sb.append(", ext3=").append(ext3);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,25 @@
package com.hfkj.service.cms;
/**
* @className: CmsContentService
* @author: HuRui
* @date: 2024/9/24
**/
public interface CmsContentReadService {
/**
* 创建时间
* @param contentId
* @param userId
*/
void create(Long contentId,Long userId);
/**
* 实付阅读过
* @param contentId
* @param userId
* @return
*/
boolean isRead(Long contentId,Long userId);
}

@ -0,0 +1,35 @@
package com.hfkj.service.cms;
import com.hfkj.entity.CmsContent;
import java.util.List;
import java.util.Map;
/**
* @className: CmsContentService
* @author: HuRui
* @date: 2024/9/24
**/
public interface CmsContentService {
/**
* 编辑数据
* @param data
*/
void editData(CmsContent data);
/**
* 详情
* @param id
* @return
*/
CmsContent getDetail(Long id);
/**
* 查询列表
* @param param
* @return
*/
List<CmsContent> getList(Map<String, Object> param);
}

@ -0,0 +1,64 @@
package com.hfkj.service.cms.impl;
import com.hfkj.dao.CmsContentMapper;
import com.hfkj.entity.CmsContent;
import com.hfkj.entity.CmsContentExample;
import com.hfkj.service.cms.CmsContentService;
import com.hfkj.sysenum.cms.CmsStatusEnum;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @className: CmsContentServiceImpl
* @author: HuRui
* @date: 2024/9/24
**/
@Service("cmsContentService")
public class CmsContentServiceImpl implements CmsContentService {
@Resource
private CmsContentMapper cmsContentMapper;
public final static String CACHE_CMS_ONLINE = "CACHE_CMS_ONLINE";
@Override
public void editData(CmsContent data) {
data.setUpdateTime(new Date());
if (data.getId() == null) {
data.setCreateTime(new Date());
cmsContentMapper.insert(data);
} else {
cmsContentMapper.updateByPrimaryKey(data);
}
}
@Override
public CmsContent getDetail(Long id) {
return cmsContentMapper.selectByPrimaryKey(id);
}
@Override
public List<CmsContent> getList(Map<String, Object> param) {
CmsContentExample example = new CmsContentExample();
CmsContentExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(CmsStatusEnum.status0.getStatus());
if (MapUtils.getInteger(param, "type") != null) {
criteria.andTypeEqualTo(MapUtils.getInteger(param, "type"));
}
if (MapUtils.getInteger(param, "status") != null) {
criteria.andStatusEqualTo(MapUtils.getInteger(param, "status"));
}
if (StringUtils.isNotBlank(MapUtils.getString(param, "name"))) {
criteria.andNameLike("%"+MapUtils.getString(param, "name")+"%");
}
example.setOrderByClause("update_time desc");
return cmsContentMapper.selectByExample(example);
}
}

@ -43,6 +43,13 @@ public interface BsUserParentRelService {
*/ */
BsUserParentRel getParent(List<UserGradeEnum> grade, Long userId); BsUserParentRel getParent(List<UserGradeEnum> grade, Long userId);
/**
* 查询用户直属下级用户关系列表
* @param userId
* @return
*/
List<BsUserParentRel> getSonRelList(Long userId);
/** /**
* 查询下级用户列表 * 查询下级用户列表
* @param param * @param param

@ -27,6 +27,11 @@ public interface BsUserService {
*/ */
void updatePhone(Long userId, String newPhone) throws Exception; void updatePhone(Long userId, String newPhone) throws Exception;
/**
* 修改信息
*/
void updateInfo(BsUser user) throws Exception;
/** /**
* 修改微信号 * 修改微信号
* @param userId * @param userId
@ -41,6 +46,12 @@ public interface BsUserService {
*/ */
void bindInviteUser(Long userId, Long inviteUseId) throws Exception; void bindInviteUser(Long userId, Long inviteUseId) throws Exception;
/**
* 注销账户
* @param userId
*/
void delete(Long userId) throws Exception;
/** /**
* 查询详情 * 查询详情
* @param userId * @param userId

@ -69,6 +69,13 @@ public class BsUserParentRelServiceImpl implements BsUserParentRelService {
return recursionParent(grade, userParentRel.getParentUserId(), new ArrayList<>(Arrays.asList(userParentRel))); return recursionParent(grade, userParentRel.getParentUserId(), new ArrayList<>(Arrays.asList(userParentRel)));
} }
@Override
public List<BsUserParentRel> getSonRelList(Long userId) {
BsUserParentRelExample example = new BsUserParentRelExample();
example.createCriteria().andUserIdEqualTo(userId).andStatusEqualTo(0);
return userParentRelMapper.selectByExample(example);
}
@Override @Override
public List<UserTeamModel> getTeamSubList(Map<String, Object> param) { public List<UserTeamModel> getTeamSubList(Map<String, Object> param) {
return userParentRelMapper.queryTeamSubList(param); return userParentRelMapper.queryTeamSubList(param);

@ -8,12 +8,10 @@ import com.hfkj.common.security.SessionObject;
import com.hfkj.common.security.UserCenter; import com.hfkj.common.security.UserCenter;
import com.hfkj.common.utils.RedisUtil; import com.hfkj.common.utils.RedisUtil;
import com.hfkj.dao.BsUserMapper; import com.hfkj.dao.BsUserMapper;
import com.hfkj.entity.BsUser; import com.hfkj.entity.*;
import com.hfkj.entity.BsUserExample;
import com.hfkj.entity.BsUserInviteCode;
import com.hfkj.entity.BsUserParentRel;
import com.hfkj.model.UserSessionObject; import com.hfkj.model.UserSessionObject;
import com.hfkj.service.user.*; import com.hfkj.service.user.*;
import com.hfkj.sysenum.user.UserAccountStatusEnum;
import com.hfkj.sysenum.user.UserGradeEnum; import com.hfkj.sysenum.user.UserGradeEnum;
import com.hfkj.sysenum.user.UserLoginType; import com.hfkj.sysenum.user.UserLoginType;
import com.hfkj.sysenum.user.UserStatusEnum; import com.hfkj.sysenum.user.UserStatusEnum;
@ -104,6 +102,18 @@ public class BsUserServiceImpl implements BsUserService {
redisUtil.hdel(CACHE_KEY, oldPhone); redisUtil.hdel(CACHE_KEY, oldPhone);
} }
@Override
public void updateInfo(BsUser user) throws Exception {
// 查询用户
editData(user);
// 更新session
UserSessionObject session = new UserSessionObject();
session.setUser(user);
SessionObject sessionObject = new SessionObject(userToken(user.getId()), session);
userCenter.save(sessionObject);
}
@Override @Override
public void updateWechatNum(Long userId, String wechatNum) throws Exception { public void updateWechatNum(Long userId, String wechatNum) throws Exception {
// 查询用户 // 查询用户
@ -151,6 +161,39 @@ public class BsUserServiceImpl implements BsUserService {
userCenter.save(sessionObject); userCenter.save(sessionObject);
} }
@Override
@Transactional(propagation= Propagation.REQUIRES_NEW,rollbackFor= {RuntimeException.class})
public void delete(Long userId) throws Exception {
// 查询用户
BsUser user = getUser(userId);
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到用户");
}
if (UserStatusEnum.status0.getCode() == user.getStatus()) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到用户");
}
user.setHeadImg(null);
user.setName("账户已注销");
user.setStatus(UserStatusEnum.status0.getCode());
editData(user);
// 删除上级关系
BsUserParentRel userParentRel = userParentRelService.getDetailByUserId(userId);
if (userParentRel != null) {
userParentRel.setStatus(0);
userParentRelService.editData(userParentRel);
}
// 查询下级关系
List<BsUserParentRel> sonRelList = userParentRelService.getSonRelList(userId);
for (BsUserParentRel sonRel : sonRelList) {
// 删除关系
sonRel.setStatus(0);
userParentRelService.editData(sonRel);
}
// 更新session
userCenter.remove(userToken(user.getId()));
}
@Override @Override
public BsUser getUser(Long userId) { public BsUser getUser(Long userId) {
return userMapper.selectByPrimaryKey(userId); return userMapper.selectByPrimaryKey(userId);

@ -0,0 +1,48 @@
package com.hfkj.sysenum.cms;
import lombok.Getter;
import java.util.Objects;
/**
* @className: CmsTypeEnum
* @author: HuRui
* @date: 2024/9/24
**/
@Getter
public enum CmsStatusEnum {
/**
* 删除
*/
status0(0 , "删除"),
/**
* 编辑中
*/
status1(1 , "编辑中"),
/**
* 已上线
*/
status2(2 , "已上线"),
/**
* 已下线
*/
status3(3 , "已下线"),
;
private Integer status;
private String name;
CmsStatusEnum(int status , String name) {
this.status = status;
this.name = name;
}
public static CmsStatusEnum getDataByType(Integer status) {
for (CmsStatusEnum ele : values()) {
if(Objects.equals(status,ele.getStatus())) return ele;
}
return null;
}
}

@ -0,0 +1,36 @@
package com.hfkj.sysenum.cms;
import lombok.Getter;
import java.util.Objects;
/**
* @className: CmsTypeEnum
* @author: HuRui
* @date: 2024/9/24
**/
@Getter
public enum CmsTypeEnum {
/**
* 首页轮播图
*/
type1(1 , "首页轮播图"),
;
private Integer type;
private String name;
CmsTypeEnum(int type , String name) {
this.type = type;
this.name = name;
}
public static CmsTypeEnum getDataByType(Integer type) {
for (CmsTypeEnum ele : values()) {
if(Objects.equals(type,ele.getType())) return ele;
}
return null;
}
}

@ -10,9 +10,9 @@ import lombok.Getter;
@Getter @Getter
public enum UserStatusEnum { public enum UserStatusEnum {
/** /**
* 删除 * 已注销
*/ */
status0(0, "删除"), status0(0, "已注销"),
/** /**
* 正常 * 正常
@ -23,11 +23,6 @@ public enum UserStatusEnum {
* 禁用 * 禁用
*/ */
status2(2, "禁用"), status2(2, "禁用"),
/**
* 已注销
*/
status3(3, "已注销"),
; ;
private int code; private int code;

Loading…
Cancel
Save