Selaa lähdekoodia

1. 分账商户信息 2.分账明细 3.优化分账业务

wjj 1 kuukausi sitten
vanhempi
commit
9fb33544d1

+ 103 - 0
fs-admin/src/main/java/com/fs/his/controller/FsAmountsShareMerchantController.java

@@ -0,0 +1,103 @@
+package com.fs.his.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.his.domain.FsAmountsShareMerchant;
+import com.fs.his.service.IFsAmountsShareMerchantService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 分账商户Controller
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+@RestController
+@RequestMapping("/his/merchant")
+public class FsAmountsShareMerchantController extends BaseController
+{
+    @Autowired
+    private IFsAmountsShareMerchantService fsAmountsShareMerchantService;
+
+    /**
+     * 查询分账商户列表
+     */
+    @PreAuthorize("@ss.hasPermi('his:merchant:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        startPage();
+        List<FsAmountsShareMerchant> list = fsAmountsShareMerchantService.selectFsAmountsShareMerchantList(fsAmountsShareMerchant);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出分账商户列表
+     */
+    @PreAuthorize("@ss.hasPermi('his:merchant:export')")
+    @Log(title = "分账商户", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        List<FsAmountsShareMerchant> list = fsAmountsShareMerchantService.selectFsAmountsShareMerchantList(fsAmountsShareMerchant);
+        ExcelUtil<FsAmountsShareMerchant> util = new ExcelUtil<FsAmountsShareMerchant>(FsAmountsShareMerchant.class);
+        return util.exportExcel(list, "分账商户数据");
+    }
+
+    /**
+     * 获取分账商户详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('his:merchant:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsAmountsShareMerchantService.selectFsAmountsShareMerchantById(id));
+    }
+
+    /**
+     * 新增分账商户
+     */
+    @PreAuthorize("@ss.hasPermi('his:merchant:add')")
+    @Log(title = "分账商户", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        return toAjax(fsAmountsShareMerchantService.insertFsAmountsShareMerchant(fsAmountsShareMerchant));
+    }
+
+    /**
+     * 修改分账商户
+     */
+    @PreAuthorize("@ss.hasPermi('his:merchant:edit')")
+    @Log(title = "分账商户", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        return toAjax(fsAmountsShareMerchantService.updateFsAmountsShareMerchant(fsAmountsShareMerchant));
+    }
+
+    /**
+     * 删除分账商户
+     */
+    @PreAuthorize("@ss.hasPermi('his:merchant:remove')")
+    @Log(title = "分账商户", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsAmountsShareMerchantService.deleteFsAmountsShareMerchantByIds(ids));
+    }
+}

+ 103 - 0
fs-admin/src/main/java/com/fs/his/controller/FsShareAmountDetailController.java

@@ -0,0 +1,103 @@
+package com.fs.his.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.his.domain.FsShareAmountDetail;
+import com.fs.his.service.IFsShareAmountDetailService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 分账明细Controller
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+@RestController
+@RequestMapping("/his/detail")
+public class FsShareAmountDetailController extends BaseController
+{
+    @Autowired
+    private IFsShareAmountDetailService fsShareAmountDetailService;
+
+    /**
+     * 查询分账明细列表
+     */
+    @PreAuthorize("@ss.hasPermi('his:detail:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsShareAmountDetail fsShareAmountDetail)
+    {
+        startPage();
+        List<FsShareAmountDetail> list = fsShareAmountDetailService.selectFsShareAmountDetailList(fsShareAmountDetail);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出分账明细列表
+     */
+    @PreAuthorize("@ss.hasPermi('his:detail:export')")
+    @Log(title = "分账明细", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsShareAmountDetail fsShareAmountDetail)
+    {
+        List<FsShareAmountDetail> list = fsShareAmountDetailService.selectFsShareAmountDetailList(fsShareAmountDetail);
+        ExcelUtil<FsShareAmountDetail> util = new ExcelUtil<FsShareAmountDetail>(FsShareAmountDetail.class);
+        return util.exportExcel(list, "分账明细数据");
+    }
+
+    /**
+     * 获取分账明细详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('his:detail:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsShareAmountDetailService.selectFsShareAmountDetailById(id));
+    }
+
+    /**
+     * 新增分账明细
+     */
+    @PreAuthorize("@ss.hasPermi('his:detail:add')")
+    @Log(title = "分账明细", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsShareAmountDetail fsShareAmountDetail)
+    {
+        return toAjax(fsShareAmountDetailService.insertFsShareAmountDetail(fsShareAmountDetail));
+    }
+
+    /**
+     * 修改分账明细
+     */
+    @PreAuthorize("@ss.hasPermi('his:detail:edit')")
+    @Log(title = "分账明细", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsShareAmountDetail fsShareAmountDetail)
+    {
+        return toAjax(fsShareAmountDetailService.updateFsShareAmountDetail(fsShareAmountDetail));
+    }
+
+    /**
+     * 删除分账明细
+     */
+    @PreAuthorize("@ss.hasPermi('his:detail:remove')")
+    @Log(title = "分账明细", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsShareAmountDetailService.deleteFsShareAmountDetailByIds(ids));
+    }
+}

+ 35 - 0
fs-service/src/main/java/com/fs/his/domain/FsAmountsShareMerchant.java

@@ -0,0 +1,35 @@
+package com.fs.his.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 分账商户对象 fs_amounts_share_merchant
+ *
+ * @author fs
+ * @date 2025-12-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsAmountsShareMerchant extends BaseEntity{
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 商户号 */
+    @Excel(name = "商户号")
+    private String merchantAccount;
+
+    /** 商户名称 */
+    @Excel(name = "商户名称")
+    private String merchantName;
+
+    /** 分账类型 1-聚水潭 2-兔灵 */
+    @Excel(name = "分账类型 1-聚水潭 2-兔灵")
+    private Integer type;
+
+
+}

+ 40 - 0
fs-service/src/main/java/com/fs/his/domain/FsShareAmountDetail.java

@@ -0,0 +1,40 @@
+package com.fs.his.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 分账明细对象 fs_share_amount_detail
+ *
+ * @author fs
+ * @date 2025-12-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsShareAmountDetail extends BaseEntity{
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 订单id */
+    @Excel(name = "订单id")
+    private Long orderId;
+
+    /** 订单号 */
+    @Excel(name = "订单号")
+    private String orderCode;
+
+    /** 商户id */
+    @Excel(name = "商户id")
+    private Long merchantId;
+
+    /** 分账金额 */
+    @Excel(name = "分账金额")
+    private BigDecimal shareAmount;
+
+
+}

+ 61 - 0
fs-service/src/main/java/com/fs/his/mapper/FsAmountsShareMerchantMapper.java

@@ -0,0 +1,61 @@
+package com.fs.his.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.his.domain.FsAmountsShareMerchant;
+
+/**
+ * 分账商户Mapper接口
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+public interface FsAmountsShareMerchantMapper extends BaseMapper<FsAmountsShareMerchant>{
+    /**
+     * 查询分账商户
+     * 
+     * @param id 分账商户主键
+     * @return 分账商户
+     */
+    FsAmountsShareMerchant selectFsAmountsShareMerchantById(Long id);
+
+    /**
+     * 查询分账商户列表
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 分账商户集合
+     */
+    List<FsAmountsShareMerchant> selectFsAmountsShareMerchantList(FsAmountsShareMerchant fsAmountsShareMerchant);
+
+    /**
+     * 新增分账商户
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 结果
+     */
+    int insertFsAmountsShareMerchant(FsAmountsShareMerchant fsAmountsShareMerchant);
+
+    /**
+     * 修改分账商户
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 结果
+     */
+    int updateFsAmountsShareMerchant(FsAmountsShareMerchant fsAmountsShareMerchant);
+
+    /**
+     * 删除分账商户
+     * 
+     * @param id 分账商户主键
+     * @return 结果
+     */
+    int deleteFsAmountsShareMerchantById(Long id);
+
+    /**
+     * 批量删除分账商户
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsAmountsShareMerchantByIds(Long[] ids);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/his/mapper/FsShareAmountDetailMapper.java

@@ -0,0 +1,61 @@
+package com.fs.his.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.his.domain.FsShareAmountDetail;
+
+/**
+ * 分账明细Mapper接口
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+public interface FsShareAmountDetailMapper extends BaseMapper<FsShareAmountDetail>{
+    /**
+     * 查询分账明细
+     * 
+     * @param id 分账明细主键
+     * @return 分账明细
+     */
+    FsShareAmountDetail selectFsShareAmountDetailById(Long id);
+
+    /**
+     * 查询分账明细列表
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 分账明细集合
+     */
+    List<FsShareAmountDetail> selectFsShareAmountDetailList(FsShareAmountDetail fsShareAmountDetail);
+
+    /**
+     * 新增分账明细
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 结果
+     */
+    int insertFsShareAmountDetail(FsShareAmountDetail fsShareAmountDetail);
+
+    /**
+     * 修改分账明细
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 结果
+     */
+    int updateFsShareAmountDetail(FsShareAmountDetail fsShareAmountDetail);
+
+    /**
+     * 删除分账明细
+     * 
+     * @param id 分账明细主键
+     * @return 结果
+     */
+    int deleteFsShareAmountDetailById(Long id);
+
+    /**
+     * 批量删除分账明细
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsShareAmountDetailByIds(Long[] ids);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/his/service/IFsAmountsShareMerchantService.java

@@ -0,0 +1,61 @@
+package com.fs.his.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.his.domain.FsAmountsShareMerchant;
+
+/**
+ * 分账商户Service接口
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+public interface IFsAmountsShareMerchantService extends IService<FsAmountsShareMerchant>{
+    /**
+     * 查询分账商户
+     * 
+     * @param id 分账商户主键
+     * @return 分账商户
+     */
+    FsAmountsShareMerchant selectFsAmountsShareMerchantById(Long id);
+
+    /**
+     * 查询分账商户列表
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 分账商户集合
+     */
+    List<FsAmountsShareMerchant> selectFsAmountsShareMerchantList(FsAmountsShareMerchant fsAmountsShareMerchant);
+
+    /**
+     * 新增分账商户
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 结果
+     */
+    int insertFsAmountsShareMerchant(FsAmountsShareMerchant fsAmountsShareMerchant);
+
+    /**
+     * 修改分账商户
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 结果
+     */
+    int updateFsAmountsShareMerchant(FsAmountsShareMerchant fsAmountsShareMerchant);
+
+    /**
+     * 批量删除分账商户
+     * 
+     * @param ids 需要删除的分账商户主键集合
+     * @return 结果
+     */
+    int deleteFsAmountsShareMerchantByIds(Long[] ids);
+
+    /**
+     * 删除分账商户信息
+     * 
+     * @param id 分账商户主键
+     * @return 结果
+     */
+    int deleteFsAmountsShareMerchantById(Long id);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/his/service/IFsShareAmountDetailService.java

@@ -0,0 +1,61 @@
+package com.fs.his.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.his.domain.FsShareAmountDetail;
+
+/**
+ * 分账明细Service接口
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+public interface IFsShareAmountDetailService extends IService<FsShareAmountDetail>{
+    /**
+     * 查询分账明细
+     * 
+     * @param id 分账明细主键
+     * @return 分账明细
+     */
+    FsShareAmountDetail selectFsShareAmountDetailById(Long id);
+
+    /**
+     * 查询分账明细列表
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 分账明细集合
+     */
+    List<FsShareAmountDetail> selectFsShareAmountDetailList(FsShareAmountDetail fsShareAmountDetail);
+
+    /**
+     * 新增分账明细
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 结果
+     */
+    int insertFsShareAmountDetail(FsShareAmountDetail fsShareAmountDetail);
+
+    /**
+     * 修改分账明细
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 结果
+     */
+    int updateFsShareAmountDetail(FsShareAmountDetail fsShareAmountDetail);
+
+    /**
+     * 批量删除分账明细
+     * 
+     * @param ids 需要删除的分账明细主键集合
+     * @return 结果
+     */
+    int deleteFsShareAmountDetailByIds(Long[] ids);
+
+    /**
+     * 删除分账明细信息
+     * 
+     * @param id 分账明细主键
+     * @return 结果
+     */
+    int deleteFsShareAmountDetailById(Long id);
+}

+ 94 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsAmountsShareMerchantServiceImpl.java

@@ -0,0 +1,94 @@
+package com.fs.his.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.his.mapper.FsAmountsShareMerchantMapper;
+import com.fs.his.domain.FsAmountsShareMerchant;
+import com.fs.his.service.IFsAmountsShareMerchantService;
+
+/**
+ * 分账商户Service业务层处理
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+@Service
+public class FsAmountsShareMerchantServiceImpl extends ServiceImpl<FsAmountsShareMerchantMapper, FsAmountsShareMerchant> implements IFsAmountsShareMerchantService {
+
+    /**
+     * 查询分账商户
+     * 
+     * @param id 分账商户主键
+     * @return 分账商户
+     */
+    @Override
+    public FsAmountsShareMerchant selectFsAmountsShareMerchantById(Long id)
+    {
+        return baseMapper.selectFsAmountsShareMerchantById(id);
+    }
+
+    /**
+     * 查询分账商户列表
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 分账商户
+     */
+    @Override
+    public List<FsAmountsShareMerchant> selectFsAmountsShareMerchantList(FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        return baseMapper.selectFsAmountsShareMerchantList(fsAmountsShareMerchant);
+    }
+
+    /**
+     * 新增分账商户
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 结果
+     */
+    @Override
+    public int insertFsAmountsShareMerchant(FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        fsAmountsShareMerchant.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsAmountsShareMerchant(fsAmountsShareMerchant);
+    }
+
+    /**
+     * 修改分账商户
+     * 
+     * @param fsAmountsShareMerchant 分账商户
+     * @return 结果
+     */
+    @Override
+    public int updateFsAmountsShareMerchant(FsAmountsShareMerchant fsAmountsShareMerchant)
+    {
+        fsAmountsShareMerchant.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsAmountsShareMerchant(fsAmountsShareMerchant);
+    }
+
+    /**
+     * 批量删除分账商户
+     * 
+     * @param ids 需要删除的分账商户主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsAmountsShareMerchantByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsAmountsShareMerchantByIds(ids);
+    }
+
+    /**
+     * 删除分账商户信息
+     * 
+     * @param id 分账商户主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsAmountsShareMerchantById(Long id)
+    {
+        return baseMapper.deleteFsAmountsShareMerchantById(id);
+    }
+}

+ 70 - 22
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -178,6 +178,12 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
 
     @Autowired
     private FsUserInformationCollectionMapper userInformationCollectionMapper;
+
+    @Autowired
+    private IFsShareAmountDetailService shareAmountDetailService;
+
+    @Autowired
+    private IFsAmountsShareMerchantService amountsShareMerchantService;
     /**
      * 查询套餐订单
      *
@@ -926,18 +932,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
             FsStorePayment storePayment = fsStorePaymentMapper.selectFsStorePaymentByPaymentCode(payCode);
             if (storePayment!=null){
                 if(storePayment.getStatus().equals(0)){
-//                    logger.info("开始确认订单..........");
-//                    HuifuOrderConfirm confirm = new HuifuOrderConfirm();
-//                    confirm.setOrgReqSeqId("package-"+payCode);
-//                    confirm.setOrgReqDate(DateTools.getCurrentDateYYYYMMDD());
-//                    confirm.setTotalAmount(storePayment.getPayMoney());
-//                    String orderCode = OrderCodeUtils.getOrderSn();
-//                    if (StringUtils.isEmpty(orderCode)) {
-//                        return R.error("订单生成失败,请重试");
-//                    }
-//                    confirm.setReqSeqId(orderCode);
-//                    result = huiFuService.confirmOrder(confirm);
-//                    logger.info("确认订单结束..........");
+
                     FsStorePayment paymentMap=new FsStorePayment();
                     paymentMap.setPaymentId(storePayment.getPaymentId());
                     paymentMap.setStatus(1);
@@ -945,15 +940,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                     paymentMap.setTradeNo(tradeNo);
                     paymentMap.setBankSerialNo(bankSerialNo);
                     paymentMap.setBankTransactionId(bankTransactionId);
-//                    if (result != null && result.getResp_code().equals("00000000") && (result.getTrans_stat().equals("S") || result.getTrans_stat().equals("P"))) {
-//                        //分账标识
-//                        paymentMap.setShareStatus(1);
-//                        paymentMap.setIsShare(1);
-//                        paymentMap.setShareCode(result.getReq_seq_id());
-//                        paymentMap.setShareDate(result.getReq_date());
-//                    }  else {
-//                        throw new CustomException("交易确认订单失败");
-//                    }
+
 
                     if(payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())){
                         paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
@@ -968,9 +955,70 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                         paymentMap.setBankSerialNo(orderResult.getBankOrderId());
                         paymentMap.setBankTransactionId(orderResult.getBankTrxId());
                     }
+
+                    order=fsPackageOrderMapper.selectFsPackageOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));
+                    FsPackage fsPackage = fsPackageMapper.selectFsPackageByPackageId(order.getPackageId());
+                    BigDecimal divAmount = null;
+                    //默认全部进入中医院
+                    BigDecimal ysyAmount = storePayment.getPayMoney();
+                    HuifuOrderConfirm confirm = new HuifuOrderConfirm();
+
+                    if (fsPackage != null) {
+                        //获取聚水潭分账商户
+                        FsAmountsShareMerchant queryMerchant = new FsAmountsShareMerchant();
+                        queryMerchant.setType(fsPackage.getErpType());
+                        List<FsAmountsShareMerchant> merchants = amountsShareMerchantService.selectFsAmountsShareMerchantList(queryMerchant);
+                        //支付金额大于等于0.1的进行分账 最低分账金额为0.1
+                        if (storePayment.getPayMoney().compareTo(new BigDecimal("0.1")) > -1) {
+                            if (fsPackage.getErpType() != null && fsPackage.getErpType() == 1) {
+                                if (merchants != null && !merchants.isEmpty()) {
+                                    int i = (int) (Math.random() * merchants.size());
+                                    FsAmountsShareMerchant merchant = merchants.get(i);
+                                    //分账商户号
+                                    confirm.setDivHfId(merchant.getMerchantAccount());
+                                    //益寿缘分账金额
+                                    ysyAmount = storePayment.getPayMoney().multiply(new BigDecimal("0.2"));
+                                    //其它商户分账金额
+                                    divAmount = storePayment.getPayMoney().subtract(ysyAmount);
+                                    //分账明细数据
+                                    FsShareAmountDetail shareAmountDetail = new FsShareAmountDetail();
+                                    shareAmountDetail.setShareAmount(divAmount);
+                                    shareAmountDetail.setMerchantId(merchant.getId());
+                                    shareAmountDetail.setOrderCode(order.getOrderSn());
+                                    shareAmountDetail.setOrderId(order.getOrderId());
+                                    //添加分账明细
+                                    shareAmountDetailService.insertFsShareAmountDetail(shareAmountDetail);
+                                }
+                            }
+                        }
+                    }
+                    logger.info("开始确认订单分账..........");
+                    confirm.setYsyDivAmt(ysyAmount);
+                    confirm.setDivAmt(divAmount);
+                    confirm.setOrgReqSeqId("store-"+payCode);
+                    confirm.setOrgReqDate(DateTools.getCurrentDateYYYYMMDD());
+                    String orderCode = OrderCodeUtils.getOrderSn();
+                    if (StringUtils.isEmpty(orderCode)) {
+                        return R.error("订单生成失败,请重试");
+                    }
+                    //中医院商户号
+                    confirm.setMainHfId("6666000175632107");
+                    confirm.setReqSeqId(orderCode);
+                    confirm.setTotalAmount(storePayment.getPayMoney());
+                    result = huiFuService.confirmOrder(confirm);
+                    logger.info("确认订单分账结束..........");
+                    if (result != null && result.getResp_code().equals("00000000") && (result.getTrans_stat().equals("S") || result.getTrans_stat().equals("P"))) {
+                        //分账标识
+                        paymentMap.setShareStatus(1);
+                        paymentMap.setIsShare(1);
+                        paymentMap.setShareDate(result.getReq_date());
+                        paymentMap.setShareCode(result.getReq_seq_id());
+                    } else {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        throw new CustomException("交易确认订单失败");
+                    }
                     logger.info("更新支付记录");
                     fsStorePaymentMapper.updateFsStorePayment(paymentMap);
-                    order=fsPackageOrderMapper.selectFsPackageOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));
                 }
             }
             else{

+ 94 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsShareAmountDetailServiceImpl.java

@@ -0,0 +1,94 @@
+package com.fs.his.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.his.mapper.FsShareAmountDetailMapper;
+import com.fs.his.domain.FsShareAmountDetail;
+import com.fs.his.service.IFsShareAmountDetailService;
+
+/**
+ * 分账明细Service业务层处理
+ * 
+ * @author fs
+ * @date 2025-12-02
+ */
+@Service
+public class FsShareAmountDetailServiceImpl extends ServiceImpl<FsShareAmountDetailMapper, FsShareAmountDetail> implements IFsShareAmountDetailService {
+
+    /**
+     * 查询分账明细
+     * 
+     * @param id 分账明细主键
+     * @return 分账明细
+     */
+    @Override
+    public FsShareAmountDetail selectFsShareAmountDetailById(Long id)
+    {
+        return baseMapper.selectFsShareAmountDetailById(id);
+    }
+
+    /**
+     * 查询分账明细列表
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 分账明细
+     */
+    @Override
+    public List<FsShareAmountDetail> selectFsShareAmountDetailList(FsShareAmountDetail fsShareAmountDetail)
+    {
+        return baseMapper.selectFsShareAmountDetailList(fsShareAmountDetail);
+    }
+
+    /**
+     * 新增分账明细
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 结果
+     */
+    @Override
+    public int insertFsShareAmountDetail(FsShareAmountDetail fsShareAmountDetail)
+    {
+        fsShareAmountDetail.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsShareAmountDetail(fsShareAmountDetail);
+    }
+
+    /**
+     * 修改分账明细
+     * 
+     * @param fsShareAmountDetail 分账明细
+     * @return 结果
+     */
+    @Override
+    public int updateFsShareAmountDetail(FsShareAmountDetail fsShareAmountDetail)
+    {
+        fsShareAmountDetail.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsShareAmountDetail(fsShareAmountDetail);
+    }
+
+    /**
+     * 批量删除分账明细
+     * 
+     * @param ids 需要删除的分账明细主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsShareAmountDetailByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsShareAmountDetailByIds(ids);
+    }
+
+    /**
+     * 删除分账明细信息
+     * 
+     * @param id 分账明细主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsShareAmountDetailById(Long id)
+    {
+        return baseMapper.deleteFsShareAmountDetailById(id);
+    }
+}

+ 83 - 37
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -63,7 +63,9 @@ import com.fs.hisapi.param.RecipeDetailParam;
 import com.fs.hisapi.service.HisApiService;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
+import com.fs.huifuPay.domain.HuifuOrderConfirm;
 import com.fs.huifuPay.domain.HuifuOrderConfirmResult;
+import com.fs.huifuPay.sdk.opps.core.utils.DateTools;
 import com.fs.huifuPay.service.HuiFuService;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
@@ -323,6 +325,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
     @Autowired
     private FsUserInformationCollectionScheduleMapper scheduleMapper;
 
+    @Autowired
+    private IFsShareAmountDetailService shareAmountDetailService;
+
+    @Autowired
+    private IFsAmountsShareMerchantService amountsShareMerchantService;
+
     //ERP 类型到服务的映射
     private Map<Integer, IErpOrderService> erpServiceMap;
     @PostConstruct
@@ -903,7 +911,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
             order.setZyyHuifuId(result.getZyzHuifuId());
             if (result.getOtherAmount() != null && result.getOtherHuifuId() != null) {
                 order.setDivHuifuId(result.getOtherHuifuId());
-                order.setZyyDivAmount(result.getOtherAmount());
+                order.setDivAmount(result.getOtherAmount());
             }
         }
         Long prescribeId =null;
@@ -1713,18 +1721,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
                 if (storePayment != null) {
                     if (storePayment.getStatus().equals(0)) {
 
-//                        log.info("开始确认订单分账..........");
-//                        HuifuOrderConfirm confirm = new HuifuOrderConfirm();
-//                        confirm.setOrgReqSeqId("store-"+payCode);
-//                        confirm.setOrgReqDate(DateTools.getCurrentDateYYYYMMDD());
-//                        String orderSn = OrderCodeUtils.getOrderSn();
-//                        if (StringUtils.isEmpty(orderSn)) {
-//                            return R.error("订单生成失败,请重试");
-//                        }
-//                        confirm.setReqSeqId(orderSn);
-//                        confirm.setTotalAmount(storePayment.getPayMoney());
-//                        result = huiFuService.confirmOrder(confirm);
-//                        log.info("确认订单分账结束..........");
 
                         log.info(payCode + "待支付");
                         FsStorePayment paymentMap = new FsStorePayment();
@@ -1734,16 +1730,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
                         paymentMap.setTradeNo(tradeNo);
                         paymentMap.setBankSerialNo(bankSerialNo);
                         paymentMap.setBankTransactionId(bankTransactionId);
-//                        if (result != null && result.getResp_code().equals("00000000") && (result.getTrans_stat().equals("S") || result.getTrans_stat().equals("P"))) {
-//                            //分账标识
-//                            paymentMap.setShareStatus(1);
-//                            paymentMap.setIsShare(1);
-//                            paymentMap.setShareDate(result.getReq_date());
-//                            paymentMap.setShareCode(result.getReq_seq_id());
-//                        } else {
-//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-//                            throw new CustomException("交易确认订单失败");
-//                        }
+
 
                         if (payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())) {
                             paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
@@ -1757,9 +1744,67 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
                             paymentMap.setBankSerialNo(orderResult.getBankOrderId());
                             paymentMap.setBankTransactionId(orderResult.getBankTrxId());
                         }
+                        order = fsStoreOrderMapper.selectFsStoreOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));
+                        log.info("订单数据{}", order);
+                        BigDecimal divAmount = null;
+                        //默认全部进入中医院
+                        BigDecimal ysyAmount = storePayment.getPayMoney();
+                        HuifuOrderConfirm confirm = new HuifuOrderConfirm();
+                        //获取聚水潭分账商户
+                        FsAmountsShareMerchant queryMerchant = new FsAmountsShareMerchant();
+                        queryMerchant.setType(order.getErpType());
+                        List<FsAmountsShareMerchant> merchants = amountsShareMerchantService.selectFsAmountsShareMerchantList(queryMerchant);
+
+                        //支付金额大于等于0.1的进行分账 最低分账金额为0.1
+                        if (storePayment.getPayMoney().compareTo(new BigDecimal("0.1")) > -1) {
+                            if (order.getErpType() != null && order.getErpType() == 1) {
+                                if (merchants != null && !merchants.isEmpty()) {
+                                    int i = (int) (Math.random() * merchants.size());
+                                    FsAmountsShareMerchant merchant = merchants.get(i);
+                                    //分账商户号
+                                    confirm.setDivHfId(merchant.getMerchantAccount());
+                                    //益寿缘分账金额
+                                    ysyAmount = storePayment.getPayMoney().multiply(new BigDecimal("0.2"));
+                                    //其它商户分账金额
+                                    divAmount = storePayment.getPayMoney().subtract(ysyAmount);
+                                    //分账明细数据
+                                    FsShareAmountDetail shareAmountDetail = new FsShareAmountDetail();
+                                    shareAmountDetail.setShareAmount(divAmount);
+                                    shareAmountDetail.setMerchantId(merchant.getId());
+                                    shareAmountDetail.setOrderCode(order.getOrderCode());
+                                    shareAmountDetail.setOrderId(order.getOrderId());
+                                    //添加分账明细
+                                    shareAmountDetailService.insertFsShareAmountDetail(shareAmountDetail);
+                                }
+                            }
+                        }
+                        log.info("开始确认订单分账..........");
+                        confirm.setYsyDivAmt(ysyAmount);
+                        confirm.setDivAmt(divAmount);
+                        confirm.setOrgReqSeqId("store-"+payCode);
+                        confirm.setOrgReqDate(DateTools.getCurrentDateYYYYMMDD());
+                        String orderSn = OrderCodeUtils.getOrderSn();
+                        if (StringUtils.isEmpty(orderSn)) {
+                            return R.error("订单生成失败,请重试");
+                        }
+                        //中医院商户号
+                        confirm.setMainHfId("6666000175632107");
+                        confirm.setReqSeqId(orderSn);
+                        confirm.setTotalAmount(storePayment.getPayMoney());
+                        result = huiFuService.confirmOrder(confirm);
+                        log.info("确认订单分账结束..........");
+                        if (result != null && result.getResp_code().equals("00000000") && (result.getTrans_stat().equals("S") || result.getTrans_stat().equals("P"))) {
+                            //分账标识
+                            paymentMap.setShareStatus(1);
+                            paymentMap.setIsShare(1);
+                            paymentMap.setShareDate(result.getReq_date());
+                            paymentMap.setShareCode(result.getReq_seq_id());
+                        } else {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            throw new CustomException("交易确认订单失败");
+                        }
                         fsStorePaymentMapper.updateFsStorePayment(paymentMap);
                         log.info(payCode + "已支付");
-                        order = fsStoreOrderMapper.selectFsStoreOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));
                     }
                 } else {
                     log.info(payCode + "支付单号不存在");
@@ -1805,19 +1850,20 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
             storeOrder.setPayTime(new Date());
 
             //确认订单返回结果
-//            log.info("确认交易返回数据{}========>",result);
-//            if (result != null && result.getResp_code().equals("00000000") && (result.getTrans_stat().equals("S") || result.getTrans_stat().equals("P"))) {
-//                storeOrder.setZyyDivAmount(result.getYsyAmount());
-//                storeOrder.setZyyHuifuId(result.getZyzHuifuId());
-//                if (result.getOtherAmount() != null && result.getOtherHuifuId() != null) {
-//                    storeOrder.setDivHuifuId(result.getOtherHuifuId());
-//                    storeOrder.setZyyDivAmount(result.getOtherAmount());
-//                }
-//            } else {
-//                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-//                throw new CustomException("交易确认订单失败");
-//            }
-
+            log.info("确认交易返回数据{}========>",result);
+            if (result != null ) {
+                if (result.getResp_code().equals("00000000") && (result.getTrans_stat().equals("S") || result.getTrans_stat().equals("P"))) {
+                    storeOrder.setZyyDivAmount(result.getYsyAmount());
+                    storeOrder.setZyyHuifuId(result.getZyzHuifuId());
+                    if (result.getOtherAmount() != null && result.getOtherHuifuId() != null) {
+                        storeOrder.setDivHuifuId(result.getOtherHuifuId());
+                        storeOrder.setDivAmount(result.getOtherAmount());
+                    }
+                } else {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    throw new CustomException("交易确认订单失败");
+                }
+            }
             fsStoreOrderMapper.updateFsStoreOrder(storeOrder);
             try {
                 //更新用户下单次数(获取阈值,当订单总价大于等于阈值,则下单次数+1)

+ 8 - 8
fs-service/src/main/java/com/fs/huifuPay/domain/HuifuOrderConfirm.java

@@ -18,16 +18,10 @@ public class HuifuOrderConfirm {
     String payType;
 
     //其它分账金额
-    String divAmt;
+    BigDecimal divAmt;
 
     //益寿缘分账金额
-    String ysyDivAmt;
-
-    //其它三个分账商户id
-    String divHuifuId;
-
-    //益寿缘分账商户id
-    String ysyHuifuId;
+    BigDecimal ysyDivAmt;
 
     String orgReqDate;
 
@@ -35,4 +29,10 @@ public class HuifuOrderConfirm {
 
     //分账总额
     BigDecimal totalAmount;
+
+    //主商户号
+    String mainHfId;
+
+    //分账商户号
+    String divHfId;
 }

+ 14 - 16
fs-service/src/main/java/com/fs/huifuPay/service/impl/HuiFuServiceImpl.java

@@ -76,7 +76,11 @@ public class HuiFuServiceImpl implements HuiFuService {
             // 禁用信用卡标记
             extendInfoMap.put("limit_pay_type", "NO_CREDIT");
             // 是否延迟交易 Y 为延迟 N为不延迟,不传默认N
-            extendInfoMap.put("delay_acct_flag", "N");
+            if (order.getAppId() != null) {
+                extendInfoMap.put("delay_acct_flag", "Y");
+            } else {
+                extendInfoMap.put("delay_acct_flag", "N");
+            }
             extendInfoMap.put("pay_scene", "02");
             // 传入分帐遇到优惠的处理规则 1: 按比例分,2: 按分账明细顺序保障,3: 只给交易商户(默认)
             extendInfoMap.put("term_div_coupon_type", "0");
@@ -345,31 +349,25 @@ public class HuiFuServiceImpl implements HuiFuService {
             //其它三个分账信息(随机获取一个)
             JSONArray acct_infos = new JSONArray();
 
-            //配置商户号
-            String configHuifuId = config.getHuifuId();
-
             String zyyHuifuId;
             String otherHuifuId = null;
             BigDecimal ysyAmount;
             BigDecimal otherAmount = null;
             DecimalFormat df = new DecimalFormat("#0.00");
-            //TODO 中医院商户暂时不分账到其它商户 后续需要判断是否推ERP类型分账
-            if("6666000175632107".equals(configHuifuId)){
+            if(StringUtils.isEmpty(confirm.getDivHfId()) && confirm.getDivAmt() == null){
+                //其它分账信息没有 全部都进入中医院
                 //中医院分账信息
                 JSONObject acct_ysy = new JSONObject();
-                acct_ysy.put("huifu_id",configHuifuId);
-                acct_ysy.put("div_amt",df.format(confirm.getTotalAmount()));
+                acct_ysy.put("huifu_id",confirm.getMainHfId());
+                acct_ysy.put("div_amt",df.format(confirm.getYsyDivAmt()));
                 acct_infos.add(acct_ysy);
                 ysyAmount = confirm.getTotalAmount();
-                zyyHuifuId = configHuifuId;
+                zyyHuifuId = confirm.getMainHfId();
             } else {
-                //TODO 商城订单分账 暂时分账20%到中医院 80%随机到广珍堂或者久运
-                ArrayList<String> huifuIds = Lists.newArrayList("6666000177633376", "6666000179192557");
-                int i = (int) (Math.random() * huifuIds.size());
-                otherHuifuId = huifuIds.get(i);
-                zyyHuifuId = "6666000175632107";
-                ysyAmount = confirm.getTotalAmount().multiply(new BigDecimal("0.2"));
-                otherAmount = confirm.getTotalAmount().subtract(ysyAmount);
+                otherHuifuId = confirm.getDivHfId();
+                zyyHuifuId = confirm.getMainHfId();
+                ysyAmount = confirm.getYsyDivAmt();
+                otherAmount = confirm.getDivAmt();
                 //其他分账信息
                 JSONObject acct_other = new JSONObject();
                 acct_other.put("huifu_id",otherHuifuId);

+ 74 - 0
fs-service/src/main/resources/mapper/his/FsAmountsShareMerchantMapper.xml

@@ -0,0 +1,74 @@
+<?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.fs.his.mapper.FsAmountsShareMerchantMapper">
+    
+    <resultMap type="FsAmountsShareMerchant" id="FsAmountsShareMerchantResult">
+        <result property="id"    column="id"    />
+        <result property="merchantAccount"    column="merchant_account"    />
+        <result property="merchantName"    column="merchant_name"    />
+        <result property="type"    column="type"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFsAmountsShareMerchantVo">
+        select id, merchant_account, merchant_name, type, create_time, update_time from fs_amounts_share_merchant
+    </sql>
+
+    <select id="selectFsAmountsShareMerchantList" parameterType="FsAmountsShareMerchant" resultMap="FsAmountsShareMerchantResult">
+        <include refid="selectFsAmountsShareMerchantVo"/>
+        <where>  
+            <if test="merchantAccount != null  and merchantAccount != ''"> and merchant_account = #{merchantAccount}</if>
+            <if test="merchantName != null  and merchantName != ''"> and merchant_name like concat('%', #{merchantName}, '%')</if>
+            <if test="type != null "> and type = #{type}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsAmountsShareMerchantById" parameterType="Long" resultMap="FsAmountsShareMerchantResult">
+        <include refid="selectFsAmountsShareMerchantVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsAmountsShareMerchant" parameterType="FsAmountsShareMerchant" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_amounts_share_merchant
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="merchantAccount != null">merchant_account,</if>
+            <if test="merchantName != null">merchant_name,</if>
+            <if test="type != null">type,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="merchantAccount != null">#{merchantAccount},</if>
+            <if test="merchantName != null">#{merchantName},</if>
+            <if test="type != null">#{type},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsAmountsShareMerchant" parameterType="FsAmountsShareMerchant">
+        update fs_amounts_share_merchant
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="merchantAccount != null">merchant_account = #{merchantAccount},</if>
+            <if test="merchantName != null">merchant_name = #{merchantName},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsAmountsShareMerchantById" parameterType="Long">
+        delete from fs_amounts_share_merchant where id = #{id}
+    </delete>
+
+    <delete id="deleteFsAmountsShareMerchantByIds" parameterType="String">
+        delete from fs_amounts_share_merchant where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 79 - 0
fs-service/src/main/resources/mapper/his/FsShareAmountDetailMapper.xml

@@ -0,0 +1,79 @@
+<?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.fs.his.mapper.FsShareAmountDetailMapper">
+    
+    <resultMap type="FsShareAmountDetail" id="FsShareAmountDetailResult">
+        <result property="id"    column="id"    />
+        <result property="orderId"    column="order_id"    />
+        <result property="orderCode"    column="order_code"    />
+        <result property="merchantId"    column="merchant_id"    />
+        <result property="shareAmount"    column="share_amount"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFsShareAmountDetailVo">
+        select id, order_id, order_code, merchant_id, share_amount, create_time, update_time from fs_share_amount_detail
+    </sql>
+
+    <select id="selectFsShareAmountDetailList" parameterType="FsShareAmountDetail" resultMap="FsShareAmountDetailResult">
+        <include refid="selectFsShareAmountDetailVo"/>
+        <where>  
+            <if test="orderId != null "> and order_id = #{orderId}</if>
+            <if test="orderCode != null  and orderCode != ''"> and order_code = #{orderCode}</if>
+            <if test="merchantId != null "> and merchant_id = #{merchantId}</if>
+            <if test="shareAmount != null "> and share_amount = #{shareAmount}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsShareAmountDetailById" parameterType="Long" resultMap="FsShareAmountDetailResult">
+        <include refid="selectFsShareAmountDetailVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsShareAmountDetail" parameterType="FsShareAmountDetail" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_share_amount_detail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="orderId != null">order_id,</if>
+            <if test="orderCode != null">order_code,</if>
+            <if test="merchantId != null">merchant_id,</if>
+            <if test="shareAmount != null">share_amount,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="orderId != null">#{orderId},</if>
+            <if test="orderCode != null">#{orderCode},</if>
+            <if test="merchantId != null">#{merchantId},</if>
+            <if test="shareAmount != null">#{shareAmount},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsShareAmountDetail" parameterType="FsShareAmountDetail">
+        update fs_share_amount_detail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="orderId != null">order_id = #{orderId},</if>
+            <if test="orderCode != null">order_code = #{orderCode},</if>
+            <if test="merchantId != null">merchant_id = #{merchantId},</if>
+            <if test="shareAmount != null">share_amount = #{shareAmount},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsShareAmountDetailById" parameterType="Long">
+        delete from fs_share_amount_detail where id = #{id}
+    </delete>
+
+    <delete id="deleteFsShareAmountDetailByIds" parameterType="String">
+        delete from fs_share_amount_detail where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>