Merge remote-tracking branch 'origin/master'

master
袁野 1 month ago
commit 81646ec569
  1. 158
      bweb/src/main/java/com/hfkj/controller/BsUserController.java
  2. 1
      bweb/src/main/java/com/hfkj/controller/CmsController.java
  3. 70
      bweb/src/main/java/com/hfkj/controller/SysSettingController.java
  4. 21
      service/src/main/java/com/hfkj/dao/SecDictionaryMapperExt.java
  5. 12
      service/src/main/java/com/hfkj/service/sec/SecDictionaryService.java
  6. 10
      service/src/main/java/com/hfkj/service/sec/impl/SecDictionaryServiceImpl.java
  7. 9
      service/src/main/java/com/hfkj/service/user/BsUserGradeService.java
  8. 12
      service/src/main/java/com/hfkj/service/user/BsUserService.java
  9. 16
      service/src/main/java/com/hfkj/service/user/impl/BsUserGradeServiceImpl.java
  10. 53
      service/src/main/java/com/hfkj/service/user/impl/BsUserServiceImpl.java

@ -0,0 +1,158 @@
package com.hfkj.controller;
import com.alibaba.fastjson.JSONObject;
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.ResponseMsgUtil;
import com.hfkj.entity.BsUser;
import com.hfkj.entity.BsUserParentRel;
import com.hfkj.model.ResponseData;
import com.hfkj.service.user.BsUserGradeService;
import com.hfkj.service.user.BsUserParentRelService;
import com.hfkj.service.user.BsUserService;
import com.hfkj.sysenum.user.UserGradeEnum;
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.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
* @className: CmsController
* @author: HuRui
* @date: 2024/9/24
**/
@Controller
@RequestMapping(value = "/bsUser")
@Api(value = "用户管理")
public class BsUserController {
private static Logger log = LoggerFactory.getLogger(BsUserController.class);
@Resource
private BsUserService userService;
@Resource
private BsUserGradeService userGradeService;
@Resource
private BsUserParentRelService userParentRelService;
@RequestMapping(value="/gradeAdjust",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "等级调整")
public ResponseData gradeAdjust(@RequestBody JSONObject body) {
try {
if (body == null || body.getLong("userId") == null || body.getInteger("grade") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
userGradeService.gradeAdjust(body.getLong("userId"), UserGradeEnum.getDataByType(body.getInteger("grade")));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/ban",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "封禁")
public ResponseData ban(@RequestBody JSONObject body) {
try {
if (body == null || body.getLong("userId") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
userService.ban(body.getLong("userId"));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/restore",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "恢复")
public ResponseData restore(@RequestBody JSONObject body) {
try {
if (body == null || body.getLong("userId") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
userService.restore(body.getLong("userId"));
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/getDetail",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询详情")
public ResponseData getDetail(@RequestParam(name = "userId", required = true) Long userId) {
try {
// 查询用户
BsUser user = userService.getUser(userId);
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的用户");
}
Map<String,Object> param = new HashMap<>();
param.put("user", user);
// 授权
param.put("platform_authorize", new ArrayList<>());
// 邀请人
param.put("inviteUser", user.getInviteUserId()!=null?userService.getUser(user.getInviteUserId()):null);
// 贡献关系
Map<String,Object> contribute = new HashMap<>();
param.put("contribute", contribute);
if (user.getInviteUserId() != null) {
// 查询用户上级
BsUserParentRel parent = userParentRelService.getDetailByUserId(userId);
}
return ResponseMsgUtil.success(param);
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/queryList",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询列表")
public ResponseData queryList(@RequestParam(name = "userId", required = false) Long userId,
@RequestParam(name = "name", required = false) String name,
@RequestParam(name = "phone", required = false) Integer phone,
@RequestParam(name = "grade", required = false) Integer grade,
@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("id", userId);
param.put("name", name);
param.put("phone", phone);
param.put("grade", grade);
param.put("status", status);
PageHelper.startPage(pageNum, pageSize);
return ResponseMsgUtil.success(new PageInfo<>(userService.getList(param)));
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
}

@ -64,6 +64,7 @@ public class CmsController {
cmsContent = new CmsContent(); cmsContent = new CmsContent();
cmsContent.setStatus(CmsStatusEnum.status1.getStatus()); cmsContent.setStatus(CmsStatusEnum.status1.getStatus());
} }
cmsContent.setName(body.getName());
cmsContent.setType(body.getType()); cmsContent.setType(body.getType());
cmsContent.setImgUrl(body.getImgUrl()); cmsContent.setImgUrl(body.getImgUrl());
cmsContent.setJumpType(body.getJumpType()); cmsContent.setJumpType(body.getJumpType());

@ -0,0 +1,70 @@
package com.hfkj.controller;
import com.alibaba.fastjson.JSONObject;
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.ResponseMsgUtil;
import com.hfkj.entity.BsUser;
import com.hfkj.entity.BsUserParentRel;
import com.hfkj.entity.SecDictionary;
import com.hfkj.model.ResponseData;
import com.hfkj.service.sec.SecDictionaryService;
import com.hfkj.service.user.BsUserGradeService;
import com.hfkj.service.user.BsUserParentRelService;
import com.hfkj.service.user.BsUserService;
import com.hfkj.sysenum.user.UserGradeEnum;
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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className: CmsController
* @author: HuRui
* @date: 2024/9/24
**/
@Controller
@RequestMapping(value = "/sysSetting")
@Api(value = "系统设置")
public class SysSettingController {
private static Logger log = LoggerFactory.getLogger(SysSettingController.class);
@Resource
private SecDictionaryService secDictionaryService;
@RequestMapping(value="/goldCoinExchangeRate",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "元宝汇率")
public ResponseData goldCoinExchangeRate(@RequestBody JSONObject body) {
try {
if (body == null || body.getBigDecimal("exchangeRate") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
SecDictionary where = new SecDictionary();
where.setCodeType("GOLD_COIN_EXCHANGE_RATE");
// 查询数据
SecDictionary dictionary = secDictionaryService.getDictionary("GOLD_COIN_EXCHANGE_RATE").get(0);
dictionary.setCodeValue(body.getBigDecimal("exchangeRate").toString());
secDictionaryService.update(where, dictionary);
// 刷新缓存
secDictionaryService.refreshCache();
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
}

@ -1,7 +1,28 @@
package com.hfkj.dao; package com.hfkj.dao;
import com.hfkj.entity.SecDictionary;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* mapper扩展类 * mapper扩展类
*/ */
public interface SecDictionaryMapperExt { public interface SecDictionaryMapperExt {
@Update({
"<script>" +
"update sec_dictionary",
"set code_value = #{data.codeValue,jdbcType=VARCHAR}," +
"code_name = #{data.codeName,jdbcType=VARCHAR},",
"code_desc = #{data.codeDesc,jdbcType=VARCHAR},",
"sort_id = #{data.sortId,jdbcType=INTEGER},",
"`status` = #{data.status,jdbcType=INTEGER},",
"ext_1 = #{data.ext1,jdbcType=VARCHAR},",
"ext_2 = #{data.ext2,jdbcType=VARCHAR},",
"ext_3 = #{data.ext3,jdbcType=VARCHAR}",
"where code_type = #{codeType,jdbcType=VARCHAR}",
" <if test='codeValue != null'> and code_value = #{codeValue,jdbcType=VARCHAR} </if>",
"</script>"
})
void update(@Param("codeType") String codeType, @Param("codeValue") String codeValue, @Param("data") SecDictionary data);
} }

@ -11,6 +11,18 @@ import java.util.List;
**/ **/
public interface SecDictionaryService { public interface SecDictionaryService {
/**
* 增加
* @param data
*/
void insert(SecDictionary data);
/**
* 修改
* @param data
*/
void update(SecDictionary where,SecDictionary data);
/** /**
* 获取数据字典 * 获取数据字典
* @return * @return

@ -26,6 +26,16 @@ public class SecDictionaryServiceImpl implements SecDictionaryService {
// 缓存KEY // 缓存KEY
private final String CACHE_KEY = "SEC_DICTIONARY"; private final String CACHE_KEY = "SEC_DICTIONARY";
@Override
public void insert(SecDictionary data) {
secDictionaryMapper.insert(data);
}
@Override
public void update(SecDictionary where,SecDictionary data) {
secDictionaryMapper.update(where.getCodeType(), where.getCodeValue(), data);
}
@Override @Override
public List<SecDictionary> getDictionary() { public List<SecDictionary> getDictionary() {
Object cache = redisUtil.get(CACHE_KEY); Object cache = redisUtil.get(CACHE_KEY);

@ -1,5 +1,7 @@
package com.hfkj.service.user; package com.hfkj.service.user;
import com.hfkj.sysenum.user.UserGradeEnum;
import java.util.Map; import java.util.Map;
/** /**
@ -9,6 +11,13 @@ import java.util.Map;
**/ **/
public interface BsUserGradeService { public interface BsUserGradeService {
/**
* 等级调整
* @param userId
* @param userGrade
*/
void gradeAdjust(Long userId, UserGradeEnum userGrade);
/** /**
* 等级晋升 * 等级晋升
* @param userId * @param userId

@ -46,6 +46,18 @@ public interface BsUserService {
*/ */
void bindInviteUser(Long userId, Long inviteUseId) throws Exception; void bindInviteUser(Long userId, Long inviteUseId) throws Exception;
/**
* 封号
*/
void ban(Long userId) throws Exception;
/**
* 恢复
* @param userId
* @throws Exception
*/
void restore(Long userId) throws Exception;
/** /**
* 注销账户 * 注销账户
* @param userId * @param userId

@ -34,6 +34,22 @@ public class BsUserGradeServiceImpl implements BsUserGradeService {
private BsUserAccountRecordService userAccountRecordService; private BsUserAccountRecordService userAccountRecordService;
@Resource @Resource
private BsUserParentRelService userParentRelService; private BsUserParentRelService userParentRelService;
@Override
@Transactional(propagation= Propagation.REQUIRED,rollbackFor= {RuntimeException.class})
public void gradeAdjust(Long userId, UserGradeEnum userGrade) {
// 查询详情
BsUser user = userService.getUser(userId);
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "");
}
user.setGrade(userGrade.getCode());
userService.editData(user);
// 修改上下级关系等级
userParentRelService.updateParentGrade(user.getId(), userGrade);
}
@Override @Override
@Transactional(propagation= Propagation.REQUIRED,rollbackFor= {RuntimeException.class}) @Transactional(propagation= Propagation.REQUIRED,rollbackFor= {RuntimeException.class})
public void promote(Long userId) { public void promote(Long userId) {

@ -15,6 +15,7 @@ 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;
import org.apache.catalina.User;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -161,6 +162,37 @@ public class BsUserServiceImpl implements BsUserService {
userCenter.save(sessionObject); userCenter.save(sessionObject);
} }
@Override
public void ban(Long userId) throws Exception {
// 查询用户
BsUser user = getUser(userId);
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到用户");
}
if (!user.getStatus().equals(UserStatusEnum.status1.getCode())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "状态不正确,无法封禁");
}
user.setStatus(UserStatusEnum.status2.getCode());
updateInfo(user);
// 退出登录
userCenter.remove(userToken(user.getId()));
}
@Override
public void restore(Long userId) throws Exception {
// 查询用户
BsUser user = getUser(userId);
if (user == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到用户");
}
if (!user.getStatus().equals(UserStatusEnum.status1.getCode())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "状态不正确,无法封禁");
}
user.setStatus(UserStatusEnum.status1.getCode());
updateInfo(user);
}
@Override @Override
@Transactional(propagation= Propagation.REQUIRES_NEW,rollbackFor= {RuntimeException.class}) @Transactional(propagation= Propagation.REQUIRES_NEW,rollbackFor= {RuntimeException.class})
public void delete(Long userId) throws Exception { public void delete(Long userId) throws Exception {
@ -221,8 +253,27 @@ public class BsUserServiceImpl implements BsUserService {
@Override @Override
public List<BsUser> getList(Map<String, Object> param) { public List<BsUser> getList(Map<String, Object> param) {
BsUserExample example = new BsUserExample(); BsUserExample example = new BsUserExample();
example.createCriteria().andStatusNotEqualTo(0); BsUserExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0);
if (MapUtils.getLong(param, "id") != null) {
criteria.andIdEqualTo(MapUtils.getLong(param, "id"));
}
if (StringUtils.isNotBlank(MapUtils.getString(param, "name"))) {
criteria.andNameLike("%"+MapUtils.getString(param, "name")+"%");
}
if (StringUtils.isNotBlank(MapUtils.getString(param, "phone"))) {
criteria.andPhoneLike("%"+MapUtils.getString(param, "phone")+"%");
}
if (MapUtils.getInteger(param, "grade") != null) {
criteria.andGradeEqualTo(MapUtils.getInteger(param, "grade"));
}
if (MapUtils.getInteger(param, "status") != null) {
criteria.andStatusEqualTo(MapUtils.getInteger(param, "status"));
}
example.setOrderByClause("create_time desc"); example.setOrderByClause("create_time desc");
return userMapper.selectByExample(example); return userMapper.selectByExample(example);

Loading…
Cancel
Save