Quellcode durchsuchen

对账单相关代码生成

skyline vor 2 Jahren
Ursprung
Commit
aae74c820f

+ 51 - 0
admin/src/main/java/com/kym/admin/controller/InvestorInfoController.java

@@ -0,0 +1,51 @@
+package com.kym.admin.controller;
+
+import com.kym.common.R;
+import com.kym.entity.admin.InvestorInfo;
+import com.kym.entity.admin.queryParams.CommonQueryParam;
+import com.kym.service.admin.InvestorInfoService;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 投资者-物业信息表 前端控制器
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+@RestController
+@RequestMapping("/investorInfo")
+public class InvestorInfoController {
+
+    private InvestorInfoService investorInfoService;
+
+    public InvestorInfoController(InvestorInfoService investorInfoService) {
+        this.investorInfoService = investorInfoService;
+    }
+
+    /**
+     * 新增
+     *
+     * @param investorInfo
+     */
+    @PostMapping("/create")
+    R<?> create(@RequestBody InvestorInfo investorInfo) {
+        investorInfoService.save(investorInfo);
+        return R.success();
+    }
+
+    // 修改
+    @PostMapping("/update")
+    R<?> update(@RequestBody InvestorInfo investorInfo) {
+        investorInfoService.updateById(investorInfo);
+        return R.success();
+    }
+
+    // 查询详情
+    @GetMapping("/list")
+    R<?> list(@ModelAttribute CommonQueryParam params) {
+        return R.success(investorInfoService.list(params));
+    }
+
+}

+ 35 - 0
admin/src/main/java/com/kym/admin/controller/StatementsController.java

@@ -0,0 +1,35 @@
+package com.kym.admin.controller;
+
+import com.kym.common.R;
+import com.kym.entity.admin.Statements;
+import com.kym.service.admin.StatementsService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 客户对账单 前端控制器
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+@RestController
+@RequestMapping("/statements")
+public class StatementsController {
+
+    private  final StatementsService statementsService;
+
+    public StatementsController(StatementsService statementsService) {
+        this.statementsService = statementsService;
+    }
+
+    @PostMapping("/create")
+    R<?> create(@RequestBody Statements statements) {
+        statementsService.createStatements(statements);
+        return R.success();
+    }
+
+}

+ 78 - 0
entity/src/main/java/com/kym/entity/admin/InvestorInfo.java

@@ -0,0 +1,78 @@
+package com.kym.entity.admin;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.kym.entity.BaseEntity;
+import java.io.Serializable;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 投资者-物业信息表
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+@Getter
+@Setter
+@TableName("t_investor_info")
+public class InvestorInfo extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 客户用户id
+     */
+    private Long adminUserId;
+
+    /**
+     * 客户姓名
+     */
+    private String adminUserName;
+
+    /**
+     * 站点id
+     */
+    private String stationId;
+
+    /**
+     * 增值税率 0.06表示6%
+     */
+    private Double vatRate;
+
+    /**
+     * 分成比例 0.45表示45%
+     */
+    private Double splittingProportion;
+
+    /**
+     * 账户名
+     */
+    private String accountName;
+
+    /**
+     * 电话号码
+     */
+    private String telephone;
+
+    /**
+     * 开户行名称
+     */
+    private String bankName;
+
+    /**
+     * 银行卡号
+     */
+    private String bankCardNo;
+
+    /**
+     * 状态:0-无效,1-有效
+     */
+    private Byte status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 146 - 0
entity/src/main/java/com/kym/entity/admin/Statements.java

@@ -0,0 +1,146 @@
+package com.kym.entity.admin;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.kym.entity.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 客户对账单
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+@Getter
+@Setter
+@TableName("t_statements")
+@Accessors(chain = true)
+public class Statements extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 客户用户id
+     */
+    private Long adminUserId;
+
+    /**
+     * 客户姓名
+     */
+    private String adminUserName;
+
+    /**
+     * 站点id
+     */
+    private String stationId;
+
+    /**
+     * 站点名称
+     */
+    private String stationName;
+
+    /**
+     * 开始时间
+     */
+    private LocalDateTime startTime;
+
+    /**
+     * 结束时间
+     */
+    private LocalDateTime endTime;
+
+    /**
+     * 订单电量
+     */
+    private Double totalPower;
+
+    /**
+     * 实际抄表电量
+     */
+    private Double actualPower;
+
+    /**
+     * 电损电量
+     */
+    private Double elecLossPower;
+
+    /**
+     * 订单金额(分)
+     */
+    private Integer totalMoney;
+
+    /**
+     * 订单电费金额(分)
+     */
+    private Integer elecMoney;
+
+    /**
+     * 实际抄表电费金额(分)
+     */
+    private Integer actualElecMoney;
+
+    /**
+     * 电损电费金额(分)
+     */
+    private Integer elecLossMoney;
+
+    /**
+     * 服务费金额(分)
+     */
+    private Integer serviceMoney;
+
+    /**
+     * 优惠金额(分)
+     */
+    private Integer discountAmount;
+
+    /**
+     * 服务费优惠金额(分)
+     */
+    private Integer serviceMoneyDiscount;
+
+    /**
+     * 实际参与分成的服务费(分)
+     */
+    private Integer actualServiceMoney;
+
+    /**
+     * 分成比例 0.45表示45%
+     */
+    private Double splittingProportion;
+
+    /**
+     * 分成金额(分)
+     */
+    private Integer splittingAmount;
+
+    /**
+     * 增值税率 0.06表示6%
+     */
+    private Double vatRate;
+
+    /**
+     * 增值税额(分)
+     */
+    private Integer vatAmount;
+
+    /**
+     * 实际分成金额
+     */
+    private Integer actualSplittingAmount;
+
+    /**
+     * 状态:0-无效,1-有效
+     */
+    private Byte status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 16 - 0
mapper/src/main/java/com/kym/mapper/admin/InvestorInfoMapper.java

@@ -0,0 +1,16 @@
+package com.kym.mapper.admin;
+
+import com.kym.entity.admin.InvestorInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 投资者-物业信息表 Mapper 接口
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+public interface InvestorInfoMapper extends BaseMapper<InvestorInfo> {
+
+}

+ 16 - 0
mapper/src/main/java/com/kym/mapper/admin/StatementsMapper.java

@@ -0,0 +1,16 @@
+package com.kym.mapper.admin;
+
+import com.kym.entity.admin.Statements;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 客户对账单 Mapper 接口
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+public interface StatementsMapper extends BaseMapper<Statements> {
+
+}

+ 28 - 0
mapper/src/main/resources/mappers/admin/InvestorInfoMapper.xml

@@ -0,0 +1,28 @@
+<?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.kym.mapper.admin.InvestorInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.kym.entity.admin.InvestorInfo">
+        <result column="id" property="id" />
+        <result column="admin_user_id" property="adminUserId" />
+        <result column="admin_user_name" property="adminUserName" />
+        <result column="station_id" property="stationId" />
+        <result column="vat_rate" property="vatRate" />
+        <result column="splitting_proportion" property="splittingProportion" />
+        <result column="account_name" property="accountName" />
+        <result column="telephone" property="telephone" />
+        <result column="bank_name" property="bankName" />
+        <result column="bank_card_no" property="bankCardNo" />
+        <result column="status" property="status" />
+        <result column="remark" property="remark" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id,admin_user_id, admin_user_name, station_id, vat_rate, splitting_proportion, account_name, telephone, bank_name, bank_card_no, status, remark,create_time,update_time
+    </sql>
+
+</mapper>

+ 38 - 0
mapper/src/main/resources/mappers/admin/StatementsMapper.xml

@@ -0,0 +1,38 @@
+<?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.kym.mapper.admin.StatementsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.kym.entity.admin.Statements">
+        <result column="admin_user_id" property="adminUserId" />
+        <result column="admin_user_name" property="adminUserName" />
+        <result column="station_id" property="stationId" />
+        <result column="station_name" property="stationName" />
+        <result column="start_time" property="startTime" />
+        <result column="end_time" property="endTime" />
+        <result column="total_power" property="totalPower" />
+        <result column="actual_power" property="actualPower" />
+        <result column="elec_loss_power" property="elecLossPower" />
+        <result column="total_money" property="totalMoney" />
+        <result column="elec_money" property="elecMoney" />
+        <result column="actual_elec_money" property="actualElecMoney" />
+        <result column="elec_loss_money" property="elecLossMoney" />
+        <result column="service_money" property="serviceMoney" />
+        <result column="discount_amount" property="discountAmount" />
+        <result column="service_money_discount" property="serviceMoneyDiscount" />
+        <result column="actual_service_money" property="actualServiceMoney" />
+        <result column="splitting_proportion" property="splittingProportion" />
+        <result column="splitting_amount" property="splittingAmount" />
+        <result column="vat_rate" property="vatRate" />
+        <result column="vat_amount" property="vatAmount" />
+        <result column="actual_splitting_amount" property="actualSplittingAmount" />
+        <result column="status" property="status" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        admin_user_id, admin_user_name, station_id, station_name, start_time, end_time, total_power, actual_power, elec_loss_power, total_money, elec_money, actual_elec_money, elec_loss_money, service_money, discount_amount, service_money_discount, actual_service_money, splitting_proportion, splitting_amount, vat_rate, vat_amount, actual_splitting_amount, status, remark
+    </sql>
+
+</mapper>

+ 20 - 0
service/src/main/java/com/kym/service/admin/InvestorInfoService.java

@@ -0,0 +1,20 @@
+package com.kym.service.admin;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kym.entity.admin.InvestorInfo;
+import com.kym.entity.admin.queryParams.CommonQueryParam;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 投资者-物业信息表 服务类
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+public interface InvestorInfoService extends IService<InvestorInfo> {
+
+    List<InvestorInfo> list(CommonQueryParam params);
+}

+ 17 - 0
service/src/main/java/com/kym/service/admin/StatementsService.java

@@ -0,0 +1,17 @@
+package com.kym.service.admin;
+
+import com.kym.entity.admin.Statements;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 客户对账单 服务类
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+public interface StatementsService extends IService<Statements> {
+
+    void createStatements(Statements statements);
+}

+ 0 - 5
service/src/main/java/com/kym/service/admin/impl/ActivityServiceImpl.java

@@ -45,11 +45,6 @@ import static com.kym.entity.admin.Activity.DISCOUNT_TYPE_服务费折扣权益;
 @Slf4j
 public class ActivityServiceImpl extends MPJBaseServiceImpl<ActivityMapper, Activity> implements ActivityService {
 
-    /**
-     * 线程池
-     */
-    private final ExecutorService executor = Executors.newFixedThreadPool(2);
-
     private final ActivityStationService activityStationService;
     private final RechargeRightsService rechargeRightsService;
     private final UserRechargeRightsService userRechargeRightsService;

+ 33 - 0
service/src/main/java/com/kym/service/admin/impl/InvestorInfoServiceImpl.java

@@ -0,0 +1,33 @@
+package com.kym.service.admin.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.kym.common.utils.CommUtil;
+import com.kym.entity.admin.InvestorInfo;
+import com.kym.entity.admin.queryParams.CommonQueryParam;
+import com.kym.mapper.admin.InvestorInfoMapper;
+import com.kym.service.admin.InvestorInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 投资者-物业信息表 服务实现类
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+@Service
+@DS("db-admin")
+public class InvestorInfoServiceImpl extends ServiceImpl<InvestorInfoMapper, InvestorInfo> implements InvestorInfoService {
+
+    @Override
+    public List<InvestorInfo> list(CommonQueryParam params) {
+        return lambdaQuery()
+                .like(CommUtil.isEmptyOrNull(params.getMobilePhone()),InvestorInfo::getTelephone, params.getMobilePhone())
+                .like(CommUtil.isEmptyOrNull(params.getUsername()),InvestorInfo::getAdminUserName, params.getUsername())
+                .list();
+    }
+}

+ 40 - 0
service/src/main/java/com/kym/service/admin/impl/StatementsServiceImpl.java

@@ -0,0 +1,40 @@
+package com.kym.service.admin.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kym.entity.admin.InvestorInfo;
+import com.kym.entity.admin.Statements;
+import com.kym.mapper.admin.StatementsMapper;
+import com.kym.service.admin.InvestorInfoService;
+import com.kym.service.admin.StatementsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 客户对账单 服务实现类
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-12-27
+ */
+@Service
+@DS("db-admin")
+public class StatementsServiceImpl extends ServiceImpl<StatementsMapper, Statements> implements StatementsService {
+
+    private final InvestorInfoService investorInfoService;
+
+    public StatementsServiceImpl(InvestorInfoService investorInfoService) {
+        this.investorInfoService = investorInfoService;
+    }
+
+    @Override
+    public void createStatements(Statements statements) {
+        var investmentInfo = investorInfoService.lambdaQuery().eq(InvestorInfo::getAdminUserId, statements.getAdminUserId()).one();
+        statements.setAdminUserName(investmentInfo.getAdminUserName())
+               .setStationId(statements.getStationId())
+                .setStationName(statements.getStationName())
+                .setVatRate(investmentInfo.getVatRate())
+                .setSplittingProportion(investmentInfo.getSplittingProportion());
+        // TODO: 2023-12-28 其他数据字段填充 
+    }
+}