经纪人

This commit is contained in:
曹磊 2024-08-06 17:28:13 +08:00
parent 999d7daa89
commit e505863610
13 changed files with 358 additions and 41 deletions

View File

@ -69,8 +69,6 @@ public class AppUserMoneyController {
return userMoneyService.payUserMoneyArtificer(userId, artificerId, money);
}
@GetMapping("/selectMyMoney")
@Login
@ApiOperation("我的钱包余额")
@ -92,6 +90,7 @@ public class AppUserMoneyController {
period.setStartFundData(periodDate.getStartFundData());
// period.setEndFundData(CurrentPeriod);
period.setEndFundData(periodDate.getEndFundData());
period.setFundType(2);//技师
List<UserMoneyDetails> filteredPersons = userMoneyDetailsService.selectIncome(period);
//进账
double incomeLong= filteredPersons.stream()

View File

@ -43,9 +43,9 @@ public class UserMoneyDetails implements Serializable {
@ApiModelProperty("标题")
private String title;
/**
* 1注册 2购买 4提现
* 1注册 2购买 3提现 4充值 5打赏
*/
@ApiModelProperty("1注册 2购买 3提现 7商家 8指定钱包")
@ApiModelProperty("1注册 2购买 3提现 4充值 5打赏")
private Integer classify;
/**
* 类型
@ -88,9 +88,8 @@ public class UserMoneyDetails implements Serializable {
private Long artificerId;
/**
* 所属角色 1用户 2技师
* 所属角色 1用户 2技师 3商家 4经纪人 5分销商 6业务员 7代理
*/
private Integer blRole;
/**

View File

@ -329,12 +329,44 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl<UserMoneyDetailsDao
fundDetailsResult.setEndFundData(period.getEndFundData());
return Result.success().put("data", fundDetailsResult);
}
@Override
public List<UserMoneyDetails> selectIncome(Period period) {
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", period.getArtificerId());
if(period.getFundType()!=null){
switch (period.getDetailsType()){
case 1:
queryWrapper.eq("bl_role", 1);//用户
break;
case 2:
queryWrapper.eq("bl_role", 2);//技师
break;
case 3:
queryWrapper.eq("bl_role", 3);//商家
break;
case 4:
queryWrapper.eq("bl_role", 4);//经纪人
break;
case 5:
queryWrapper.eq("bl_role", 5);//分销员
break;
case 6:
queryWrapper.eq("bl_role", 6);//业务员
break;
case 7:
queryWrapper.eq("bl_role", 7);//代理
break;
}
}
// if(StringUtil.isNotEmpty(period.getStartFundData().toString())){
// queryWrapper.between("create_time", period.getStartFundData(), period.getEndFundData());
// }
if(StringUtil.isNotEmpty(period.getStartFundData().toString())){
queryWrapper.between("create_time", period.getStartFundData(), period.getEndFundData());
queryWrapper.ge("create_time", period.getStartFundData());
}
if(StringUtil.isNotEmpty(period.getEndFundData().toString())){
queryWrapper.le("create_time", period.getEndFundData());
}
if(period.getDetailsType()!= null){
//方便前端判断 传1则查询全部 2查询收入 3查询支出

View File

@ -2511,9 +2511,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(5);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlRole(5);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
}
@ -2535,9 +2534,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(6);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlRole(4);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
}
@ -2559,7 +2557,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("商家收益:"+orders.getShopMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(7);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(3);
userMoneyDetails.setBlFlag(1);
@ -5478,9 +5475,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("分销员收益:" + orders.getOneUserMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(5);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlRole(5);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
}
@ -5503,9 +5499,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(6);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlRole(4);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
}
@ -5527,7 +5522,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("商家收益:"+orders.getShopMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(7);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(3);
userMoneyDetails.setBlFlag(1);
@ -5733,9 +5727,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("分销员收益:"+orders.getOneUserMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(5);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlRole(5);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
}
@ -5758,9 +5751,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(6);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlRole(4);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
}
@ -5781,7 +5773,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setContent("商家收益:"+orders.getShopMoney());
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(7);
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setBlRole(3);
userMoneyDetails.setBlFlag(1);

View File

@ -1,14 +1,19 @@
package com.sqx.modules.bl.commission.jjr.controller.app;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.annotation.Login;
import com.sqx.modules.bl.commission.jjr.entity.JjrApply;
import com.sqx.modules.bl.commission.jjr.entity.JjrConfig;
import com.sqx.modules.bl.commission.jjr.entity.JjrData;
import com.sqx.modules.bl.commission.jjr.service.JjrApplyService;
import com.sqx.modules.bl.commission.jjr.service.JjrConfigService;
import com.sqx.modules.bl.commission.jjr.service.JjrDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -23,13 +28,78 @@ public class AppJjrController {
@Autowired
private JjrApplyService applyService;
@Autowired
private JjrDataService dataService;
@Autowired
private JjrConfigService configService;
@Login
@GetMapping("/apply")
@ApiOperation("申请经纪人")
public Result apply(JjrApply jjrApply){
public Result apply(@RequestAttribute Long userId, String name, String phone, String remarks){
JjrApply jjrApply = new JjrApply();
jjrApply.setUserId(userId);
jjrApply.setName(name);
jjrApply.setPhone(phone);
jjrApply.setRemarks(remarks);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jjrApply.setCreateTime(sdf.format(new Date()));
applyService.add(jjrApply);
return Result.success();
}
/**
* 可提现累计佣金已提现未入账今日成交订单累计成交订单今日新增技师累计入驻技师
*/
@Login
@GetMapping("/myJjr")
@ApiOperation("我是经纪人")
public Result myJjr(@RequestAttribute Long userId){
return dataService.myJjr(userId);
}
/**
* 我的收益-收益明细
*/
@Login
@GetMapping("/incomeDetail")
@ApiOperation("我的收益")
public Result incomeDetail(@RequestAttribute Long userId, Integer page, Integer limit){
return dataService.incomeDetail(userId,page,limit);
}
/**
* 提现记录-提现明细
*/
@Login
@GetMapping("/withdrawalDetail")
@ApiOperation("我的提现")
public Result withdrawalDetail(@RequestAttribute Long userId, Integer page, Integer limit){
return dataService.withdrawalDetail(userId,page,limit);
}
/**
* 我的邀请-邀请技师明细
*/
@Login
@GetMapping("/artificerDetail")
@ApiOperation("我邀请的技师")
public Result artificerDetail(@RequestAttribute Long userId, Integer page, Integer limit){
JjrData jjrData = dataService.getByUserId(userId);
jjrData.setPage(page);
jjrData.setLimit(limit);
return dataService.invitationArtificerPage(jjrData);
}
/**
* 邀请海报
*/
@GetMapping("/poster")
@ApiOperation("经纪人邀请海报")
public Result poster(){
JjrConfig entity = configService.getOne(new QueryWrapper<JjrConfig>());
return Result.success().put("data",entity);
}
}

View File

@ -19,4 +19,7 @@ public interface JjrDataDao extends BaseMapper<JjrData> {
void cancelInvitation(JjrData jjrData);
JjrData getByCode(String invitationCode);
void modifyJjr(JjrData jjrData);
JjrData findJjr(JjrData jjrData);
JjrData getByUserId(Long userId);
}

View File

@ -76,6 +76,11 @@ public class JjrData implements Serializable {
*/
@TableField(exist = false)
private Integer status;
/**
*创建时间
*/
@TableField(exist = false)
private String createTime;
/**
*累计邀请技师
*/
@ -86,6 +91,16 @@ public class JjrData implements Serializable {
*/
@TableField(exist = false)
private Integer ordersCount;
/**
*累计邀请技师
*/
@TableField(exist = false)
private Integer curArtificerCount;
/**
*累计成交订单数量
*/
@TableField(exist = false)
private Integer curOrdersCount;
/**
*累计获得佣金
*/

View File

@ -12,4 +12,9 @@ public interface JjrDataService extends IService<JjrData> {
void cancelInvitation(JjrData jjrData);
JjrData getByCode(String invitationCode);
void modifyJjr(JjrData jjrData);
Result myJjr(Long userId);
Result incomeDetail(Long userId,Integer page, Integer limit);
Result withdrawalDetail(Long userId,Integer page, Integer limit);
JjrData getByUserId(Long userId);
}

View File

@ -5,22 +5,33 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.artificer.entity.Orders;
import com.sqx.modules.artificer.entity.Period;
import com.sqx.modules.bl.commission.jjr.dao.JjrDataDao;
import com.sqx.modules.bl.commission.jjr.entity.JjrApply;
import com.sqx.modules.bl.commission.jjr.entity.JjrConfig;
import com.sqx.modules.bl.commission.jjr.entity.JjrData;
import com.sqx.modules.bl.commission.jjr.service.JjrConfigService;
import com.sqx.modules.bl.commission.jjr.service.JjrDataService;
import com.sqx.modules.utils.PeriodUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class JjrDataServiceImpl extends ServiceImpl<JjrDataDao, JjrData> implements JjrDataService {
@Autowired
private JjrConfigService configService;
@Autowired
private UserMoneyDetailsService userMoneyDetailsService;
@Override
public Result findPage(JjrData jjrData){
@ -64,4 +75,106 @@ public class JjrDataServiceImpl extends ServiceImpl<JjrDataDao, JjrData> impleme
jjrData.setRate(rate);
baseMapper.modifyJjr(jjrData);
}
@Override
public Result myJjr(Long userId){
Map<String,Object> result=new HashMap<>();
//可提现
Date CurrentPeriod = new Date();//获取当前时间
//获取当前时间周期的上一个周期
Period periodDate= PeriodUtil.previousIssue(CurrentPeriod);
Period period = new Period();
period.setArtificerId(String.valueOf(userId));
period.setDetailsType(1);
period.setEndFundData(periodDate.getEndFundData());
period.setFundType(4);//经纪人
List<UserMoneyDetails> filteredPersons = userMoneyDetailsService.selectIncome(period);
//进账
double incomeLong= filteredPersons.stream()
.filter(UserMoneyDetails -> UserMoneyDetails.getType() == 1)
.filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2)
.mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue())
.sum();
//出账
double outgoingLong= filteredPersons.stream()
.filter(UserMoneyDetails -> UserMoneyDetails.getType() == 2)
.filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2)
.filter(UserMoneyDetails -> !UserMoneyDetails.getContent().contains("管理端减少"))
.mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue())
.sum();
BigDecimal incomeMoney= BigDecimal.valueOf(incomeLong).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal outgoingMoney = BigDecimal.valueOf(outgoingLong).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal withdrawableAmount = incomeMoney.subtract(outgoingMoney).setScale(2,BigDecimal.ROUND_HALF_UP);
result.put("withdrawableAmount",withdrawableAmount);//可提现金额
//累计佣金
Period period2 = new Period();
period2.setArtificerId(String.valueOf(userId));
period2.setDetailsType(1);
period2.setFundType(4);//经纪人
List<UserMoneyDetails> filteredPersons2 = userMoneyDetailsService.selectIncome(period2);
double income= filteredPersons2.stream()
.filter(UserMoneyDetails -> UserMoneyDetails.getType() == 1)
.filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2)
.mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue())
.sum();
result.put("income",income);//累计佣金
//已提现金额
double withdrawal= filteredPersons2.stream()
.filter(UserMoneyDetails -> UserMoneyDetails.getType() == 2)
.filter(UserMoneyDetails -> UserMoneyDetails.getState() == 2)
.filter(UserMoneyDetails -> UserMoneyDetails.getClassify() == 3)
.mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue())
.sum();
result.put("withdrawal",withdrawal);//已提现金额
double notCredited = filteredPersons2.stream()
.filter(UserMoneyDetails -> UserMoneyDetails.getType() == 1)
.filter(UserMoneyDetails -> UserMoneyDetails.getState() == 1)
.mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue())
.sum();
result.put("notCredited",notCredited);//未入账
JjrData jjrData = new JjrData();
jjrData.setUserId(userId);
jjrData = baseMapper.findJjr(jjrData);
result.put("curOrdersCount",jjrData.getCurOrdersCount());//今日成交订单
result.put("ordersCount",jjrData.getOrdersCount());//累计成交订单
result.put("curArtificerCount",jjrData.getCurArtificerCount());//今日新增技师
result.put("artificerCount",jjrData.getArtificerCount());//累计入驻技师
return Result.success().put("data",result);
}
@Override
public Result incomeDetail(Long userId,Integer page, Integer limit){
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", userId);
queryWrapper.eq("bl_role", 4);//经纪人
queryWrapper.eq("type", 1);
queryWrapper.eq("state", 2);
queryWrapper.eq("manipulate_type", 2);
queryWrapper.orderByDesc("create_time");
Page<UserMoneyDetails> pages = new Page<>(page, limit);
PageUtils pageUtils = new PageUtils(userMoneyDetailsService.page(pages,queryWrapper));
return Result.success().put("data", pageUtils);
}
@Override
public Result withdrawalDetail(Long userId,Integer page, Integer limit){
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", userId);
queryWrapper.eq("classify", 3);
queryWrapper.eq("type", 2);
queryWrapper.eq("state", 2);
queryWrapper.eq("bl_role", 4);//经纪人
queryWrapper.eq("manipulate_type", 2);
queryWrapper.orderByDesc("create_time");
Page<UserMoneyDetails> pages = new Page<>(page, limit);
PageUtils pageUtils = new PageUtils(userMoneyDetailsService.page(pages,queryWrapper));
return Result.success().put("data", pageUtils);
}
@Override
public JjrData getByUserId(Long userId){
return baseMapper.getByUserId(userId);
}
}

View File

@ -928,7 +928,7 @@ public class AliPayController {
String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String[] couponIds = couponIssue.getCouponIds().split(",");
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
userMoneyDetails.setClassify(1);
userMoneyDetails.setClassify(2);
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setManipulateType(1);
@ -1044,7 +1044,7 @@ public class AliPayController {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//用户流水
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(8);
userMoneyDetails.setClassify(5);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("支付宝给技师打赏");
@ -1066,7 +1066,7 @@ public class AliPayController {
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setClassify(5);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户支付宝打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money);
@ -2284,7 +2284,7 @@ public class AliPayController {
String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String[] couponIds = couponIssue.getCouponIds().split(",");
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
userMoneyDetails.setClassify(1);
userMoneyDetails.setClassify(2);
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setManipulateType(1);
@ -2400,7 +2400,7 @@ public class AliPayController {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//用户流水
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(8);
userMoneyDetails.setClassify(5);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("支付宝给技师打赏");
@ -2422,7 +2422,7 @@ public class AliPayController {
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setClassify(5);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户支付宝打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money);

View File

@ -1737,7 +1737,7 @@ public class WxServiceImpl implements WxService {
String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String[] couponIds = couponIssue.getCouponIds().split(",");
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
userMoneyDetails.setClassify(1);
userMoneyDetails.setClassify(2);
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setManipulateType(1);
@ -1853,7 +1853,7 @@ public class WxServiceImpl implements WxService {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//用户流水
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(8);
userMoneyDetails.setClassify(5);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("微信给技师打赏");
@ -1875,7 +1875,7 @@ public class WxServiceImpl implements WxService {
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setClassify(5);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户微信打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”微信打赏:"+money);
@ -2505,7 +2505,7 @@ public class WxServiceImpl implements WxService {
String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String[] couponIds = couponIssue.getCouponIds().split(",");
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
userMoneyDetails.setClassify(1);
userMoneyDetails.setClassify(2);
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setManipulateType(1);
@ -2621,7 +2621,7 @@ public class WxServiceImpl implements WxService {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//用户流水
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(8);
userMoneyDetails.setClassify(5);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("微信给技师打赏");
@ -2643,7 +2643,7 @@ public class WxServiceImpl implements WxService {
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setClassify(5);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户微信打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”微信打赏:"+money);

View File

@ -3,10 +3,10 @@
<mapper namespace="com.sqx.modules.app.dao.UserMoneyDetailsDao">
<select id="monthIncome" resultType="Double">
select sum(money) from user_money_details where user_id=#{userId} and classify=4 and type=2 and state=2 and date_format(create_time,'%Y-%m')=date_format(#{date},'%Y-%m')
select sum(money) from user_money_details where user_id=#{userId} and ifnull(classify,5)=5 and type=1 and state=2 and date_format(create_time,'%Y-%m')=date_format(#{date},'%Y-%m')
</select>
<select id="selectMyProfit" resultType="Double">
select sum(money) from user_money_details where user_id=#{userId} and classify!=3
select sum(money) from user_money_details where user_id=#{userId} and ifnull(classify,5)=5 and state=2
</select>
<select id="selectSumRefund" resultType="java.math.BigDecimal">
@ -127,7 +127,7 @@
</select>
<select id="selectArtificerQianbao" resultType="com.sqx.modules.app.entity.UserMoneyDetails">
select type,IFNULL(sum(money),0) as money from user_money_details where user_id = #{userId} and bl_role = 2 and bl_flag = 1 and state = 2 and classify = 8 and type = 1
select type,IFNULL(sum(money),0) as money from user_money_details where user_id = #{userId} and bl_role = 2 and bl_flag = 1 and state = 2 and classify = 4 and type = 1
<if test="startTime!=null and startTime!=''">
and date_format(create_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>

View File

@ -6,9 +6,9 @@
<select id="findPage" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select
x.id,x.user_id,y.avatar,y.user_name,x.name,x.phone,x.remarks,x.create_time,x.status,x.opinion,y.invitation_code,x.approve_time,
(select count(*) from tb_user ac where ac.bl_jjr_code = y.invitation_code) as artificerCount,
ifnull(select count(*) from tb_user ac inner join artificer aa on a.user_id = aa.user_id where ac.bl_jjr_code = y.invitation_code,0) as artificerCount,
ifnull(t1.ordersCount,0) as ordersCount,
ifnull(t2.money,0) as money
ifnull(t3.money,0) as money
from bl_jjr_apply x
inner join tb_user y on x.user_id = y.user_id
left join (
@ -47,7 +47,7 @@
where state = 2
and type = 1
group by user_id
) t2 on t2.user_id = x.user_id
) t3 on t3.user_id = x.user_id
where x.status= 1
<if test="params.name!=null and params.name!=''">
and x.name like concat('%',#{params.name},'%')
@ -131,4 +131,94 @@
where user_id=#{artificerUserId}
</update>
<select id="findJjr" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select
x.id,x.user_id,y.avatar,y.user_name,x.name,x.phone,x.remarks,x.create_time,x.status,x.opinion,y.invitation_code,x.approve_time,
ifnull(select count(*) from tb_user ac inner join artificer aa on a.user_id = aa.user_id where ac.bl_jjr_code = y.invitation_code,0) as artificerCount,
ifnull(select count(*) from tb_user ac inner join artificer aa on a.user_id = aa.user_id
where ac.bl_jjr_code = y.invitation_code and date_format(aa.create_time, '%Y-%m-%d') = date_format(now(),'%Y-%m-%d'),0) as curArtificerCount,
ifnull(t1.ordersCount,0) as ordersCount,
ifnull(t2.ordersCount,0) as curOrdersCount,
ifnull(t3.money,0) as money
from bl_jjr_apply x
inner join tb_user y on x.user_id = y.user_id
left join (
select count(*) as ordersCount, aa.user_id, bb.bl_jjr_code
from (
select o1.orders_id,a.user_id
from orders o1
left join orders o2 on o1.old_orders_id = o2.orders_id and o2.status != 4
left join orders o3 on o2.old_orders_id = o3.orders_id and o3.status != 4
left join artificer a on a.artificer_id=o1.artificer_id
where o1.old_orders_id is not null
and o1.status in (3,5)
union all
select o1.orders_id,a.user_id
from orders o1
left join artificer a on a.artificer_id=o1.artificer_id
where o1.parent_id = 0
and o1.old_orders_id is null
and o1.orders_id not in (
select orders_id from orders
where old_orders_id is not null
and status != 4
)
and o1.orders_id not in (
select old_orders_id from orders
where old_orders_id is not null
and status != 4
)
and o1.status in (3,5)
) aa inner join tb_user bb on aa.user_id = bb.user_id
group by aa.user_id, bb.bl_jjr_code
) t1 on t1.bl_jjr_code = y.invitation_code
left join (
select count(*) as ordersCount, aa.user_id, bb.bl_jjr_code
from (
select o1.orders_id,a.user_id
from orders o1
left join orders o2 on o1.old_orders_id = o2.orders_id and o2.status != 4
left join orders o3 on o2.old_orders_id = o3.orders_id and o3.status != 4
left join artificer a on a.artificer_id=o1.artificer_id
where o1.old_orders_id is not null
and o1.status in (3,5)
and date_format(o1.serve_time, '%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
union all
select o1.orders_id,a.user_id
from orders o1
left join artificer a on a.artificer_id=o1.artificer_id
where o1.parent_id = 0
and o1.old_orders_id is null
and o1.orders_id not in (
select orders_id from orders
where old_orders_id is not null
and status != 4
)
and o1.orders_id not in (
select old_orders_id from orders
where old_orders_id is not null
and status != 4
)
and o1.status in (3,5)
and date_format(o1.serve_time, '%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
) aa inner join tb_user bb on aa.user_id = bb.user_id
group by aa.user_id, bb.bl_jjr_code
) t2 on t2.bl_jjr_code = y.invitation_code
left join (
select sum(money) money,user_id
from user_money_details
where state = 2
and type = 1
group by user_id
) t3 on t3.user_id = x.user_id
where x.status= 1
and x.user_id = #{userId}
</select>
<select id="getByUserId" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select user_id,avatar,user_name,phone,create_time,status,invitation_code
from tb_user
where user_id = #{userId}
</select>
</mapper>