Browse Source

工会

master
张彭杰 2 weeks ago
parent
commit
f2be2d0ef1
7 changed files with 184 additions and 0 deletions
  1. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/GuildUserQueryController.java
  2. 26
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/request/PageGuildMemberDailyProfitQueryParams.java
  3. 59
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/response/PageGuildMemberDailyProfitVo.java
  4. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/gmdp/GuildMemberDailyProfitDao.java
  5. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/GuildMemberDailyProfitQueryService.java
  6. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/impl/GuildMemberDailyProfitQueryServiceImpl.java
  7. 41
      dating-agency-mall-server/src/main/resources/mapper/gmdp/GuildMemberDailyProfitDao.xml

31
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/GuildUserQueryController.java

@ -0,0 +1,31 @@
package com.qniao.dam.api.query.guild.user;
import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams;
import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo;
import com.qniao.dam.query.gmdp.GuildMemberDailyProfitQueryService;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("user")
@Api(tags = "工会")
public class GuildUserQueryController {
@Resource
private GuildMemberDailyProfitQueryService guildMemberDailyProfitQueryService;
@GetMapping("page/guild-member/daily-profit")
@ApiOperation("用户获取工会成员每日收益分页")
public QnPage<PageGuildMemberDailyProfitVo> pageGuildMemberDailyProfit(PageUtil pageUtil,
PageGuildMemberDailyProfitQueryParams queryParams) {
return PageUtil.convert(guildMemberDailyProfitQueryService.pageDailyProfit(pageUtil, queryParams), PageGuildMemberDailyProfitVo.class);
}
}

26
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/request/PageGuildMemberDailyProfitQueryParams.java

@ -0,0 +1,26 @@
package com.qniao.dam.api.query.guild.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
@Data
public class PageGuildMemberDailyProfitQueryParams {
@ApiModelProperty("统计日期开始")
private LocalDate statDateFrom;
@ApiModelProperty("统计日期结束")
private LocalDate statDateTo;
@ApiModelProperty("工会标识")
private Long guildId;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("手机")
private String phone;
}

59
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/response/PageGuildMemberDailyProfitVo.java

@ -0,0 +1,59 @@
package com.qniao.dam.api.query.guild.user.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qniao.dau.domian.aggregate.lmar.constant.LiveMatchmakerTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class PageGuildMemberDailyProfitVo {
@ApiModelProperty("统计日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate statDate;
@ApiModelProperty("工会id")
@JsonSerialize(using = ToStringSerializer.class)
private Long guildId;
@ApiModelProperty("工会名称")
private String guildName;
@ApiModelProperty("用户id")
@JsonSerialize(using = ToStringSerializer.class)
private Long userId;
@ApiModelProperty("用户id")
@JsonSerialize(using = ToStringSerializer.class)
private Long liveMatchmakerId;
@ApiModelProperty("昵称")
private String nickName;
@ApiModelProperty("真实姓名")
private String name;
@ApiModelProperty("手机")
private String phone;
@ApiModelProperty("红娘类型")
private LiveMatchmakerTypeEnum matchmakerType;
@ApiModelProperty("注册时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime registerTime;
@ApiModelProperty("入会时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime joinTime;
@ApiModelProperty("收益额")
private BigDecimal earnings;
}

6
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/gmdp/GuildMemberDailyProfitDao.java

@ -1,6 +1,10 @@
package com.qniao.dam.infrastructure.persistent.dao.gmdp; package com.qniao.dam.infrastructure.persistent.dao.gmdp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams;
import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo;
import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit; import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -21,4 +25,6 @@ public interface GuildMemberDailyProfitDao extends BaseMapper<GuildMemberDailyPr
@Param("startTime") LocalDateTime startTime, @Param("startTime") LocalDateTime startTime,
@Param("endTime") LocalDateTime endTime); @Param("endTime") LocalDateTime endTime);
IPage<PageGuildMemberDailyProfitVo> pageDailyProfit(Page<Object> pageWithoutOrders,
@Param("queryParams") PageGuildMemberDailyProfitQueryParams queryParams);
} }

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/GuildMemberDailyProfitQueryService.java

@ -1,6 +1,11 @@
package com.qniao.dam.query.gmdp; package com.qniao.dam.query.gmdp;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams;
import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo;
import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit; import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit;
import com.qniao.framework.utils.PageUtil;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -13,4 +18,8 @@ public interface GuildMemberDailyProfitQueryService {
List<GuildMemberDailyProfit> statAll(LocalDateTime startTime, LocalDateTime endTime); List<GuildMemberDailyProfit> statAll(LocalDateTime startTime, LocalDateTime endTime);
GuildMemberDailyProfit stat(Long guildId, Long userId, LocalDateTime startTime, LocalDateTime endTime); GuildMemberDailyProfit stat(Long guildId, Long userId, LocalDateTime startTime, LocalDateTime endTime);
IPage<PageGuildMemberDailyProfitVo> pageDailyProfit(PageUtil pageUtil,
@Param("queryParams") PageGuildMemberDailyProfitQueryParams queryParams);
} }

12
dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/impl/GuildMemberDailyProfitQueryServiceImpl.java

@ -1,9 +1,15 @@
package com.qniao.dam.query.gmdp.impl; package com.qniao.dam.query.gmdp.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams;
import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo;
import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit; import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit;
import com.qniao.dam.infrastructure.persistent.dao.gmdp.GuildMemberDailyProfitDao; import com.qniao.dam.infrastructure.persistent.dao.gmdp.GuildMemberDailyProfitDao;
import com.qniao.dam.query.gmdp.GuildMemberDailyProfitQueryService; import com.qniao.dam.query.gmdp.GuildMemberDailyProfitQueryService;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -37,4 +43,10 @@ public class GuildMemberDailyProfitQueryServiceImpl implements GuildMemberDailyP
return guildMemberDailyProfitDao.stat(guildId, userId, startTime, endTime); return guildMemberDailyProfitDao.stat(guildId, userId, startTime, endTime);
} }
@Override
public IPage<PageGuildMemberDailyProfitVo> pageDailyProfit(PageUtil pageUtil,
PageGuildMemberDailyProfitQueryParams queryParams) {
return guildMemberDailyProfitDao.pageDailyProfit(pageUtil.toPageWithoutOrders(), queryParams);
}
} }

41
dating-agency-mall-server/src/main/resources/mapper/gmdp/GuildMemberDailyProfitDao.xml

@ -26,4 +26,45 @@
limit 1 limit 1
</select> </select>
<select id="pageDailyProfit"
resultType="com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo">
SELECT
dagmdp.stat_date,
dagmdp.guild_id,
dag.`name` as guildName,
dagmdp.user_id,
dalm.id as liveMatchmakerId,
dalm.type as matchmakerType,
dami.nick_name,
dami.`name`,
daa.tid as phone,
dalm.create_time as registerTime,
dagm.create_time as joinTime,
dagmdp.earnings
from da_guild_member_daily_profit as dagmdp
LEFT JOIN da_guild as dag on dagmdp.guild_id=dag.id
LEFT JOIN da_live_matchmaker as dalm on dalm.is_delete=0 and dalm.user_id=dagmdp.user_id
LEFT JOIN da_user_marriage_information as daumi on daumi.is_delete=0 and daumi.user_id=dagmdp.user_id and
daumi.type=1
LEFT JOIN da_marriage_information as dami on dami.id=daumi.mi_id
LEFT JOIN da_account as daa on daa.is_delete=0 and daa.user_id=dagmdp.user_id and daa.type=2
LEFT JOIN da_guild_member as dagm on dagm.is_delete=0 and dagm.guild_id=dagmdp.guild_id and
dagmdp.user_id=dagm.user_id
where dagmdp.is_delete=0
<if test="queryParams.guildId != null">
and dagmdp.guild_id = #{queryParams.guildId}
</if>
<if test="queryParams.statDateFrom != null and queryParams.statDateTo != null">
and dagmdp.stat_date BETWEEN #{queryParams.statDateFrom} and #{queryParams.statDateTo}
</if>
<if test="queryParams.name != null and queryParams.name != '' ">
AND (dami.nick_name LIKE CONCAT('%', TRIM(#{queryParams.name}), '%') or
dami.`name` LIKE CONCAT('%', TRIM(#{queryParams.name}), '%'))
</if>
<if test="queryParams.phone != null and queryParams.phone != '' ">
AND daa.tid LIKE CONCAT('%', TRIM(#{queryParams.name}), '%')
</if>
ORDER BY dagmdp.stat_date desc
</select>
</mapper> </mapper>
Loading…
Cancel
Save