Browse Source

1.增加用户商户授信账单列表
2.增加用户商户授信三级账明细列表

FengChaoYu 1 week ago
parent
commit
4a096af8b8

+ 0 - 13
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/user/UserCompanyCreditBean.java

@@ -1,13 +0,0 @@
-package com.gree.mall.miniapp.bean.user;
-
-import com.gree.mall.miniapp.plus.entity.UserCompanyCredit;
-import io.swagger.annotations.ApiModel;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class UserCompanyCreditBean extends UserCompanyCredit {
-
-
-}

+ 21 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/enums/TransactionTypeEnum.java

@@ -0,0 +1,21 @@
+package com.gree.mall.miniapp.enums;
+
+
+import com.gree.mall.miniapp.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum TransactionTypeEnum implements BaseEnum {
+    CONSUMPTION ("CONSUMPTION","消费"),
+    REPAYMENT("REPAYMENT","还款"),
+    REFUND("REFUND","退款"),
+    ;
+
+
+    private final String key;
+    private final String remark;
+
+}

+ 53 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/user/UserCompanyCreditBillItemVO.java

@@ -0,0 +1,53 @@
+package com.gree.mall.manager.bean.user;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.TransactionTypeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel
+@ZfireField(tbName = "a")
+public class UserCompanyCreditBillItemVO {
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "id")
+    private String id;
+
+    @ApiModelProperty(value = "企业名称")
+    private String companyWechatName;
+
+    @ApiModelProperty(value = "账单编号")
+    private String userCompanyCreditBillId;
+
+    @ApiModelProperty(value = "订单id")
+    private String orderId;
+
+    @ApiModelProperty(value = "交易金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "交易类型")
+    private TransactionTypeEnum transactionType;
+
+    @ApiModelProperty(value = "交易描述")
+    private String description;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+
+    @ZfireField(tbName = "b", colName = "nick_name")
+    @ApiModelProperty(value = "授信用户名称")
+    private String nickName;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "企业微信id")
+    private String companyWechatId;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+}

+ 60 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/user/UserCompanyCreditBillVO.java

@@ -0,0 +1,60 @@
+package com.gree.mall.manager.bean.user;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.plus.entity.UserCompanyCreditBill;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel
+@ZfireField(tbName = "a")
+public class UserCompanyCreditBillVO {
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "id")
+    private String id;
+
+    @ApiModelProperty(value = "账单编号")
+    private String billId;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+
+    @ZfireField(tbName = "b", colName = "nick_name")
+    @ApiModelProperty(value = "授信用户名称")
+    private String nickName;
+
+    @ApiModelProperty(value = "企业名称")
+    private String companyWechatName;
+
+    @ApiModelProperty(value = "账单总金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "剩余未还金额")
+    private BigDecimal remainingAmount;
+
+    @ApiModelProperty(value = "账单创建日期")
+    private Date createDate;
+
+    @ApiModelProperty(value = "账单到期日期")
+    private Date dueDate;
+
+    @ApiModelProperty(value = "是否已支付 1=是 0=否")
+    private Boolean isPaid;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+}

+ 18 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/CommonMapper.java

@@ -24,6 +24,8 @@ import com.gree.mall.manager.bean.settle.SettleExpenseVO;
 import com.gree.mall.manager.bean.settle.SettleMonthWagesVO;
 import com.gree.mall.manager.bean.settle.SettleMonthWagesWorkerVO;
 import com.gree.mall.manager.bean.settle.repair.*;
+import com.gree.mall.manager.bean.user.UserCompanyCreditBillItemVO;
+import com.gree.mall.manager.bean.user.UserCompanyCreditBillVO;
 import com.gree.mall.manager.bean.workorder.*;
 import com.gree.mall.manager.enums.UserTypeEnum;
 import com.gree.mall.manager.zfire.bean.WorkerParamBean;
@@ -578,4 +580,20 @@ public interface CommonMapper {
      * @return
      */
     IPage<OrderPickTimeConfigVO> orderPickTimeConfigList2(Page page, @Param("ex") ZfireParamBean zfireParamBean);
+
+    /**
+     * 用户商户授信账单列表
+     * @param page
+     * @param zfireParamBean
+     * @return
+     */
+    IPage<UserCompanyCreditBillVO> userCompanyCreditBillPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
+
+    /**
+     * 用户商户授信账单三级账明细列表
+     * @param page
+     * @param zfireParamBean
+     * @return
+     */
+    IPage<UserCompanyCreditBillItemVO> userCompanyCreditBillItemPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
 }

+ 79 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/member/UserCompanyCreditController.java

@@ -0,0 +1,79 @@
+package com.gree.mall.manager.controller.member;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.listvo.UserCustomerVO;
+import com.gree.mall.manager.bean.user.UserCompanyCreditBillItemVO;
+import com.gree.mall.manager.bean.user.UserCompanyCreditBillVO;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.user.UserCompanyCreditLogic;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+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;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Slf4j
+@RestController
+@Api(value = "用户商户授信账单API", tags = {"用户商户授信账单API"})
+@RequestMapping(value = "/user/company/credit/bill", produces = "application/json; charset=utf-8")
+public class UserCompanyCreditController {
+
+    @Resource
+    UserCompanyCreditLogic userCompanyCreditLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "账单列表")
+    public ResponseHelper<IPage<UserCompanyCreditBillVO>> list(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) {
+        IPage<UserCompanyCreditBillVO> page = userCompanyCreditLogic.list(zfireParamBean);
+        return ResponseHelper.success(page, new TypeReference<UserCompanyCreditBillVO>() {});
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation(value = "账单列表-导出")
+    public void listExport(
+            @RequestBody ZfireParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        //2.查询要导出的内容
+        IPage<UserCompanyCreditBillVO> page = userCompanyCreditLogic.list(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(page.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+
+    @ZfireList
+    @PostMapping("/acc/list")
+    @ApiOperation(value = "授信记录列表")
+    public ResponseHelper<IPage<UserCompanyCreditBillItemVO>> accList(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) {
+        IPage<UserCompanyCreditBillItemVO> page = userCompanyCreditLogic.accList(zfireParamBean);
+        return ResponseHelper.success(page, new TypeReference<UserCompanyCreditBillItemVO>() {});
+    }
+
+    @PostMapping("/acc/list/export")
+    @ApiOperation(value = "授信记录列表-导出")
+    public void accListExport(
+            @RequestBody ZfireParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        //2.查询要导出的内容
+        IPage<UserCompanyCreditBillItemVO> page = userCompanyCreditLogic.accList(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(page.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+}

+ 21 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/TransactionTypeEnum.java

@@ -0,0 +1,21 @@
+package com.gree.mall.manager.enums;
+
+
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum TransactionTypeEnum implements BaseEnum {
+    CONSUMPTION ("CONSUMPTION","消费"),
+    REPAYMENT("REPAYMENT","还款"),
+    REFUND("REFUND","退款"),
+    ;
+
+
+    private final String key;
+    private final String remark;
+
+}

+ 41 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/user/UserCompanyCreditLogic.java

@@ -0,0 +1,41 @@
+package com.gree.mall.manager.logic.user;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.user.UserCompanyCreditBillItemVO;
+import com.gree.mall.manager.bean.user.UserCompanyCreditBillVO;
+import com.gree.mall.manager.commonmapper.CommonMapper;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class UserCompanyCreditLogic {
+
+    private final CommonMapper commonMapper;
+    private final CommonLogic commonLogic;
+
+    public IPage<UserCompanyCreditBillVO> list(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        zfireParamBean.setCompanyWechatId(adminUser.getCompanyWechatId());
+        FieldUtils.supplyParam(zfireParamBean, UserCompanyCreditBillVO.class);
+
+        IPage<UserCompanyCreditBillVO> page = commonMapper.userCompanyCreditBillPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+        return page;
+    }
+
+    public IPage<UserCompanyCreditBillItemVO> accList(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        zfireParamBean.setCompanyWechatId(adminUser.getCompanyWechatId());
+        FieldUtils.supplyParam(zfireParamBean, UserCompanyCreditBillItemVO.class);
+
+        IPage<UserCompanyCreditBillItemVO> page = commonMapper.userCompanyCreditBillItemPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+        return page;
+    }
+}

+ 25 - 0
mall-server-api/src/main/resources/mapper/CommonMapper.xml

@@ -1107,4 +1107,29 @@
         ${ex.orderBy}
     </select>
 
+    <select id="userCompanyCreditBillPage"
+            resultType="com.gree.mall.manager.bean.user.UserCompanyCreditBillVO">
+        SELECT
+        ${ex.selected},
+        b.nick_name
+        FROM user_company_credit_bill a LEFT JOIN user b ON a.user_id = b.user_id
+        ${ex.query}
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.id DESC
+        </if>
+        ${ex.orderBy}
+    </select>
+    <select id="userCompanyCreditBillItemPage"
+            resultType="com.gree.mall.manager.bean.user.UserCompanyCreditBillItemVO">
+        SELECT
+        ${ex.selected},
+        b.nick_name
+        FROM user_company_credit_bill_item a LEFT JOIN user b ON a.user_id = b.user_id
+        ${ex.query}
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.id DESC
+        </if>
+        ${ex.orderBy}
+    </select>
+
 </mapper>