李林
2023-12-23 00f39e457e7604fade0da9020bbed777f2da76f7
第一阶段
已添加5个文件
348 ■■■■■ 文件已修改
data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/resources/mapper/DataReportingMapper.xml 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.pojo.DataReporting;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author Administrator
* @description é’ˆå¯¹è¡¨ã€data_reporting(数据上报)】的数据库操作Mapper
* @createDate 2023-12-23 10:39:43
* @Entity com.yuanchu.mom.pojo.DataReporting
*/
public interface DataReportingMapper extends BaseMapper<DataReporting> {
    IPage<DataReportingPageDto> selectDataReportingDtoPageList(IPage<DataReportingPageDto> page, QueryWrapper<DataReportingPageDto> ew);
}
data-server/src/main/java/com/yuanchu/mom/pojo/DataReporting.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,193 @@
package com.yuanchu.mom.pojo;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.annotation.ValueTableShow;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
/**
* æ•°æ®ä¸ŠæŠ¥
* @TableName data_reporting
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataReporting extends OrderBy implements Serializable {
    /**
    *
    */
    @NotNull(message="[]不能为空")
    @ApiModelProperty("主键")
    private Integer id;
    /**
     * ç™»è®°äºº
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("登记人")
    @Length(max= 255,message="编码长度不能超过255")
    @ValueTableShow(1)
    private String registrant;
    /**
    * éƒ¨é—¨
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("部门")
    @Length(max= 255,message="编码长度不能超过255")
    @ValueTableShow(2)
    private String department;
    /**
     * è´¦æˆ·å
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("账户名")
    @Length(max= 255,message="编码长度不能超过255")
    @ValueTableShow(3)
    private String name;
    /**
    * æ¸ é“
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("渠道")
    @Length(max= 255,message="编码长度不能超过255")
    @ValueTableShow(4)
    private String channel;
    /**
     * é¡¹ç›®
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("项目")
    @Length(max= 255,message="编码长度不能超过255")
    @ValueTableShow(5)
    private String product;
    /**
    * å±•现量
    */
    @ApiModelProperty("展现量")
    @ValueTableShow(6)
    private Integer show;
    /**
    * ç‚¹å‡»é‡
    */
    @ApiModelProperty("点击量")
    @ValueTableShow(7)
    private Integer click;
    /**
    * è´¦æˆ·æ¶ˆè´¹
    */
    @ApiModelProperty("账户消费")
    @ValueTableShow(8)
    private BigDecimal accountConsumption;
    /**
    * å®¢æˆ·è¿”点消费
    */
    @ApiModelProperty("客户返点消费")
    @ValueTableShow(9)
    private BigDecimal rebateConsumption;
    /**
    * æ¶ˆè´¹
    */
    @ApiModelProperty("消费")
    @ValueTableShow(10)
    private BigDecimal consumption;
    /**
    * æŠ˜åŽæ¶ˆè´¹
    */
    @ApiModelProperty("折后消费")
    @ValueTableShow(11)
    private BigDecimal discountedConsumption;
    /**
    * è¿›ç²‰
    */
    @ApiModelProperty("进粉")
    @ValueTableShow(12)
    private Integer fansAdd;
    /**
    * å®žé™…成本
    */
    @ApiModelProperty("实际成本")
    @ValueTableShow(13)
    private BigDecimal actualCost;
    /**
    * å†…部成本
    */
    @ApiModelProperty("内部成本")
    @ValueTableShow(14)
    private BigDecimal internalCosts;
    /**
    * å®¢æˆ·æˆæœ¬
    */
    @ApiModelProperty("客户成本")
    @ValueTableShow(15)
    private BigDecimal customerCosts;
    /**
    * åˆ©æ¶¦
    */
    @ApiModelProperty("利润")
    @ValueTableShow(16)
    private BigDecimal profit;
    /**
    * ä»£ç†è¿”点
    */
    @ApiModelProperty("代理返点")
    @ValueTableShow(17)
    private BigDecimal agentRebate;
    /**
    * å®¢æˆ·è¿”点
    */
    @ApiModelProperty("客户返点")
    @ValueTableShow(18)
    private BigDecimal customerRebate;
    /**
    * å¤‡ç”¨å­—段
    */
    @ApiModelProperty("备用字段")
    @ValueTableShow(23)
    private BigDecimal remark;
    /**
    *
    */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ValueTableShow(20)
    private LocalDateTime createTime;
    /**
    *
    */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ValueTableShow(21)
    private LocalDateTime updateTime;
    /**
    *
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("创建用户")
    @Length(max= 255,message="编码长度不能超过255")
    private String createUser;
    /**
    *
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("更新用户")
    @Length(max= 255,message="编码长度不能超过255")
    private String updateUser;
}
data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.pojo.DataReporting;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* @author Administrator
* @description é’ˆå¯¹è¡¨ã€data_reporting(数据上报)】的数据库操作Service
* @createDate 2023-12-23 10:39:43
*/
public interface DataReportingService extends IService<DataReporting> {
    Map<String, Object> selectUserList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto);
    int updateDataReporting(DataReporting dataReporting);
}
data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.pojo.DataReporting;
import com.yuanchu.mom.service.DataReportingService;
import com.yuanchu.mom.mapper.DataReportingMapper;
import com.yuanchu.mom.utils.QueryWrappers;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.HashMap;
import java.util.Map;
/**
* @author Administrator
* @description é’ˆå¯¹è¡¨ã€data_reporting(数据上报)】的数据库操作Service实现
* @createDate 2023-12-23 10:39:43
*/
@Service
@AllArgsConstructor
public class DataReportingServiceImpl extends ServiceImpl<DataReportingMapper, DataReporting>
    implements DataReportingService{
    private DataReportingMapper dataReportingMapper;
    @Override
    public Map<String, Object> selectUserList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) {
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(DataReportingPageDto.class));
        map.put("body", dataReportingMapper.selectDataReportingDtoPageList(page, QueryWrappers.queryWrappers(dataReportingPageDto)));
        return map;
    }
    @Override
    public int updateDataReporting(DataReporting dataReporting) {
        DataReporting dataReporting2 = new DataReporting();
        dataReporting2.setId(dataReporting.getId());
        dataReporting2.setInternalCosts(dataReporting.getInternalCosts());
        dataReporting2.setCustomerCosts(dataReporting.getCustomerCosts());
        dataReporting2.setCustomerRebate(dataReporting.getCustomerRebate());
        dataReporting2.setRemark(dataReporting.getRemark());
        dataReporting2.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP));
        dataReporting2.setConsumption(dataReporting.getCustomerCosts().multiply(BigDecimal.valueOf(dataReporting.getFansAdd())));
        System.out.println(dataReporting2);
        return dataReportingMapper.updateById(dataReporting2);
    }
}
data-server/src/main/resources/mapper/DataReportingMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.DataReportingMapper">
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DataReporting">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="department" column="department" jdbcType="VARCHAR"/>
            <result property="registrant" column="registrant" jdbcType="VARCHAR"/>
            <result property="product" column="product" jdbcType="VARCHAR"/>
            <result property="channel" column="channel" jdbcType="VARCHAR"/>
            <result property="name" column="name" jdbcType="VARCHAR"/>
            <result property="show" column="show" jdbcType="INTEGER"/>
            <result property="click" column="click" jdbcType="INTEGER"/>
            <result property="accountConsumption" column="account_consumption" jdbcType="DECIMAL"/>
            <result property="rebateConsumption" column="rebate_consumption" jdbcType="DECIMAL"/>
            <result property="consumption" column="consumption" jdbcType="DECIMAL"/>
            <result property="discountedConsumption" column="discounted_consumption" jdbcType="DECIMAL"/>
            <result property="fansAdd" column="fans_add" jdbcType="INTEGER"/>
            <result property="actualCost" column="actual_cost" jdbcType="DECIMAL"/>
            <result property="internalCosts" column="internal_costs" jdbcType="DECIMAL"/>
            <result property="customerCosts" column="customer_costs" jdbcType="DECIMAL"/>
            <result property="profit" column="profit" jdbcType="DECIMAL"/>
            <result property="agentRebate" column="agent_rebate" jdbcType="DECIMAL"/>
            <result property="customerRebate" column="customer_rebate" jdbcType="DECIMAL"/>
            <result property="remark" column="remark" jdbcType="DECIMAL"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
            <result property="createUser" column="create_user" jdbcType="VARCHAR"/>
            <result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,department,registrant,
        product,channel,name,
        show,click,account_consumption,
        rebate_consumption,consumption,discounted_consumption,
        fans_add,actual_cost,internal_costs,
        customer_costs,profit,agent_rebate,
        customer_rebate,remark,create_time,
        update_time,create_user,update_user
    </sql>
    <select id="selectDataReportingDtoPageList" resultType="com.yuanchu.mom.dto.DataReportingPageDto">
        select * from (
        select dr.*,u1.name create_user_name,u2.name update_user_name from data_reporting dr
                    left join user u1 on dr.create_user = u1.id
                    left join user u2 on dr.update_user = u2.id
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
</mapper>