diff --git a/src/main/java/com/sqx/modules/app/entity/UserEntity.java b/src/main/java/com/sqx/modules/app/entity/UserEntity.java index b6152fb..5a2fe66 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserEntity.java +++ b/src/main/java/com/sqx/modules/app/entity/UserEntity.java @@ -262,4 +262,12 @@ public class UserEntity implements Serializable { private String blYwyCode; + private Integer blIsQds; + + private String blQdsCode; + + private Integer blIsDls; + + private String blDlsCode; + } diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java index 66383ef..0827e06 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserMoneyDetailsServiceImpl.java @@ -360,6 +360,9 @@ public class UserMoneyDetailsServiceImpl extends ServiceImpl()); + } + return Result.success().put("data",entity); + } + + @PostMapping("/save") + @ApiOperation("添加渠道商") + public Result save(QdsConfig qdsConfig){ + QdsConfig entity = service.getById(qdsConfig); + if(entity!=null){ + service.updateById(qdsConfig); + }else{ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + qdsConfig.setCreateTime(sdf.format(new Date())); + service.save(qdsConfig); + } + return Result.success(); + } +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsDataController.java b/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsDataController.java new file mode 100644 index 0000000..ac5d1fe --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsDataController.java @@ -0,0 +1,33 @@ +package com.sqx.modules.bl.commission.qds.controller; + +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsData; +import com.sqx.modules.bl.commission.qds.service.QdsDataService; +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.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/commission/qdsData") +@Api(value = "分佣管理", tags = {"渠道商数据"}) +public class QdsDataController { + + @Autowired + private QdsDataService service; + + @GetMapping("/findPage") + @ApiOperation("查询(分页)") + public Result findPage(QdsData qdsData){ + return service.findPage(qdsData); + } + + @GetMapping("/invitationPage") + @ApiOperation("邀请用户(分页)") + public Result invitationPage(QdsData qdsData){ + return service.invitationPage(qdsData); + } + +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsLmController.java b/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsLmController.java new file mode 100644 index 0000000..cd0c0e4 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsLmController.java @@ -0,0 +1,53 @@ +package com.sqx.modules.bl.commission.qds.controller; + +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsLm; +import com.sqx.modules.bl.commission.qds.service.QdsLmService; +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.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import java.text.SimpleDateFormat; +import java.util.Date; + +@RestController +@RequestMapping("/commission/qdsLm") +@Api(value = "分佣管理", tags = {"渠道商类目"}) +public class QdsLmController { + + @Autowired + private QdsLmService service; + + @GetMapping("/findPage") + @ApiOperation("查询(分页)") + public Result findPage(QdsLm qdsLm){ + return service.findPage(qdsLm); + } + + @PostMapping("/add") + @ApiOperation("添加类目") + public Result add(QdsLm qdsLm){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + qdsLm.setCreateTime(sdf.format(new Date())); + service.save(qdsLm); + return Result.success(); + } + + @PostMapping("/modify") + @ApiOperation("修改类目") + public Result modify(QdsLm qdsLm){ + service.updateById(qdsLm); + return Result.success(); + } + + @PostMapping("/delete") + @ApiOperation("删除类目") + public Result delete(QdsLm qdsLm){ + service.removeById(qdsLm.getId()); + return Result.success(); + } + +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java b/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java new file mode 100644 index 0000000..ad0e5dd --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java @@ -0,0 +1,75 @@ +package com.sqx.modules.bl.commission.qds.controller.app; + +import com.sqx.common.utils.Result; +import com.sqx.modules.app.annotation.Login; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; +import com.sqx.modules.bl.commission.qds.service.QdsApplyService; +import com.sqx.modules.bl.commission.qds.service.QdsDataService; +import com.sqx.modules.bl.commission.qds.service.QdsLmService; +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; + +import java.text.SimpleDateFormat; +import java.util.Date; + +@RestController +@RequestMapping("/app/commission/qds") +@Api(value = "分佣管理", tags = {"渠道商管理app"}) +public class AppQdsController { + + @Autowired + private QdsLmService lmService; + + @Autowired + private QdsApplyService applyService; + + @Autowired + private QdsDataService dataService; + + @GetMapping("/lmList") + @ApiOperation("类目列表") + public Result lmList(){ + return lmService.findList(null); + } + + @Login + @GetMapping("/apply") + @ApiOperation("申请渠道商") + public Result apply(@RequestAttribute Long userId, String name, String phone, String lm, String remarks){ + QdsApply entity = applyService.findByUserId(userId); + if(entity!=null){ + if(entity.getStatus().equals(0)){ + return Result.error("申请审批中"); + } + if(entity.getStatus().equals(1)){ + return Result.error("申请审批通过,请重新登录"); + } + if(entity.getStatus().equals(2)){ + return Result.error("申请审批被驳回,驳回原因如下:"+entity.getOpinion()); + } + } + QdsApply qdsApply = new QdsApply(); + qdsApply.setUserId(userId); + qdsApply.setName(name); + qdsApply.setPhone(phone); + qdsApply.setLm(lm); + qdsApply.setRemarks(remarks); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + qdsApply.setCreateTime(sdf.format(new Date())); + applyService.add(qdsApply); + return Result.success("申请成功,等待审批"); + } + + @Login + @GetMapping("/myQds") + @ApiOperation("我是渠道商") + public Result myQds(@RequestAttribute Long userId){ + return dataService.myQds(userId); + } + +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsApplyDao.java b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsApplyDao.java new file mode 100644 index 0000000..69eee13 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsApplyDao.java @@ -0,0 +1,21 @@ +package com.sqx.modules.bl.commission.qds.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.modules.bl.commission.jjr.entity.JjrApply; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface QdsApplyDao extends BaseMapper { + QdsApply findByUserId(Long userId); + int add(QdsApply qdsApply); + int update(QdsApply qdsApply); + int approve(QdsApply qdsApply); + IPage findUserPage(Page page, @Param("params") QdsApply qdsApply); + IPage findPage(Page page, @Param("params") QdsApply qdsApply); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeDao.java b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeDao.java new file mode 100644 index 0000000..5fbdca0 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeDao.java @@ -0,0 +1,16 @@ +package com.sqx.modules.bl.commission.qds.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface QdsCodeDao extends BaseMapper { + IPage findPage(Page page, @Param("params") QdsCode qdsCode); + int add(QdsCode qdsCode); + int update(QdsCode qdsCode); + IPage findUserPage(Page page, @Param("params") QdsCode qdsCode); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsConfigDao.java b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsConfigDao.java new file mode 100644 index 0000000..6d18e23 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsConfigDao.java @@ -0,0 +1,10 @@ +package com.sqx.modules.bl.commission.qds.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.bl.commission.qds.entity.QdsConfig; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface QdsConfigDao extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsDataDao.java b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsDataDao.java new file mode 100644 index 0000000..4cbf32d --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsDataDao.java @@ -0,0 +1,14 @@ +package com.sqx.modules.bl.commission.qds.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.modules.bl.commission.qds.entity.QdsData; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface QdsDataDao extends BaseMapper { + IPage findPage(Page page, @Param("params") QdsData qdsData); + IPage invitationUserPage(Page page, @Param("params") QdsData qdsData); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsLmDao.java b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsLmDao.java new file mode 100644 index 0000000..18e20a7 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsLmDao.java @@ -0,0 +1,15 @@ +package com.sqx.modules.bl.commission.qds.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.modules.bl.commission.qds.entity.QdsLm; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +@Mapper +public interface QdsLmDao extends BaseMapper { + IPage findPage(Page page, @Param("params") QdsLm qdsLm); + List findList(QdsLm qdsLm); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsApply.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsApply.java new file mode 100644 index 0000000..abd31f7 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsApply.java @@ -0,0 +1,114 @@ +package com.sqx.modules.bl.commission.qds.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @description bl_qds_apply + * 渠道商申请表 + * @author caolei + * @date 2024-08-03 + */ +@Data +@TableName("bl_qds_apply") +public class QdsApply implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * ID + */ + private Long id; + /** + *用户ID + */ + private Long userId; + /** + *姓名 + */ + private String name; + /** + *电话 + */ + private String phone; + /** + *类目 + */ + private String lm; + /** + *头像 + */ + @TableField(exist = false) + private String avatar; + /** + *昵称 + */ + @TableField(exist = false) + private String userName; + /** + *邀请码 + */ + @TableField(exist = false) + private String invitationCode; + /** + *备注 + */ + private String remarks; + /** + *状态 + */ + private Integer status; + /** + *审批意见 + */ + private String opinion; + /** + *创建时间 + */ + private String createTime; + /** + *审批时间 + */ + private String approveTime; + /** + *审批人 + */ + private Long approveUser; + /** + *开始时间 + */ + @TableField(exist = false) + private String startTime; + /** + *结束时间 + */ + @TableField(exist = false) + private String endTime; + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer limit; + + @TableField(exist = false) + private Integer userPage; + + @TableField(exist = false) + private Integer userLimit; + + /** + *比例 + */ + @TableField(exist = false) + private BigDecimal rate; + + public QdsApply() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCode.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCode.java new file mode 100644 index 0000000..56fde20 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCode.java @@ -0,0 +1,111 @@ +package com.sqx.modules.bl.commission.qds.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @description bl_qds_code + * 渠道商渠道码表 + * @author caolei + * @date 2024-11-12 + */ +@Data +@TableName("bl_qds_code") +public class QdsCode implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * ID + */ + private Long id; + /** + *用户ID + */ + private Long userId; + /** + *姓名 + */ + private String name; + /** + *编码 + */ + private String code; + /** + *类目 + */ + private Long lm; + /** + *渠道分成 + */ + private BigDecimal rate; + /** + *成本 + */ + private BigDecimal cost; + /** + *开始日期 + */ + private String startDate; + /** + *结束日期 + */ + private String endDate; + /** + *投放地 + */ + private String address; + /** + *备注 + */ + private String remarks; + /** + *渠道码 + */ + private String codeImage; + /** + *创建时间 + */ + private String createTime; + /** + *渠道商 + */ + @TableField(exist = false) + private String qdsName; + /** + *头像 + */ + @TableField(exist = false) + private String avatar; + /** + *昵称 + */ + @TableField(exist = false) + private String userName; + /** + *昵称 + */ + @TableField(exist = false) + private String phone; + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer limit; + + @TableField(exist = false) + private Integer userPage; + + @TableField(exist = false) + private Integer userLimit; + + public QdsCode() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsConfig.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsConfig.java new file mode 100644 index 0000000..fd4f7fb --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsConfig.java @@ -0,0 +1,58 @@ +package com.sqx.modules.bl.commission.qds.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @description bl_qds_config + * 渠道商配置表 + * @author caolei + * @date 2024-11-11 + */ +@Data +@TableName("bl_qds_config") +public class QdsConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * ID + */ + private Long id; + /** + *是否启用 1启用 0关闭 + */ + private Integer isOpen; + /** + *渠道商申请入口 1启用 0关闭 + */ + private Integer isApply; + /** + *渠道商返佣比例 + */ + private BigDecimal rate; + /** + *技师承担 + */ + private BigDecimal artificerRate; + /** + *代理商承担 + */ + private BigDecimal agentRate; + /** + *邀请技师推广海报背景图 + */ + private String artificerImage; + /** + *创建时间 + */ + private String createTime; + + public QdsConfig() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java new file mode 100644 index 0000000..9cd182f --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java @@ -0,0 +1,126 @@ +package com.sqx.modules.bl.commission.qds.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @description bl_fxy_data + * 分销员数据 + * @author caolei + * @date 2024-08-06 + */ +@Data +public class QdsData implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField(exist = false) + /** + * ID + */ + private Long id; + /** + *渠道码名称 + */ + @TableField(exist = false) + private String qdmName; + /** + *渠道码 + */ + @TableField(exist = false) + private String qdsCode; + /** + *渠道商 + */ + @TableField(exist = false) + private String qdsName; + /** + *类目 + */ + @TableField(exist = false) + private Long lm; + /** + *开始时间 + */ + @TableField(exist = false) + private String startTime; + /** + *结束时间 + */ + @TableField(exist = false) + private String endTime; + /** + *绑定人员 + */ + @TableField(exist = false) + private String userName; + /** + *渠道分成比列 + */ + @TableField(exist = false) + private BigDecimal rate; + /** + *扫码数量 + */ + @TableField(exist = false) + private Integer smCount; + /** + *当日成交订单数量 + */ + @TableField(exist = false) + private Integer ordersCount; + /** + *累计获得佣金 + */ + @TableField(exist = false) + private BigDecimal money; + /** + *创建时间 + */ + @TableField(exist = false) + private String createTime; + /** + *邀请用户 + */ + @TableField(exist = false) + private String invitationName; + /** + *邀请用户手机 + */ + @TableField(exist = false) + private String invitationPhone; + /** + *用户ID + */ + @TableField(exist = false) + private Long userId; + /** + *头像 + */ + @TableField(exist = false) + private String avatar; + /** + *姓名 + */ + @TableField(exist = false) + private String name; + /** + *电话 + */ + @TableField(exist = false) + private String phone; + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer limit; + + public QdsData() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsLm.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsLm.java new file mode 100644 index 0000000..6aacaa4 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsLm.java @@ -0,0 +1,43 @@ +package com.sqx.modules.bl.commission.qds.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import java.io.Serializable; + +/** + * @description bl_qds_lm + * 渠道商类目 + * @author caolei + * @date 2024-08-03 + */ +@Data +@TableName("bl_qds_lm") +public class QdsLm implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * ID + */ + private Long id; + /** + * 类目名称 + */ + private String name; + /** + * 创建时间 + */ + private String createTime; + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer limit; + + public QdsLm() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsApplyService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsApplyService.java new file mode 100644 index 0000000..3b66c87 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsApplyService.java @@ -0,0 +1,14 @@ +package com.sqx.modules.bl.commission.qds.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; + +public interface QdsApplyService extends IService { + QdsApply findByUserId(Long userId); + int add(QdsApply qdsApply); + int update(QdsApply qdsApply); + void approve(QdsApply qdsApply); + Result findUserPage(QdsApply qdsApply); + Result findPage(QdsApply qdsApply); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java new file mode 100644 index 0000000..5d34ed6 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java @@ -0,0 +1,13 @@ +package com.sqx.modules.bl.commission.qds.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; + +public interface QdsCodeService extends IService { + Result findPage(QdsCode qdsCode); + int add(QdsCode qdsCode); + int update(QdsCode qdsCode); + Result findUserPage(QdsCode qdsCode); + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsConfigService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsConfigService.java new file mode 100644 index 0000000..5feb9f7 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsConfigService.java @@ -0,0 +1,7 @@ +package com.sqx.modules.bl.commission.qds.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.modules.bl.commission.qds.entity.QdsConfig; + +public interface QdsConfigService extends IService { +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsDataService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsDataService.java new file mode 100644 index 0000000..4b4fd74 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsDataService.java @@ -0,0 +1,11 @@ +package com.sqx.modules.bl.commission.qds.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsData; + +public interface QdsDataService extends IService { + Result findPage(QdsData qdsData); + Result invitationPage(QdsData qdsData); + Result myQds(Long userId); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsLmService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsLmService.java new file mode 100644 index 0000000..b739dc1 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsLmService.java @@ -0,0 +1,10 @@ +package com.sqx.modules.bl.commission.qds.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsLm; + +public interface QdsLmService extends IService { + Result findPage(QdsLm qdsLm); + Result findList(QdsLm qdsLm); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsApplyServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsApplyServiceImpl.java new file mode 100644 index 0000000..fa6f80d --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsApplyServiceImpl.java @@ -0,0 +1,71 @@ +package com.sqx.modules.bl.commission.qds.service.impl; + +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.UserEntity; +import com.sqx.modules.app.service.UserService; +import com.sqx.modules.bl.commission.qds.dao.QdsApplyDao; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; +import com.sqx.modules.bl.commission.qds.service.QdsApplyService; +import com.sqx.modules.sys.entity.SysUserEntity; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; + +@Service +public class DqsApplyServiceImpl extends ServiceImpl implements QdsApplyService { + + @Autowired + private UserService userService; + + @Override + public QdsApply findByUserId(Long userId){ + return baseMapper.findByUserId(userId); + } + + @Override + public int add(QdsApply qdsApply){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + qdsApply.setCreateTime(sdf.format(new Date())); + qdsApply.setStatus(0); + return baseMapper.add(qdsApply); + } + + @Override + public int update(QdsApply qdsApply){ + return baseMapper.update(qdsApply); + } + + @Override + public void approve(QdsApply qdsApply){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + qdsApply.setApproveTime(sdf.format(new Date())); + qdsApply.setApproveUser(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()); + UserEntity userEntity = userService.selectUserById(qdsApply.getUserId()); + if(qdsApply.getStatus().equals(1)){ + userEntity.setBlIsQds(1); + }else{ + userEntity.setBlIsQds(0); + } + userService.updateById(userEntity); + baseMapper.approve(qdsApply); + } + + @Override + public Result findUserPage(QdsApply qdsApply){ + Page pages=new Page<>(qdsApply.getUserPage(),qdsApply.getUserLimit()); + return Result.success().put("data",new PageUtils(baseMapper.findUserPage(pages,qdsApply))); + } + + @Override + public Result findPage(QdsApply qdsApply){ + Page pages=new Page<>(qdsApply.getPage(),qdsApply.getLimit()); + return Result.success().put("data",new PageUtils(baseMapper.findPage(pages,qdsApply))); + } + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java new file mode 100644 index 0000000..0fca0cb --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java @@ -0,0 +1,79 @@ +package com.sqx.modules.bl.commission.qds.service.impl; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.extra.qrcode.QrCodeUtil; +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.bl.commission.qds.dao.QdsCodeDao; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; +import com.sqx.modules.bl.commission.qds.service.QdsCodeService; +import com.sqx.modules.common.service.CommonInfoService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Service +public class DqsCodeServiceImpl extends ServiceImpl implements QdsCodeService { + + @Autowired + private CommonInfoService commonRepository; + + @Override + public Result findPage(QdsCode qdsCode){ + Page pages=new Page<>(qdsCode.getPage(),qdsCode.getLimit()); + return Result.success().put("data",new PageUtils(baseMapper.findPage(pages,qdsCode))); + } + + @Override + public int add(QdsCode qdsCode){ + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + qdsCode.setCreateTime(sdf.format(date)); + String code = String.valueOf(date.getTime()); + qdsCode.setCode(code); + String codeImage = genOrGetQrCodePath(code); + qdsCode.setCodeImage(codeImage); + return baseMapper.add(qdsCode); + } + + @Override + public int update(QdsCode qdsCode){ + return baseMapper.update(qdsCode); + } + + @Override + public Result findUserPage(QdsCode qdsCode){ + Page pages=new Page<>(qdsCode.getUserPage(),qdsCode.getUserLimit()); + return Result.success().put("data",new PageUtils(baseMapper.findUserPage(pages,qdsCode))); + } + + public String genOrGetQrCodePath(String code) { + //去附件里找有没有 + String http = commonRepository.findOne(19).getValue(); + String[] split = http.split("://"); + // 上传文件路径 + String baseAudioUploadPath = "/www/wwwroot/"+split[1]+"/file/uploadPath"; + + String baseFilePath = baseAudioUploadPath + "/" + "QrCode" + "/"; + //创建文件 + String filePath = baseFilePath + code + ".jpg"; + + File QRCodeFile = FileUtil.file(filePath); + //判断文件存不存在 + if(!FileUtil.exist(filePath)){ + //生成并保存并返回二维码 + FileUtil.touch(filePath); + //获取前台地址 + QrCodeUtil.generate(commonRepository.findOne(19).getValue() + "/pages/public/login?blQdsCode=" + code, 300, 300, QRCodeFile); + } + //返回可访问地址 + String url = StringUtils.replace(filePath,"/www/wwwroot/"+split[1],http); + return url; + } + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsConfigServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsConfigServiceImpl.java new file mode 100644 index 0000000..102d79f --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsConfigServiceImpl.java @@ -0,0 +1,12 @@ +package com.sqx.modules.bl.commission.qds.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sqx.modules.bl.commission.qds.dao.QdsConfigDao; +import com.sqx.modules.bl.commission.qds.entity.QdsConfig; +import com.sqx.modules.bl.commission.qds.service.QdsConfigService; +import org.springframework.stereotype.Service; + +@Service +public class QdsConfigServiceImpl extends ServiceImpl implements QdsConfigService { + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsDataServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsDataServiceImpl.java new file mode 100644 index 0000000..42cbca4 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsDataServiceImpl.java @@ -0,0 +1,108 @@ +package com.sqx.modules.bl.commission.qds.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sqx.modules.app.entity.UserMoneyDetails; +import com.sqx.modules.app.service.UserMoneyDetailsService; +import com.sqx.modules.artificer.entity.Period; +import com.sqx.modules.bl.commission.qds.dao.QdsDataDao; +import com.sqx.modules.utils.PeriodUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.common.utils.PageUtils; +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsData; +import com.sqx.modules.bl.commission.qds.service.QdsDataService; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class QdsDataServiceImpl extends ServiceImpl implements QdsDataService { + + @Autowired + private UserMoneyDetailsService userMoneyDetailsService; + + @Override + public Result findPage(QdsData qdsData){ + Page pages=new Page<>(qdsData.getPage(),qdsData.getLimit()); + return Result.success().put("data",new PageUtils(baseMapper.findPage(pages,qdsData))); + } + + @Override + public Result invitationPage(QdsData qdsData){ + Page pages=new Page<>(qdsData.getPage(),qdsData.getLimit()); + IPage iPage = baseMapper.invitationUserPage(pages,qdsData); + return Result.success().put("data",new PageUtils(iPage)); + } + + @Override + public Result myQds(Long userId){ + Map 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(8);//渠道商 + List 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(8);//渠道商 + List 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=0; + for(int i=0;i UserMoneyDetails.getType() == 1) + .filter(UserMoneyDetails -> UserMoneyDetails.getState() == 1) + .mapToDouble(UserMoneyDetails -> UserMoneyDetails.getMoney().doubleValue()) + .sum(); + result.put("notCredited",notCredited);//未入账 + + + + + return Result.success().put("data",result); + } +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsLmServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsLmServiceImpl.java new file mode 100644 index 0000000..12bee5c --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/QdsLmServiceImpl.java @@ -0,0 +1,26 @@ +package com.sqx.modules.bl.commission.qds.service.impl; + +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.bl.commission.qds.dao.QdsLmDao; +import com.sqx.modules.bl.commission.qds.entity.QdsLm; +import com.sqx.modules.bl.commission.qds.service.QdsLmService; +import org.springframework.stereotype.Service; + +@Service +public class QdsLmServiceImpl extends ServiceImpl implements QdsLmService { + + @Override + public Result findPage(QdsLm qdsLm){ + Page pages=new Page<>(qdsLm.getPage(),qdsLm.getLimit()); + return Result.success().put("data",new PageUtils(baseMapper.findPage(pages,qdsLm))); + } + + @Override + public Result findList(QdsLm qdsLm){ + return Result.success().put("data",baseMapper.findList(qdsLm)); + } + +} \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/qds/QdsApplyDao.xml b/src/main/resources/mapper/bl/commission/qds/QdsApplyDao.xml new file mode 100644 index 0000000..d3a5735 --- /dev/null +++ b/src/main/resources/mapper/bl/commission/qds/QdsApplyDao.xml @@ -0,0 +1,85 @@ + + + + + + + + + insert into bl_qds_apply(user_id,name,phone,lm,remarks,create_time,status) + values(#{userId},#{name},#{phone},#{lm},#{remarks},#{createTime},0) + + + + update bl_qds_apply + set + user_id=#{userId}, + name=#{name}, + phone=#{phone}, + lm=#{lm}, + remarks=#{remarks} + where id=#{id} + + + + update bl_qds_apply + set status=#{status}, + opinion=#{opinion}, + approve_time=#{approveTime}, + approve_user=#{approveUser} + where id=#{id} + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/qds/QdsCodeDao.xml b/src/main/resources/mapper/bl/commission/qds/QdsCodeDao.xml new file mode 100644 index 0000000..94c6e92 --- /dev/null +++ b/src/main/resources/mapper/bl/commission/qds/QdsCodeDao.xml @@ -0,0 +1,89 @@ + + + + + + + + + insert into bl_qds_code( + name, + code, + lm, + user_id, + rate, + cost, + start_date, + end_date, + address, + create_time, + remarks, + code_image + ) + values(#{name},#{code},#{lm},#{userId},#{rate},#{cost},#{startDate},#{endDate},#{address},#{createTime},#{remarks},#{codeImage}) + + + + update bl_qds_code + set + name=#{name}, + lm=#{lm}, + user_id=#{userId}, + rate=#{rate}, + cost=#{cost}, + address=#{address}, + start_date=#{startDate}, + end_date=#{endDate}, + remarks=#{remarks} + where id=#{id} + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml b/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml new file mode 100644 index 0000000..eaff89b --- /dev/null +++ b/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml @@ -0,0 +1,79 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/qds/QdsLmDao.xml b/src/main/resources/mapper/bl/commission/qds/QdsLmDao.xml new file mode 100644 index 0000000..7fddae0 --- /dev/null +++ b/src/main/resources/mapper/bl/commission/qds/QdsLmDao.xml @@ -0,0 +1,34 @@ + + + + + + + + + + \ No newline at end of file