Merge remote-tracking branch 'origin/master'

This commit is contained in:
13405411873 2025-04-03 15:49:58 +08:00
commit 571f8b7f63
13 changed files with 228 additions and 60 deletions

View File

@ -33,14 +33,13 @@ import com.ruoyi.common.core.page.TableDataInfo;
/**
* 分类树-各种分类属性结构Controller
*
*
* @author vinjor-m
* @date 2025-03-17
*/
@RestController
@RequestMapping("/base/category")
public class BaseCategoryController extends BaseController
{
public class BaseCategoryController extends BaseController {
@Autowired
private IBaseCategoryService baseCategoryService;
@ -49,14 +48,13 @@ public class BaseCategoryController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:category:list')")
@GetMapping("/list")
public AjaxResult list(BaseCategory baseCategory)
{
public AjaxResult list(BaseCategory baseCategory) {
LambdaQueryWrapper<BaseCategory> queryWrapper = new LambdaQueryWrapper<BaseCategory>();
if(StringUtils.isNotEmpty(baseCategory.getCode())){
queryWrapper.like(BaseCategory::getCode,baseCategory.getCode());
if (StringUtils.isNotEmpty(baseCategory.getCode())) {
queryWrapper.like(BaseCategory::getCode, baseCategory.getCode());
}
if(StringUtils.isNotEmpty(baseCategory.getTitle())){
queryWrapper.like(BaseCategory::getTitle,baseCategory.getTitle());
if (StringUtils.isNotEmpty(baseCategory.getTitle())) {
queryWrapper.like(BaseCategory::getTitle, baseCategory.getTitle());
}
queryWrapper.orderByAsc(BaseCategory::getSort);
List<BaseCategory> list = baseCategoryService.list(queryWrapper);
@ -69,8 +67,7 @@ public class BaseCategoryController extends BaseController
@PreAuthorize("@ss.hasPermi('base:category:export')")
@Log(title = "分类树-各种分类属性结构", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, BaseCategory baseCategory)
{
public void export(HttpServletResponse response, BaseCategory baseCategory) {
List<BaseCategory> list = baseCategoryService.list();
ExcelUtil<BaseCategory> util = new ExcelUtil<BaseCategory>(BaseCategory.class);
util.exportExcel(response, list, "分类树-各种分类属性结构数据");
@ -81,8 +78,7 @@ public class BaseCategoryController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:category:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(baseCategoryService.getById(id));
}
@ -92,10 +88,9 @@ public class BaseCategoryController extends BaseController
@PreAuthorize("@ss.hasPermi('base:category:add')")
@Log(title = "分类树-各种分类属性结构", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BaseCategory baseCategory)
{
public AjaxResult add(@RequestBody BaseCategory baseCategory) {
List<BaseCategory> list = baseCategoryService.selectByCode(baseCategory.getCode());
if(!list.isEmpty()){
if (!list.isEmpty()) {
return error("唯一编码重复!");
}
return toAjax(baseCategoryService.save(baseCategory));
@ -107,8 +102,7 @@ public class BaseCategoryController extends BaseController
@PreAuthorize("@ss.hasPermi('base:category:edit')")
@Log(title = "分类树-各种分类属性结构", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BaseCategory baseCategory)
{
public AjaxResult edit(@RequestBody BaseCategory baseCategory) {
return toAjax(baseCategoryService.updateById(baseCategory));
}
@ -117,29 +111,48 @@ public class BaseCategoryController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:category:remove')")
@Log(title = "分类树-各种分类属性结构", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(baseCategoryService.removeByIds(list));
}
/**
* 根据code查分类字典list
*
* @param code code
* @param isSystem 是否系统级
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M
* @date 11:31 2025/3/18
* @param code code
* @param isSystem 是否系统级
* @return com.ruoyi.common.core.domain.AjaxResult
**/
**/
@GetMapping("/listByCode")
@Anonymous
public AjaxResult listByCode(@RequestParam(value = "code") String code,
@RequestParam(value = "isSystem",required = false) Integer isSystem)
{
@RequestParam(value = "isSystem", required = false) Integer isSystem) {
try {
return success(baseCategoryService.listByParentCode(code, isSystem));
}catch (ServiceException e){
} catch (ServiceException e) {
return error("未查询到该字典项!");
}
}
/**
* uniapp下拉列表使用
*
* @param code code
* @param isSystem 是否系统级
* @return com.ruoyi.common.core.domain.AjaxResult
* @author PQZ
* @date 14:47 2025/4/3
**/
@GetMapping("/uniListByParentCode")
@Anonymous
public AjaxResult uniListByParentCode(@RequestParam(value = "code") String code,
@RequestParam(value = "isSystem", required = false) Integer isSystem) {
try {
return success(baseCategoryService.uniListByParentCode(code, isSystem));
} catch (ServiceException e) {
return error("未查询到该字典项!");
}
}

View File

@ -1,37 +1,51 @@
package com.ruoyi.base.service;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.base.domain.BaseCategory;
import com.ruoyi.member.vo.MemberUniVO;
/**
* 分类树-各种分类属性结构Service接口
*
*
* @author vinjor-m
* @date 2025-03-17
*/
public interface IBaseCategoryService extends IService<BaseCategory>
{
public interface IBaseCategoryService extends IService<BaseCategory> {
IPage<BaseCategory> queryListPage(BaseCategory pageReqVO, Page<BaseCategory> page);
/**
* 根据code查询字典
* @author vinjor-M
* @date 11:32 2025/3/18
*
* @param code
* @return java.util.List<com.ruoyi.base.domain.BaseCategory>
**/
* @author vinjor-M
* @date 11:32 2025/3/18
**/
List<BaseCategory> selectByCode(String code);
/**
* 根据code查下级分类字典--列表
*
* @param code 编码
* @param isSystem 是否系统级
* @return java.util.List<com.ruoyi.base.domain.BaseCategory>
* @author vinjor-M
* @date 17:01 2025/3/25
* @param code 编码
* @param isSystem 是否系统级
* @return java.util.List<com.ruoyi.base.domain.BaseCategory>
**/
**/
List<BaseCategory> listByParentCode(String code, Integer isSystem);
/**
* 查询列表
*
* @param code 编码
* @param isSystem 是否系统级
* @return java.util.List<com.ruoyi.member.vo.MemberUniVO>
* @author PQZ
* @date 14:43 2025/4/3
**/
List<MemberUniVO> uniListByParentCode(String code, Integer isSystem);
}

View File

@ -1,12 +1,14 @@
package com.ruoyi.base.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.vo.MemberUniVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -67,4 +69,19 @@ public class BaseCategoryServiceImpl extends ServiceImpl<BaseCategoryMapper,Base
queryWrapper.orderByAsc(BaseCategory::getSort);
return list(queryWrapper);
}
/**
* 查询列表
*
* @param code 编码
* @param isSystem 是否系统级
* @return java.util.List<com.ruoyi.member.vo.MemberUniVO>
* @author PQZ
* @date 14:43 2025/4/3
**/
@Override
public List<MemberUniVO> uniListByParentCode(String code, Integer isSystem) {
List<BaseCategory> list = listByParentCode(code, isSystem);
return list.stream().map(item -> new MemberUniVO(item.getCode(),item.getTitle())).collect(Collectors.toList());
}
}

View File

@ -43,6 +43,19 @@ public class MemberAddressController extends BaseController {
return success(memberAddressService.listByUserId(userId));
}
/**
* uniApp选择地址使用
* @author PQZ
* @date 14:12 2025/4/3
* @return com.ruoyi.common.core.domain.AjaxResult
**/
@GetMapping("/uniSelectList")
public AjaxResult uniSelectList() {
return success(memberAddressService.uniSelectList());
}
/**
* 根据地址id查询博主地址详细信息
*

View File

@ -57,7 +57,7 @@ public class MemberBusiCardController extends BaseController {
@GetMapping("/listByUser")
public AjaxResult listByUserId() {
Long userId = SecurityUtils.getUserId();
return success(memberBusiCardService.queryListByUserId(userId));
return success(memberBusiCardService.queryListByUserId(userId,null));
}
/**
@ -68,8 +68,8 @@ public class MemberBusiCardController extends BaseController {
* @author PQZ
* @date 22:37 2025/3/21
**/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
@GetMapping(value = "/getBusiCardById")
public AjaxResult getInfo(@RequestParam("id") String id) {
return success(memberBusiCardService.queryById(id));
}
@ -98,19 +98,24 @@ public class MemberBusiCardController extends BaseController {
**/
@Log(title = "博主名片", businessType = BusinessType.INSERT)
@PostMapping("/toApply")
public AjaxResult add(@RequestBody MemberBusiCard memberBusiCard) {
memberBusiCardService.save(memberBusiCard);
public AjaxResult save(@RequestBody MemberBusiCard memberBusiCard) {
memberBusiCardService.saveBusiCard(memberBusiCard);
return success();
}
/**
* 删除博主名片
*/
* 删除博主名片信息
*
* @param id 博主名片id
* @return com.ruoyi.common.core.domain.AjaxResult
* @author PQZ
* @date 13:53 2025/4/3
**/
@Log(title = "博主名片", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(memberBusiCardService.removeByIds(list));
@DeleteMapping("/remove")
public AjaxResult remove(@RequestParam("id") String id) {
memberBusiCardService.removeById(id);
return success();
}
}

View File

@ -1,11 +1,13 @@
package com.ruoyi.member.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import com.ruoyi.common.core.domain.DlBaseEntity;
import org.apache.ibatis.type.JdbcType;
import java.util.Date;
/**
* 会员权益(定时任务重置剩余值)用户id会员卡id权益对应1对象 dl_member_rights
@ -15,12 +17,11 @@ import com.ruoyi.common.core.domain.DlBaseEntity;
*/
@TableName("dl_member_rights")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberRights extends DlBaseEntity
public class MemberRights
{
private static final long serialVersionUID = 1L;
@ -60,4 +61,22 @@ public class MemberRights extends DlBaseEntity
@Excel(name = "剩余值")
private Integer remaining;
/** 创建者 */
@TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
private String creator;
/** 创建时间 */
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
@TableField(fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.VARCHAR)
private String updater;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

View File

@ -2,6 +2,7 @@ package com.ruoyi.member.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.MemberAddress;
import com.ruoyi.member.vo.MemberUniVO;
import java.util.List;
@ -41,4 +42,11 @@ public interface IMemberAddressService extends IService<MemberAddress> {
**/
void setDefault(String id);
/**
* uniApp选择地址使用
* @author PQZ
* @date 14:14 2025/4/3
* @return java.util.List<com.ruoyi.member.vo.MemberUniVO>
**/
List<MemberUniVO> uniSelectList();
}

View File

@ -45,7 +45,7 @@ public interface IMemberBusiCardService extends IService<MemberBusiCard> {
* @author PQZ
* @date 10:49 2025/3/22
**/
List<MemberBusiCard> queryListByUserId(Long userId);
List<MemberBusiCard> queryListByUserId(Long userId,String approvalStatus);
/**
* 审核博主名片信息
@ -55,4 +55,13 @@ public interface IMemberBusiCardService extends IService<MemberBusiCard> {
* @date 23:17 2025/3/21
**/
void checkBusiCard(MemberBusiCard card);
/**
* 保存博主名片
*
* @param memberBusiCard {@link MemberBusiCard}
* @author PQZ
* @date 13:44 2025/4/3
**/
void saveBusiCard(MemberBusiCard memberBusiCard);
}

View File

@ -8,12 +8,14 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.member.domain.MemberAddress;
import com.ruoyi.member.mapper.MemberAddressMapper;
import com.ruoyi.member.service.IMemberAddressService;
import com.ruoyi.member.vo.MemberUniVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
* 博主收货地址Service业务层处理
@ -88,6 +90,22 @@ public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, M
updateById(address);
}
/**
* uniApp选择地址使用
*
* @return java.util.List<com.ruoyi.member.vo.MemberUniVO>
* @author PQZ
* @date 14:14 2025/4/3
**/
@Override
public List<MemberUniVO> uniSelectList() {
//查询当前登录用户地址
Long userId = SecurityUtils.getUserId();
List<MemberAddress> addresses = listByUserId(userId);
//类型转换
return addresses.stream().map(item -> new MemberUniVO(item.getId(),item.getCityName()+item.getDetail())).collect(Collectors.toList());
}
/**
* 修改原有地址的默认状态
*

View File

@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.base.domain.BaseCategory;
import com.ruoyi.base.service.IBaseCategoryService;
import com.ruoyi.common.core.domain.DlBaseEntity;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.member.domain.MemberBusiCard;
import com.ruoyi.member.mapper.MemberBusiCardMapper;
@ -13,6 +17,7 @@ import com.ruoyi.member.vo.MemberBusiCardVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@ -26,6 +31,8 @@ import java.util.List;
public class MemberBusiCardServiceImpl extends ServiceImpl<MemberBusiCardMapper, MemberBusiCard> implements IMemberBusiCardService {
@Autowired
private MemberBusiCardMapper memberBusiCardMapper;
@Resource
private IBaseCategoryService categoryService;
/**
* 分页查询博主名片信息
@ -63,10 +70,15 @@ public class MemberBusiCardServiceImpl extends ServiceImpl<MemberBusiCardMapper,
* @date 10:49 2025/3/22
**/
@Override
public List<MemberBusiCard> queryListByUserId(Long userId) {
public List<MemberBusiCard> queryListByUserId(Long userId,String approvalStatus) {
LambdaQueryWrapper<MemberBusiCard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0)
.eq(MemberBusiCard::getUserId,userId);
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag, 0)
.eq(MemberBusiCard::getUserId, userId)
.orderByDesc(MemberBusiCard::getApprovalStatus)
.orderByDesc(DlBaseEntity::getCreateTime);
if (null != approvalStatus) {
lambdaQueryWrapper.eq(MemberBusiCard::getApprovalStatus,approvalStatus);
}
return list(lambdaQueryWrapper);
}
@ -88,5 +100,29 @@ public class MemberBusiCardServiceImpl extends ServiceImpl<MemberBusiCardMapper,
updateById(card);
}
/**
* 保存博主名片
*
* @param memberBusiCard {@link MemberBusiCard}
* @author PQZ
* @date 13:44 2025/4/3
**/
@Override
public void saveBusiCard(MemberBusiCard memberBusiCard) {
//获取当前登录用户
LoginUser loginUser = SecurityUtils.getLoginUser();
SysUser user = loginUser.getUser();
//设置用户平台昵称
memberBusiCard.setNickname(user.getNickName());
//设置用户id
memberBusiCard.setUserId(user.getUserId());
//获取分类字典
List<BaseCategory> list = categoryService.selectByCode(memberBusiCard.getPlatformCode());
memberBusiCard.setPlatformName(list.get(0).getTitle());
//设置用户审核状态
memberBusiCard.setApprovalStatus("0");
saveOrUpdate(memberBusiCard);
}
}

View File

@ -101,7 +101,7 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
//博主基本信息
MemberUserVO result = memberUserMapper.queryByUserId(userId, "02");
//名片信息
result.setBusiCards(busiCardService.queryListByUserId(userId));
result.setBusiCards(busiCardService.queryListByUserId(userId,"1"));
//积分
result.setPointsBalance(pointsService.getBloggerBalance(userId));
//报名

View File

@ -0,0 +1,15 @@
package com.ruoyi.member.vo;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class MemberUniVO {
String text;
String value;
public MemberUniVO(String value, String text) {
this.value = value;
this.text = text;
}
}

View File

@ -36,6 +36,7 @@
<select id="queryListPage" parameterType="MemberBusiCard" resultMap="MemberBusiCardResult">
<include refid="selectMemberBusiCardVo"/>
<where>
del_flag = 0
<if test="entity.nickname != null and entity.nickname != ''"> and nickname like concat('%', #{entity.nickname}, '%')</if>
<if test="entity.platformName != null and entity.platformName != ''"> and platform_name like concat('%', #{entity.platformName}, '%')</if>
<if test="entity.accountName != null and entity.accountName != ''"> and account_name like concat('%', #{entity.accountName}, '%')</if>
@ -46,7 +47,7 @@
<select id="queryById" resultType="com.ruoyi.member.vo.MemberBusiCardVO">
SELECT
main.*,
CONCAT(dma.city, dma.detail) AS address
CONCAT(dma.city_name, dma.detail) AS address
FROM
dl_member_busi_card main
LEFT JOIN