Browse Source

支付商户管理

FengChaoYu 10 months ago
parent
commit
d263947d8b

+ 59 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/admin/AdminCompanyPayConfigVO.java

@@ -0,0 +1,59 @@
+package com.gree.mall.manager.bean.admin;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.StatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ZfireField(tbName = "a")
+public class AdminCompanyPayConfigVO {
+
+    @ZfireField(hide = true)
+    private String id;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "企业的微信配置id")
+    private String companyWechatId;
+
+    @ApiModelProperty(value = "所属商户")
+    private String companyName;
+
+    @ApiModelProperty(value = "电子商户名称")
+    private String payMerchantName;
+
+    @ApiModelProperty(value = "appid")
+    private String appId;
+
+    @ApiModelProperty(value = "子appid")
+    private String subAppId;
+
+    @ApiModelProperty(value = "商户号")
+    private String mchId;
+
+    @ApiModelProperty(value = "子商户号")
+    private String subMchId;
+
+    @ApiModelProperty(value = "Key")
+    private String mchKey;
+
+    @ApiModelProperty(value = "支付说明")
+    private String remark;
+
+    @ApiModelProperty(value = "状态")
+    private StatusEnum status;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "修改人")
+    private String updateBy;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+}

+ 9 - 1
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/CommonMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.annotation.DataPermission;
 import com.gree.mall.manager.bean.activity.PromotionActivityVO;
+import com.gree.mall.manager.bean.admin.AdminCompanyPayConfigVO;
 import com.gree.mall.manager.bean.charging.ChargingStandardBean;
 import com.gree.mall.manager.bean.common.AmityUrlVO;
 import com.gree.mall.manager.bean.engin.OrderEnginBaseVO;
@@ -611,4 +612,11 @@ public interface CommonMapper {
      */
     List<EsGoodsMessageVO> esGoodsMessageList(@Param("id") String id);
 
- }
+    /**
+     * 商户支付配置
+     * @param page
+     * @param zfireParamBean
+     * @return
+     */
+    IPage<AdminCompanyPayConfigVO> adminCompanyPayConfigList(Page page, @Param("ex") ZfireParamBean zfireParamBean);
+}

+ 71 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/admin/AdminCompanyPayConfigController.java

@@ -0,0 +1,71 @@
+package com.gree.mall.manager.controller.admin;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.admin.AdminCompanyPayConfigVO;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.admin.AdminCompanyPayConfigLogic;
+import com.gree.mall.manager.plus.entity.AdminCompanyWechatPayConfig;
+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 io.swagger.annotations.ApiParam;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@RestController
+@Api(value = "商户支付配置", tags = {"商户支付配置"})
+@RequestMapping(value = "/admin/company/pay/config", produces = "application/json; charset=utf-8")
+public class AdminCompanyPayConfigController {
+
+    @Resource
+    AdminCompanyPayConfigLogic adminCompanyPayConfigLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "列表")
+    public ResponseHelper<Page<AdminCompanyPayConfigVO>> list(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) {
+        IPage<AdminCompanyPayConfigVO> vo = adminCompanyPayConfigLogic.list(zfireParamBean);
+        return ResponseHelper.success(vo, new TypeReference<AdminCompanyPayConfigVO>() {});
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation(value = "导出")
+    public void listExport(@RequestBody ZfireParamBean zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        //1.组装查询条件
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        //2.查询要导出的内容
+        IPage<AdminCompanyPayConfigVO> page = adminCompanyPayConfigLogic.list(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(page.getRecords(), zfireParam.getExportFields(), request, response);
+    }
+
+    @PostMapping("/detail")
+    @ApiOperation(value = "详情")
+    public ResponseHelper<AdminCompanyWechatPayConfig> detail(
+            @ApiParam(value = "id", required = true) @RequestParam String id
+    ) throws RemoteServiceException {
+        AdminCompanyWechatPayConfig bean = adminCompanyPayConfigLogic.detail(id);
+        return ResponseHelper.success(bean);
+    }
+
+    @PostMapping("/save")
+    @ApiOperation(value = "保存")
+    public ResponseHelper save(
+            @RequestBody AdminCompanyWechatPayConfig bean
+    ) throws Exception {
+
+        adminCompanyPayConfigLogic.save(bean);
+
+        return ResponseHelper.success();
+    }
+}

+ 84 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminCompanyPayConfigLogic.java

@@ -0,0 +1,84 @@
+package com.gree.mall.manager.logic.admin;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.bean.admin.AdminCompanyPayConfigVO;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.commonmapper.CommonMapper;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.AdminCompanyWechat;
+import com.gree.mall.manager.plus.entity.AdminCompanyWechatPayConfig;
+import com.gree.mall.manager.plus.service.AdminCompanyWechatPayConfigService;
+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.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Objects;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class AdminCompanyPayConfigLogic {
+
+    private final CommonMapper commonMapper;
+    private final CommonLogic commonLogic;
+    private final AdminCompanyWechatPayConfigService adminCompanyWechatPayConfigService;
+
+
+    public IPage<AdminCompanyPayConfigVO> list(ZfireParamBean zfireParamBean) {
+        FieldUtils.supplyParam(zfireParamBean, AdminCompanyPayConfigVO.class, commonLogic.getAdminUser());
+        IPage<AdminCompanyPayConfigVO> page = commonMapper.adminCompanyPayConfigList(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+
+        return page;
+    }
+
+    public AdminCompanyWechatPayConfig detail(String id) {
+        return adminCompanyWechatPayConfigService.getById(id);
+    }
+
+    @Transactional
+    public void save(AdminCompanyWechatPayConfig bean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        AdminCompanyWechat companyWechat = adminUser.getAdminCompanyWechat();
+
+        bean.setCompanyWechatId(companyWechat.getCompanyWechatId());
+        bean.setCompanyName(companyWechat.getCompanyName());
+
+        if (StringUtils.isNotBlank(bean.getPayMerchantName())) {
+            throw new RemoteServiceException("电子商户名称不能为空");
+        }
+
+        if (StringUtils.isNotBlank(bean.getAppId())) {
+            throw new RemoteServiceException("appid不能为空");
+        }
+
+        if (StringUtils.isNotBlank(bean.getMchId())) {
+            throw new RemoteServiceException("mchid不能为空");
+        }
+
+        if (StringUtils.isNotBlank(bean.getSubMchId())) {
+            throw new RemoteServiceException("子商户mchid不能为空");
+        }
+
+        if (StringUtils.isNotBlank(bean.getMchKey())) {
+            throw new RemoteServiceException("key不能为空");
+        }
+
+        if (Objects.isNull(bean.getStatus())) {
+            throw new RemoteServiceException("请选择状态");
+        }
+
+        if (StringUtils.isBlank(bean.getId())) {
+            bean.setId(IdWorker.getIdStr());
+        }
+
+        bean.insertOrUpdate();
+
+    }
+}

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

@@ -1013,6 +1013,19 @@
         WHERE
             a.es_goods_id = #{id}
     </select>
+    <select id="adminCompanyPayConfigList"
+            resultType="com.gree.mall.manager.bean.admin.AdminCompanyPayConfigVO">
+        SELECT
+            ${ex.selected}
+        FROM
+            admin_company_wechat_pay_config a
+        ${ex.query}
+            AND a.del = 0
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
 
 
 </mapper>