分账小改动

This commit is contained in:
Jerry Yan 2025-02-21 10:04:24 +08:00
parent df8345f504
commit f0fc5ef236
9 changed files with 68 additions and 29 deletions

View File

@ -1,9 +1,10 @@
package com.ycwl.basic.controller.pc;
package com.ycwl.basic.profitsharing.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.model.pc.profitsharing.resp.ProfitSharingRecordRespVO;
import com.ycwl.basic.service.pc.ProfitSharingRecordService;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordReqQuery;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordRespVO;
import com.ycwl.basic.profitsharing.service.ProfitSharingRecordService;
import com.ycwl.basic.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -21,10 +22,10 @@ public class ProfitSharingRecordController {
private ProfitSharingRecordService profitSharingRecordService;
@ApiOperation("根据景区ID查询利润分成记录支持分页按创建时间倒序")
@GetMapping("/page")
public ApiResponse<PageInfo<ProfitSharingRecordRespVO>> findByScenicId(@RequestParam(required = false) Long scenicId, @RequestParam int pageNum, @RequestParam int pageSize) {
PageHelper.startPage(pageNum, pageSize, "create_time desc");
List<ProfitSharingRecordRespVO> records = profitSharingRecordService.findByScenicId(scenicId);
@PostMapping("/page")
public ApiResponse<PageInfo<ProfitSharingRecordRespVO>> queryPage(@RequestBody ProfitSharingRecordReqQuery req) {
PageHelper.startPage(req.getPageNum(), req.getPageSize(), "create_time desc");
List<ProfitSharingRecordRespVO> records = profitSharingRecordService.list(req);
PageInfo<ProfitSharingRecordRespVO> pageInfo = new PageInfo<>(records);
return ApiResponse.success(pageInfo);
}

View File

@ -1,7 +1,12 @@
package com.ycwl.basic.profitsharing.dto;
import com.ycwl.basic.model.common.BaseQueryParameterReq;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class ProfitSharingConfigReqQuery extends BaseQueryParameterReq {
private Long scenicId;
}

View File

@ -0,0 +1,21 @@
package com.ycwl.basic.profitsharing.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycwl.basic.model.common.BaseQueryParameterReq;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
@EqualsAndHashCode(callSuper = true)
@Data
public class ProfitSharingRecordReqQuery extends BaseQueryParameterReq {
private Long scenicId;
private Integer status;
private Integer rateMode;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
}

View File

@ -1,4 +1,4 @@
package com.ycwl.basic.model.pc.profitsharing.resp;
package com.ycwl.basic.profitsharing.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,19 +1,17 @@
package com.ycwl.basic.profitsharing.mapper;
import com.ycwl.basic.model.pc.profitsharing.resp.ProfitSharingRecordRespVO;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordReqQuery;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordRespVO;
import com.ycwl.basic.profitsharing.entity.ProfitSharingRecord;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface ProfitSharingRecordMapper {
List<ProfitSharingRecordRespVO> findByScenicId(@Param("scenicId") Long scenicId);
List<ProfitSharingRecordRespVO> list(ProfitSharingRecordReqQuery req);
void batchInsert(List<ProfitSharingRecord> records);

View File

@ -0,0 +1,9 @@
package com.ycwl.basic.profitsharing.service;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordReqQuery;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordRespVO;
import java.util.List;
public interface ProfitSharingRecordService {
List<ProfitSharingRecordRespVO> list(ProfitSharingRecordReqQuery req);
}

View File

@ -1,8 +1,9 @@
package com.ycwl.basic.service.impl.pc;
package com.ycwl.basic.profitsharing.service.impl;
import com.ycwl.basic.model.pc.profitsharing.resp.ProfitSharingRecordRespVO;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordReqQuery;
import com.ycwl.basic.profitsharing.dto.ProfitSharingRecordRespVO;
import com.ycwl.basic.profitsharing.mapper.ProfitSharingRecordMapper;
import com.ycwl.basic.service.pc.ProfitSharingRecordService;
import com.ycwl.basic.profitsharing.service.ProfitSharingRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -16,7 +17,7 @@ public class ProfitSharingRecordServiceImpl implements ProfitSharingRecordServic
@Override
public List<ProfitSharingRecordRespVO> findByScenicId(Long scenicId) {
return profitSharingRecordMapper.findByScenicId(scenicId);
public List<ProfitSharingRecordRespVO> list(ProfitSharingRecordReqQuery req) {
return profitSharingRecordMapper.list(req);
}
}

View File

@ -1,8 +0,0 @@
package com.ycwl.basic.service.pc;
import com.ycwl.basic.model.pc.profitsharing.resp.ProfitSharingRecordRespVO;
import java.util.List;
public interface ProfitSharingRecordService {
List<ProfitSharingRecordRespVO> findByScenicId(Long scenicId);
}

View File

@ -2,13 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ycwl.basic.profitsharing.mapper.ProfitSharingRecordMapper" >
<insert id="batchInsert">
INSERT INTO profit_sharing_record (scenic_id, order_id, user_id, user_name, amount, wx_amount, manual_amount, wx_rate, real_rate, order_amount, create_time)
INSERT INTO profit_sharing_record (scenic_id, order_id, user_id, user_name, amount, wx_amount, manual_amount, rate_mode, wx_rate, real_rate, order_amount, create_time)
VALUES
<foreach collection="records" item="record" separator=",">
(#{record.scenicId}, #{record.orderId}, #{record.userId}, #{record.userName}, #{record.amount}, #{record.wxAmount}, #{record.manualAmount}, #{record.wxRate}, #{record.realRate}, #{record.orderAmount}, #{record.createTime})
(#{record.scenicId}, #{record.orderId}, #{record.userId}, #{record.userName}, #{record.amount}, #{record.wxAmount}, #{record.manualAmount}, #{record.rateMode}, #{record.wxRate}, #{record.realRate}, #{record.orderAmount}, #{record.createTime})
</foreach>
</insert>
<select id="findByScenicId" resultType="com.ycwl.basic.model.pc.profitsharing.resp.ProfitSharingRecordRespVO">
<select id="list" resultType="com.ycwl.basic.profitsharing.dto.ProfitSharingRecordRespVO">
SELECT r.*, s.name as scenic_name
FROM profit_sharing_record r
LEFT JOIN scenic s ON s.id = r.scenic_id
@ -16,6 +16,18 @@
<if test="scenicId != null">
AND r.scenic_id = #{scenicId}
</if>
<if test="status != null">
AND r.status = #{status}
</if>
<if test="rateMode != null">
AND r.rate_mode = #{rateMode}
</if>
<if test="startTime != null">
AND r.create_time >= #{startTime}
</if>
<if test="endTime != null">
AND r.create_time &lt;= #{endTime}
</if>
</where>
ORDER BY r.create_time desc
</select>