Compare commits
3 Commits
06fb34b7b7
...
4418f3cf8e
Author | SHA1 | Date | |
---|---|---|---|
4418f3cf8e | |||
e00bc0c869 | |||
c0a93a7ae1 |
@ -71,7 +71,7 @@ public class PayApi {
|
||||
*/
|
||||
@ApiOperation(value = "统一下单-统一接口", notes = "统一下单-统一接口")
|
||||
@GetMapping("/prepayment")
|
||||
public PrepayWithRequestPaymentResponse transactions( String orderNo) {
|
||||
public PrepayWithRequestPaymentResponse transactions( String orderNo,String type) {
|
||||
LambdaQueryWrapper<MemberOrder> queryWrapper =new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(MemberOrder::getOrderNo,orderNo).last("limit 1");
|
||||
MemberOrder memberOrder = memberOrderService.getOne(queryWrapper);
|
||||
@ -86,27 +86,52 @@ public class PayApi {
|
||||
.merchantSerialNumber(wechatPayConfig.getSerialNo())
|
||||
.apiV3Key(wechatPayConfig.getApiV3Key())
|
||||
.build();
|
||||
// 构建service
|
||||
JsapiServiceExtension service = new JsapiServiceExtension .Builder().config(config).build();
|
||||
// request.setXxx(val)设置所需参数,具体参数可见Request定义
|
||||
PrepayRequest request = new PrepayRequest();
|
||||
Amount amount = new Amount();
|
||||
Payer payer = new Payer();
|
||||
BigDecimal goodsPrice = memberOrder.getGoodsPrice();
|
||||
// 金额单位为分
|
||||
int totalInFen = goodsPrice.multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_UP).intValue();
|
||||
amount.setTotal(totalInFen);
|
||||
payer.setOpenid(user.getWxOpenId());
|
||||
request.setAmount(amount);
|
||||
request.setAppid(wechatPayConfig.getAppId());
|
||||
request.setMchid(wechatPayConfig.getMchId());
|
||||
request.setDescription("开通会员");
|
||||
request.setNotifyUrl(wechatPayConfig.getNotifyUrl());
|
||||
request.setOutTradeNo(orderNo);
|
||||
request.setPayer(payer);
|
||||
// 调用下单方法,得到应答
|
||||
// response包含了调起支付所需的所有参数,可直接用于前端调起支付
|
||||
return service.prepayWithRequestPayment(request);
|
||||
if (type.equals("h5")){
|
||||
// 构建service
|
||||
JsapiServiceExtension service = new JsapiServiceExtension .Builder().config(config).build();
|
||||
// request.setXxx(val)设置所需参数,具体参数可见Request定义
|
||||
PrepayRequest request = new PrepayRequest();
|
||||
Amount amount = new Amount();
|
||||
Payer payer = new Payer();
|
||||
BigDecimal goodsPrice = memberOrder.getGoodsPrice();
|
||||
// 金额单位为分
|
||||
int totalInFen = goodsPrice.multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_UP).intValue();
|
||||
amount.setTotal(totalInFen);
|
||||
payer.setOpenid(user.getWxOpenId());
|
||||
request.setAmount(amount);
|
||||
request.setAppid(wechatPayConfig.getAppId());
|
||||
request.setMchid(wechatPayConfig.getMchId());
|
||||
request.setDescription("开通会员");
|
||||
request.setNotifyUrl(wechatPayConfig.getNotifyUrl());
|
||||
request.setOutTradeNo(orderNo);
|
||||
request.setPayer(payer);
|
||||
// 调用下单方法,得到应答
|
||||
// response包含了调起支付所需的所有参数,可直接用于前端调起支付
|
||||
return service.prepayWithRequestPayment(request);
|
||||
}else {
|
||||
// 构建service
|
||||
JsapiServiceExtension service = new JsapiServiceExtension .Builder().config(config).build();
|
||||
// request.setXxx(val)设置所需参数,具体参数可见Request定义
|
||||
PrepayRequest request = new PrepayRequest();
|
||||
Amount amount = new Amount();
|
||||
Payer payer = new Payer();
|
||||
BigDecimal goodsPrice = memberOrder.getGoodsPrice();
|
||||
// 金额单位为分
|
||||
int totalInFen = goodsPrice.multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_UP).intValue();
|
||||
amount.setTotal(totalInFen);
|
||||
payer.setOpenid(user.getOpenId());
|
||||
request.setAmount(amount);
|
||||
request.setAppid(appConfig.getAppId());
|
||||
request.setMchid(wechatPayConfig.getMchId());
|
||||
request.setDescription("开通会员");
|
||||
request.setNotifyUrl(wechatPayConfig.getNotifyUrl());
|
||||
request.setOutTradeNo(orderNo);
|
||||
request.setPayer(payer);
|
||||
// 调用下单方法,得到应答
|
||||
// response包含了调起支付所需的所有参数,可直接用于前端调起支付
|
||||
return service.prepayWithRequestPayment(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.ruoyi.busi.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.*;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
@ -106,6 +108,28 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
return busiNoticeMapper.queryListPage(query, page);
|
||||
}
|
||||
|
||||
// 方法用于提取URL中的eid参数值
|
||||
public static String getEidFromUrl(String url) throws URISyntaxException {
|
||||
URI uri = new URI(url);
|
||||
String query = uri.getQuery();
|
||||
Map<String, String> params = new HashMap<>();
|
||||
for (String param : query.split("&")) {
|
||||
String[] pair = param.split("=");
|
||||
params.put(pair[0], pair.length > 1 ? pair[1] : null);
|
||||
}
|
||||
return params.get("eid");
|
||||
}
|
||||
// 判断两个URL中的eid是否相等
|
||||
public static boolean isEidEqual(String url1, String url2) throws URISyntaxException {
|
||||
try {
|
||||
String eid1 = getEidFromUrl(url1);
|
||||
String eid2 = getEidFromUrl(url2);
|
||||
return eid1 != null && eid1.equals(eid2);
|
||||
}catch (Exception e){
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 新增通告
|
||||
* @param data 通告对象
|
||||
@ -137,11 +161,26 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
for (BusiNotice busiNotice : list) {
|
||||
if (StringUtils.isNotEmpty(data.getThirdUrl())&&StringUtils.isNotEmpty(busiNotice.getThirdUrl())){
|
||||
if (data.getThirdUrl().equals(busiNotice.getThirdUrl())){
|
||||
//title 和 detail 相似度大于70% 待审核
|
||||
//两条thirdurl相等
|
||||
data.setApprovalStatus("8");
|
||||
data.setSimilarityIds(Optional.ofNullable(data.getSimilarityIds()).orElse("")+busiNotice.getId()+",");
|
||||
result.put("code",500);
|
||||
result.put("msg","通告查重,下次早点上传哦!");
|
||||
}else if (busiNotice.getThirdUrl().contains(data.getThirdUrl())||data.getThirdUrl().contains(busiNotice.getThirdUrl())){
|
||||
//两条thirdurl存在包含情况
|
||||
data.setApprovalStatus("8");
|
||||
data.setSimilarityIds(Optional.ofNullable(data.getSimilarityIds()).orElse("")+busiNotice.getId()+",");
|
||||
result.put("code",500);
|
||||
result.put("msg","通告查重,下次早点上传哦!");
|
||||
}else if (isEidEqual(data.getThirdUrl(),busiNotice.getThirdUrl())){
|
||||
//两条thirdurl都存在eid且eid相等
|
||||
data.setApprovalStatus("8");
|
||||
data.setSimilarityIds(Optional.ofNullable(data.getSimilarityIds()).orElse("")+busiNotice.getId()+",");
|
||||
result.put("code",500);
|
||||
result.put("msg","通告查重,下次早点上传哦!");
|
||||
}
|
||||
if (data.getApprovalStatus().equals("8")){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -235,11 +274,28 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
//删除结尾的最后一个逗号
|
||||
data.setSimilarityIds(data.getSimilarityIds().substring(0, data.getSimilarityIds().length() - 1));
|
||||
}
|
||||
//若是急招扣除对应急招券
|
||||
if (data.getApprovalStatus().equals("1")&&(StringUtils.isEmpty(oldData.getIsUrgent())||oldData.getIsUrgent().equals("0"))&&StringUtils.isNotEmpty(data.getIsUrgent())&&data.getIsUrgent().equals("1")){
|
||||
memberCouponService.saveCoupon( data.getUserId(), "2", data.getId(), 1);
|
||||
}
|
||||
this.updateById(data);
|
||||
MemberUserVO memberUserVO = memberUserService.queryByUserId(SecurityUtils.getUserId(), "01");
|
||||
if(data.getApprovalStatus().equals("1")&&!oldData.getApprovalStatus().equals("1") ){
|
||||
if (StringUtils.isNotEmpty(memberUserVO.getIdentityType()) && memberUserVO.getIdentityType().equals("05")){
|
||||
//如果审核通过
|
||||
//从配置表中获取积分
|
||||
MemberPoints memberPoints = new MemberPoints();
|
||||
memberPoints.setUserId(SecurityUtils.getUserId());
|
||||
memberPoints.setType("1");
|
||||
memberPoints.setFromCode("fbgg");
|
||||
memberPointsService.savePoints(memberPoints);
|
||||
}
|
||||
//若是急招扣除对应急招券
|
||||
if (StringUtils.isNotEmpty(data.getIsUrgent())&&data.getIsUrgent().equals("1")){
|
||||
memberCouponService.saveCoupon( data.getUserId(), "2", data.getId(), 1);
|
||||
}
|
||||
cardService.dealMemberRights2(data.getUserId(),null,"add_notice",1);
|
||||
if (CollectionUtil.isNotEmpty(data.getCustomForm())) {
|
||||
cardService.dealMemberRights2(data.getUserId(),null,"report_info_collect",1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//先删除表单数据
|
||||
busiNoticeFormService.remove(new LambdaQueryWrapper<BusiNoticeForm>().eq(BusiNoticeForm::getNoticeId,data.getId()));
|
||||
@ -406,16 +462,11 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
//打乱records的排列顺序
|
||||
List<String> idList = pageList.getRecords().stream().map(BusiNotice::getId).collect(Collectors.toList());
|
||||
if(!idList.isEmpty()){
|
||||
//查博主类型字典
|
||||
List<BaseCategory> categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null);
|
||||
//转map
|
||||
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle));
|
||||
pageList.getRecords().forEach(item->{
|
||||
//报名数量、浏览量、相关字典转换
|
||||
if(null==item.getViewNum()){
|
||||
item.setViewNum(0);
|
||||
}
|
||||
item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap));
|
||||
if(StringUtils.isNotEmpty(item.getImages())){
|
||||
item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]);
|
||||
}
|
||||
@ -440,17 +491,11 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
List<BusiNoticeVo> pageList = busiNoticeMapper.appFootprintList(query,num);
|
||||
List<String> idList = pageList.stream().map(BusiNotice::getId).collect(Collectors.toList());
|
||||
if(!idList.isEmpty()){
|
||||
//查博主类型字典
|
||||
List<BaseCategory> categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null);
|
||||
//转map
|
||||
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle));
|
||||
pageList.forEach(item->{
|
||||
//报名数量、浏览量、相关字典转换
|
||||
if(null==item.getViewNum()){
|
||||
item.setViewNum(0);
|
||||
}
|
||||
|
||||
item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap));
|
||||
if(StringUtils.isNotEmpty(item.getImages())){
|
||||
item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]);
|
||||
}
|
||||
@ -576,16 +621,11 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
|
||||
List<String> idList = pageList.getRecords().stream().map(BusiNotice::getId).collect(Collectors.toList());
|
||||
if(!idList.isEmpty()){
|
||||
//查博主类型字典
|
||||
List<BaseCategory> categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null);
|
||||
//转map
|
||||
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle));
|
||||
pageList.getRecords().forEach(item->{
|
||||
//报名数量、浏览量、相关字典转换
|
||||
if(null==item.getViewNum()){
|
||||
item.setViewNum(0);
|
||||
}
|
||||
item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap));
|
||||
if(StringUtils.isNotEmpty(item.getImages())){
|
||||
item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]);
|
||||
}
|
||||
@ -613,16 +653,11 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
IPage<BusiNoticeVo> pageList = baseMapper.loveList(query, page);
|
||||
List<String> idList = pageList.getRecords().stream().map(BusiNotice::getId).collect(Collectors.toList());
|
||||
if(!idList.isEmpty()){
|
||||
//查博主类型字典
|
||||
List<BaseCategory> categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null);
|
||||
//转map
|
||||
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle));
|
||||
pageList.getRecords().forEach(item->{
|
||||
//报名数量、浏览量、相关字典转换
|
||||
if(null==item.getViewNum()){
|
||||
item.setViewNum(0);
|
||||
}
|
||||
item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap));
|
||||
if(StringUtils.isNotEmpty(item.getImages())){
|
||||
item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]);
|
||||
}
|
||||
@ -645,16 +680,11 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
IPage<BusiNoticeVo> pageList = baseMapper.myNoticeList(query, page);
|
||||
List<String> idList = pageList.getRecords().stream().map(BusiNotice::getId).collect(Collectors.toList());
|
||||
if(!idList.isEmpty()){
|
||||
//查博主类型字典
|
||||
List<BaseCategory> categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null);
|
||||
//转map
|
||||
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle));
|
||||
pageList.getRecords().forEach(item->{
|
||||
//报名数量、浏览量、相关字典转换
|
||||
if(null==item.getViewNum()){
|
||||
item.setViewNum(0);
|
||||
}
|
||||
item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap));
|
||||
if(StringUtils.isNotEmpty(item.getImages())){
|
||||
item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]);
|
||||
}
|
||||
@ -673,16 +703,11 @@ public class BusiNoticeServiceImpl extends ServiceImpl<BusiNoticeMapper,BusiNoti
|
||||
IPage<BusiNoticeVo> pageList = baseMapper.myPublishNoticeList(query, page);
|
||||
List<String> idList = pageList.getRecords().stream().map(BusiNotice::getId).collect(Collectors.toList());
|
||||
if(!idList.isEmpty()){
|
||||
//查博主类型字典
|
||||
List<BaseCategory> categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null);
|
||||
//转map
|
||||
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle));
|
||||
pageList.getRecords().forEach(item->{
|
||||
pageList.getRecords().forEach(item->{
|
||||
//报名数量、浏览量、相关字典转换
|
||||
if(null==item.getViewNum()){
|
||||
item.setViewNum(0);
|
||||
}
|
||||
item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap));
|
||||
if(StringUtils.isNotEmpty(item.getImages())){
|
||||
item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]);
|
||||
}
|
||||
|
@ -63,6 +63,7 @@ public class MemberApplyController extends BaseController {
|
||||
try{
|
||||
memberApplyService.toApply(memberApply);
|
||||
}catch (Exception e){
|
||||
logger.error(e.getMessage());
|
||||
return error(e.getMessage());
|
||||
}
|
||||
return success();
|
||||
|
@ -52,6 +52,27 @@ public class MemberUserController extends BaseController {
|
||||
return success(list);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 博主/通告主列表查询
|
||||
*
|
||||
* @param memberUser {@link MemberUserVO}
|
||||
* @param pageNum 分页参数
|
||||
* @param pageSize 分页参数
|
||||
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||
* @author PQZ
|
||||
* @date 14:58 2025/3/18
|
||||
**/
|
||||
@GetMapping("/crmList")
|
||||
public AjaxResult crmList(MemberUserVO memberUser,
|
||||
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
Page<MemberUserVO> page = new Page<>(pageNum, pageSize);
|
||||
IPage<MemberUserVO> list = memberUserService.crmList(memberUser, page);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会员详细信息
|
||||
*
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.ruoyi.member.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
@ -11,7 +14,7 @@ import com.ruoyi.common.core.domain.DlBaseEntity;
|
||||
|
||||
/**
|
||||
* 会员开卡记录对象 dl_member_card
|
||||
*
|
||||
*
|
||||
* @author pqz
|
||||
* @date 2025-03-17
|
||||
*/
|
||||
@ -59,5 +62,9 @@ public class MemberCard extends DlBaseEntity
|
||||
/** 关联订单id */
|
||||
@Excel(name = "关联订单id")
|
||||
private String orderId;
|
||||
/** 商品价格 */
|
||||
@Excel(name = "商品价格")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal goodsPrice;
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 会员开卡记录Mapper接口
|
||||
*
|
||||
*
|
||||
* @author pqz
|
||||
* @date 2025-03-17
|
||||
*/
|
||||
@ -31,4 +31,6 @@ public interface MemberCardMapper extends BaseMapper<MemberCard>
|
||||
* @date 14:14 2025/4/25
|
||||
**/
|
||||
List<MemberCard> selectMemberCardList(@Param("userId")Long userId,@Param("userType")String userType,@Param("nowDate")String nowDate);
|
||||
List<MemberCard> listByUserId(@Param("userId")Long userId,@Param("userType")String userType);
|
||||
|
||||
}
|
||||
|
@ -30,6 +30,9 @@ public interface MemberUserMapper extends BaseMapper<MemberUser> {
|
||||
**/
|
||||
IPage<MemberUserVO> queryListPage(@Param("entity") MemberUserVO entity, Page<MemberUserVO> page);
|
||||
|
||||
IPage<MemberUserVO> crmList(@Param("entity") MemberUserVO entity, Page<MemberUserVO> page);
|
||||
|
||||
|
||||
/**
|
||||
* 通过userId和用户类型查询用户信息
|
||||
*
|
||||
|
@ -28,6 +28,10 @@ public interface IMemberUserService extends IService<MemberUser> {
|
||||
**/
|
||||
IPage<MemberUserVO> queryListPage(MemberUserVO pageReqVO, Page<MemberUserVO> page);
|
||||
|
||||
IPage<MemberUserVO> crmList(MemberUserVO pageReqVO, Page<MemberUserVO> page);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据用户表id获取通告主信息
|
||||
*
|
||||
@ -96,9 +100,9 @@ public interface IMemberUserService extends IService<MemberUser> {
|
||||
/**
|
||||
* 发布通告数量统计
|
||||
* @author PQZ
|
||||
* @date 15:20 2025/6/16
|
||||
* @date 15:20 2025/6/16
|
||||
* @param userId 用户id
|
||||
**/
|
||||
void setTotalNum(Long userId);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -80,13 +80,16 @@ public class MemberApplyServiceImpl extends ServiceImpl<MemberApplyMapper, Membe
|
||||
memberApply.setApprovalTime(nowDate);
|
||||
memberApply.setApprovalUserName(sysUser.getNickName());
|
||||
updateById(memberApply);
|
||||
//通过userId更新会员表身份类型
|
||||
LambdaUpdateWrapper<MemberUser> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(MemberUser::getUserId, memberApply.getUserId())
|
||||
.eq(DlBaseEntity::getDelFlag, 0)
|
||||
.eq(MemberUser::getUserType, "01")
|
||||
.set(MemberUser::getIdentityType, memberApply.getIdentityType());
|
||||
memberUserService.update(lambdaUpdateWrapper);
|
||||
if (memberApply.getApprovalStatus().equals("1")) {
|
||||
//通过userId更新会员表身份类型
|
||||
LambdaUpdateWrapper<MemberUser> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(MemberUser::getUserId, memberApply.getUserId())
|
||||
.eq(DlBaseEntity::getDelFlag, 0)
|
||||
.eq(MemberUser::getUserType, "01")
|
||||
.set(MemberUser::getIdentityType, memberApply.getIdentityType());
|
||||
memberUserService.update(lambdaUpdateWrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -18,6 +18,7 @@ import com.ruoyi.member.mapper.MemberBusiCardMapper;
|
||||
import com.ruoyi.member.query.MemberBusiCardQuery;
|
||||
import com.ruoyi.member.service.IMemberBusiCardService;
|
||||
import com.ruoyi.member.vo.MemberBusiCardVO;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -45,6 +46,8 @@ public class MemberBusiCardServiceImpl extends ServiceImpl<MemberBusiCardMapper,
|
||||
private IBusiNoticeService noticeService;
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
@Autowired
|
||||
private ISysConfigService configService;
|
||||
|
||||
/**
|
||||
* 分页查询博主名片信息
|
||||
@ -134,7 +137,8 @@ public class MemberBusiCardServiceImpl extends ServiceImpl<MemberBusiCardMapper,
|
||||
List<BaseCategory> list = categoryService.selectByCode(memberBusiCard.getPlatformCode());
|
||||
memberBusiCard.setPlatformName(list.get(0).getTitle());
|
||||
//设置用户审核状态
|
||||
memberBusiCard.setApprovalStatus("0");
|
||||
String status = configService.selectConfigByKey("isPass");
|
||||
memberBusiCard.setApprovalStatus(status);
|
||||
saveOrUpdate(memberBusiCard);
|
||||
}
|
||||
/**
|
||||
@ -163,7 +167,7 @@ public class MemberBusiCardServiceImpl extends ServiceImpl<MemberBusiCardMapper,
|
||||
//获取通告的粉丝限制
|
||||
//获取通告的粉丝限制
|
||||
for (MemberBusiCardVO re : resList) {
|
||||
if ((null != busiNotice.getFansUp() &&re.getFansNum() > busiNotice.getFansUp())||(null !=busiNotice.getFansDown() && re.getFansNum() < busiNotice.getFansDown()) ) {
|
||||
if (((null != busiNotice.getFansUp()&&0 != busiNotice.getFansUp()) &&re.getFansNum() > busiNotice.getFansUp())||(null !=busiNotice.getFansDown() && re.getFansNum() < busiNotice.getFansDown()) ) {
|
||||
re.setCanUse("0");
|
||||
canUseNum--;
|
||||
}
|
||||
|
@ -64,14 +64,8 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
|
||||
**/
|
||||
@Override
|
||||
public List<MemberCard> listByUserId(Long userId, String userType) {
|
||||
//查询列表
|
||||
LambdaUpdateWrapper<MemberCard> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper
|
||||
.eq(DlBaseEntity::getDelFlag, 0)
|
||||
.eq(MemberCard::getUserId, userId)
|
||||
.eq(MemberCard::getUserType, userType)
|
||||
.orderByDesc(DlBaseEntity::getCreateTime);
|
||||
return list(lambdaUpdateWrapper);
|
||||
|
||||
return baseMapper.listByUserId(userId, userType);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -137,6 +137,45 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
|
||||
return rtnPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<MemberUserVO> crmList(MemberUserVO pageReqVO, Page<MemberUserVO> page) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
SysUser user = loginUser.getUser();
|
||||
// 管理员拥有所有权限
|
||||
if (!user.isAdmin()) {
|
||||
Set<String> strings = roleService.selectRolePermissionByUserId(user.getUserId());
|
||||
if (strings.contains("xsry")){
|
||||
pageReqVO.setUserId(user.getUserId());
|
||||
}
|
||||
}
|
||||
//当前日期--年月日
|
||||
String today= DateUtil.today();
|
||||
//截取年月
|
||||
String yearMonth = today.substring(0, Math.min(today.length(), 7));
|
||||
IPage<MemberUserVO> rtnPage=memberUserMapper.crmList(pageReqVO, page);
|
||||
LambdaQueryWrapper<MemberOrder> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(MemberOrder::getIsPay,1);
|
||||
for (MemberUserVO item: rtnPage.getRecords()){
|
||||
BigDecimal monthMoney = BigDecimal.valueOf(0);
|
||||
BigDecimal allMoney = BigDecimal.valueOf(0);
|
||||
queryWrapper.eq(MemberOrder::getUserId,item.getUserId());
|
||||
List<MemberOrder> orderList = orderService.list(queryWrapper);
|
||||
for (MemberOrder order:orderList){
|
||||
String payTimeStr =DateUtil.formatDate(order.getPayTime());
|
||||
//截取年月
|
||||
String orderYearMonth = payTimeStr.substring(0, Math.min(payTimeStr.length(), 7));
|
||||
if(orderYearMonth.equals(yearMonth)){
|
||||
//本月的订单
|
||||
monthMoney =monthMoney.add(order.getGoodsPrice());
|
||||
}
|
||||
allMoney = allMoney.add(order.getGoodsPrice());
|
||||
}
|
||||
item.setMonthMoney(monthMoney);
|
||||
item.setAllMoney(allMoney);
|
||||
}
|
||||
return rtnPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户表id获取通告主信息
|
||||
*
|
||||
@ -178,6 +217,8 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
|
||||
result.setAddresses(addressService.listByUserId(userId));
|
||||
//会员开通记录
|
||||
result.setCards(cardService.listByUserId(userId, "02"));
|
||||
//获取会员开卡记录
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -255,6 +296,7 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
|
||||
user.setNickName("微信用户");
|
||||
user.setOpenId(openid);
|
||||
user.setPhonenumber(phone);
|
||||
user.setPassword(SecurityUtils.encryptPassword("123456"));
|
||||
user.setSex("2");
|
||||
user.setCreateTime(DateUtils.getNowDate());
|
||||
user.setUnionId(unionid);
|
||||
|
@ -66,15 +66,15 @@ order by dbns.create_time desc
|
||||
<select id="queryAppListPage" resultType="com.ruoyi.busi.vo.BusiNoticeVo">
|
||||
SELECT
|
||||
dbn.*,
|
||||
dbnv.view_num AS viewNum,
|
||||
-- dbnv.view_num AS viewNum,
|
||||
su.avatar,
|
||||
su.nick_name AS userNickName,
|
||||
count(sign.id) as reportNum
|
||||
su.nick_name AS userNickName
|
||||
-- count(sign.id) as reportNum
|
||||
FROM
|
||||
dl_busi_notice dbn
|
||||
LEFT JOIN dl_busi_notice_view dbnv ON dbn.id = dbnv.id
|
||||
-- LEFT JOIN dl_busi_notice_view dbnv ON dbn.id = dbnv.id
|
||||
LEFT JOIN sys_user su ON dbn.user_id = su.user_id
|
||||
left join dl_busi_notice_sign sign on sign.notice_id = dbn.id and sign.del_flag = 0
|
||||
-- left join dl_busi_notice_sign sign on sign.notice_id = dbn.id and sign.del_flag = 0
|
||||
<if test="entity.userId!=null and entity.userId!=''">
|
||||
left join dl_member_blacklist blacklist on blacklist.black_user_id = dbn.user_id and blacklist.del_flag = 0 and blacklist.user_id = #{entity.userId}
|
||||
</if>
|
||||
@ -85,7 +85,7 @@ order by dbns.create_time desc
|
||||
and blacklist.id is null
|
||||
</if>
|
||||
<if test="entity.gift!=null and entity.gift!=''">
|
||||
AND ( dbn.gift_detail IS NOT NULL AND dbn.gift_detail != '' )
|
||||
AND (( dbn.fee_down is null or dbn.fee_down = 0 ) and dbn.fee_up = 0)
|
||||
</if>
|
||||
<if test="entity.cityName!=null and entity.cityName!=''">
|
||||
AND dbn.city =#{entity.cityName}
|
||||
@ -108,18 +108,46 @@ order by dbns.create_time desc
|
||||
<if test="entity.rewardType=='gift'">
|
||||
AND ( dbn.have_gift = '1' )
|
||||
</if>
|
||||
<if test="entity.fansUp!=null">
|
||||
AND ( dbn.fans_up <= #{entity.fansUp} )
|
||||
</if>
|
||||
<if test="entity.fansDown!=null">
|
||||
AND ( dbn.fans_down <= #{entity.fansDown} )
|
||||
</if>
|
||||
<if test="entity.feeUp!=null">
|
||||
AND ( dbn.fee_up <= #{entity.feeUp} )
|
||||
</if>
|
||||
<if test="entity.feeDown!=null">
|
||||
AND ( dbn.fee_down <=#{entity.feeDown} )
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 情况一:同时填写了下限和上限 -->
|
||||
<when test="entity.fansDown != null and entity.fansUp != null">
|
||||
AND (
|
||||
dbn.fans_down <![CDATA[ <= ]]> #{entity.fansUp}
|
||||
AND (dbn.fans_up IS NULL OR dbn.fans_up >= #{entity.fansDown})
|
||||
)
|
||||
</when>
|
||||
|
||||
<!-- 情况二:只填写了下限 -->
|
||||
<when test="entity.fansDown != null">
|
||||
AND (dbn.fans_up IS NULL OR dbn.fans_up >= #{entity.fansDown})
|
||||
</when>
|
||||
|
||||
<!-- 情况三:只填写了上限 -->
|
||||
<when test="entity.fansUp != null">
|
||||
AND dbn.fans_down <![CDATA[ <= ]]> #{entity.fansUp}
|
||||
</when>
|
||||
</choose>
|
||||
|
||||
<choose>
|
||||
<!-- 情况一:同时填写了下限和上限 -->
|
||||
<when test="entity.feeDown != null and entity.feeUp != null">
|
||||
AND (
|
||||
dbn.fee_down <![CDATA[ <= ]]> #{entity.feeUp}
|
||||
AND (dbn.fee_up IS NULL OR dbn.fee_up >= #{entity.feeDown})
|
||||
)
|
||||
</when>
|
||||
|
||||
<!-- 情况二:只填写了下限 -->
|
||||
<when test="entity.feeDown != null">
|
||||
AND (dbn.fee_up IS NULL OR dbn.fee_up >= #{entity.feeDown})
|
||||
</when>
|
||||
|
||||
<!-- 情况三:只填写了上限 -->
|
||||
<when test="entity.feeUp != null">
|
||||
AND dbn.fee_down <![CDATA[ <= ]]> #{entity.feeUp}
|
||||
</when>
|
||||
</choose>
|
||||
|
||||
group by dbn.id
|
||||
ORDER BY
|
||||
<choose>
|
||||
@ -201,20 +229,10 @@ order by dbns.create_time desc
|
||||
</if>
|
||||
group by dbn.id
|
||||
ORDER BY
|
||||
<choose>
|
||||
<when test="entity.sortBy=='new'">
|
||||
-- 查最新的 --
|
||||
dbn.create_time DESC
|
||||
</when>
|
||||
<when test="entity.sortBy=='money'">
|
||||
-- 查高奖励 --
|
||||
dbn.fee_up DESC
|
||||
</when>
|
||||
<otherwise>
|
||||
-- 默认正序排列 --
|
||||
dbn.create_time ASC
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
-- 默认正序排列 --
|
||||
footprint.create_time desc
|
||||
|
||||
limit #{num}
|
||||
</select>
|
||||
<select id="subscribeList" resultType="com.ruoyi.busi.vo.BusiNoticeVo">
|
||||
|
@ -56,6 +56,18 @@
|
||||
|
||||
ORDER BY dmc.end_date DESC
|
||||
</select>
|
||||
<select id="listByUserId" resultType="com.ruoyi.member.domain.MemberCard">
|
||||
SELECT
|
||||
dmc.*,orderInfo.goods_price
|
||||
FROM
|
||||
dl_member_card dmc
|
||||
LEFT JOIN dl_base_card dbc ON dmc.card_id = dbc.id
|
||||
left join dl_member_order orderInfo on orderInfo.id = dmc.order_id
|
||||
WHERE dmc.user_id = #{userId}
|
||||
AND dmc.user_type = #{userType}
|
||||
AND dmc.del_flag = 0
|
||||
ORDER BY dmc.end_date DESC
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
@ -81,12 +81,22 @@
|
||||
<if test="entity.identityType != null and entity.identityType != ''">and main.identity_type =
|
||||
#{entity.identityType}
|
||||
</if>
|
||||
<if test="entity.nickName != null and entity.nickName != '' ">and su.nack_name = #{entity.nickName}</if>
|
||||
<if test="entity.nickName != null and entity.nickName != '' ">and su.nick_name like concat('%',#{entity.nickName},'%') </if>
|
||||
<if test="entity.userId != null "> and su.invite_id = #{entity.userId}</if>
|
||||
<if test="entity.tel != null and entity.tel !='' "> and main.tel like CONCAT('%',#{entity.tel},'%') </if>
|
||||
<if test="entity.params.minnum != null"> and main.ttotal_num >= #{entity.params.minnum} </if>
|
||||
<if test="entity.params.maxnum != null"> and main.ttotal_num <= #{entity.params.maxnum} </if>
|
||||
</where>
|
||||
GROUP BY main.user_id
|
||||
ORDER BY mc.create_time desc
|
||||
<choose>
|
||||
<when test="entity.params.orderBy != null and entity.params.orderBy != ''">
|
||||
ORDER BY ${entity.params.orderBy}
|
||||
</when>
|
||||
<otherwise>
|
||||
ORDER BY mc.create_time desc
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
</select>
|
||||
<select id="queryByUserId" resultType="com.ruoyi.member.vo.MemberUserVO">
|
||||
select main.id AS id,
|
||||
@ -126,6 +136,60 @@
|
||||
and main.user_type = #{userType}
|
||||
GROUP BY main.user_id
|
||||
</select>
|
||||
<select id="crmList" resultType="com.ruoyi.member.vo.MemberUserVO">
|
||||
select main.id AS id,
|
||||
main.user_type AS userType,
|
||||
main.identity_type AS identityType,
|
||||
main.user_id AS userId,
|
||||
main.tel AS tel,
|
||||
main.tremaining AS tremaining,
|
||||
main.ttotal_num AS ttotalNum,
|
||||
main.tfans_num AS tfansNum,
|
||||
main.topen_disturb AS topenDisturb,
|
||||
main.trecipient_name AS trecipientName,
|
||||
main.trecipient_image AS trecipientImage,
|
||||
main.bpoints AS bpoints,
|
||||
su.nick_name AS nickName,
|
||||
su.status AS status,
|
||||
su.avatar AS avatar,
|
||||
su.phonenumber AS phonenumber,
|
||||
su_temp.nick_name AS inviteName,
|
||||
GROUP_CONCAT(mc.card_name SEPARATOR ', ') AS memberCardName,
|
||||
main.create_time
|
||||
from dl_member_user main
|
||||
LEFT JOIN sys_user su ON main.user_id = su.user_id AND su.del_flag = 0
|
||||
LEFT JOIN sys_user su_temp ON su.invite_id = su_temp.user_id AND su_temp.del_flag = 0
|
||||
LEFT JOIN dl_member_card mc
|
||||
ON main.user_id = mc.user_id
|
||||
AND mc.start_date <= CURDATE()
|
||||
AND mc.end_date >= CURDATE()
|
||||
AND mc.del_flag = 0
|
||||
AND mc.user_type = #{entity.userType}
|
||||
<where>
|
||||
main.del_flag = 0
|
||||
<if test="entity.userType != null and entity.userType != ''">
|
||||
and main.user_type = #{entity.userType}
|
||||
</if>
|
||||
<if test="entity.identityType != null and entity.identityType != ''">and main.identity_type =
|
||||
#{entity.identityType}
|
||||
</if>
|
||||
<if test="entity.nickName != null and entity.nickName != '' ">and su.nick_name like concat('%',#{entity.nickName},'%') </if>
|
||||
<if test="entity.userId != null "> and su.invite_id = #{entity.userId}</if>
|
||||
<if test="entity.tel != null and entity.tel !='' "> and main.tel like CONCAT('%',#{entity.tel},'%') </if>
|
||||
<if test="entity.params.minnum != null"> and main.ttotal_num >= #{entity.params.minnum} </if>
|
||||
<if test="entity.params.maxnum != null"> and main.ttotal_num <= #{entity.params.maxnum} </if>
|
||||
</where>
|
||||
GROUP BY main.user_id
|
||||
<choose>
|
||||
<when test="entity.params.orderBy != null and entity.params.orderBy != ''">
|
||||
ORDER BY ${entity.params.orderBy}
|
||||
</when>
|
||||
<otherwise>
|
||||
ORDER BY mc.create_time desc
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
@ -68,7 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
AND u.user_id = #{userId}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
AND u.nick_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND u.status = #{status}
|
||||
|
Loading…
Reference in New Issue
Block a user