diff --git a/ghy-admin/pom.xml b/ghy-admin/pom.xml index 00c4b5f2..b98fc308 100644 --- a/ghy-admin/pom.xml +++ b/ghy-admin/pom.xml @@ -79,6 +79,12 @@ ghy-order + + + com.ghy + ghy-payment + + diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java index 1f12c4cc..efbc979b 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java @@ -32,13 +32,13 @@ public class OrderDetailController extends BaseController { @Resource private OrderDetailService orderDetailService; - @RequiresPermissions("order:master:view") + @RequiresPermissions("order:detail:view") @GetMapping() public String orderDetail() { return prefix; } - @RequiresPermissions("order:master:list") + @RequiresPermissions("order:detail:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(OrderDetail orderDetail) { @@ -48,7 +48,7 @@ public class OrderDetailController extends BaseController { } @Log(title = "详细订单管理", businessType = BusinessType.EXPORT) - @RequiresPermissions("order:master:export") + @RequiresPermissions("order:detail:export") @PostMapping("/export") @ResponseBody public AjaxResult export(OrderDetail orderDetail) { @@ -57,7 +57,7 @@ public class OrderDetailController extends BaseController { return util.exportExcel(list, "详细订单数据"); } - @RequiresPermissions("order:master:remove") + @RequiresPermissions("order:detail:remove") @Log(title = "详细订单管理", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody @@ -72,7 +72,7 @@ public class OrderDetailController extends BaseController { /** * 修改详细订单 */ - @RequiresPermissions("order:master:edit") + @RequiresPermissions("order:detail:edit") @GetMapping("/edit/{orderDetailId}") public String edit(@PathVariable("orderDetailId") Long orderDetailId, ModelMap mmap) { mmap.put("orderDetail", orderDetailService.selectById(orderDetailId)); @@ -82,7 +82,7 @@ public class OrderDetailController extends BaseController { /** * 修改保存详细订单 */ - @RequiresPermissions("order:master:edit") + @RequiresPermissions("order:detail:edit") @Log(title = "详细订单管理", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/payment/FinancialDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/payment/FinancialDetailController.java new file mode 100644 index 00000000..91de81ab --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/controller/payment/FinancialDetailController.java @@ -0,0 +1,105 @@ +package com.ghy.web.controller.payment; + +import com.ghy.common.annotation.Log; +import com.ghy.common.constant.UserConstants; +import com.ghy.common.core.controller.BaseController; +import com.ghy.common.core.domain.AjaxResult; +import com.ghy.common.core.page.TableDataInfo; +import com.ghy.common.enums.BusinessType; +import com.ghy.common.utils.poi.ExcelUtil; +import com.ghy.payment.domain.FinancialDetail; +import com.ghy.payment.service.FinancialDetailService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 财务细单API + * + * @author HH 2022/4/25 + */ +@Controller +@RequestMapping("/financial/detail") +public class FinancialDetailController extends BaseController { + + private final String prefix = "financial/detail"; + + @Resource + private FinancialDetailService financialDetailService; + + @RequiresPermissions("financial:detail:view") + @GetMapping() + public String financialDetail() { + return prefix; + } + + @RequiresPermissions("financial:detail:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(FinancialDetail financialDetail) { + startPage(); + List list = financialDetailService.selectFinancialDetailList(financialDetail); + return getDataTable(list); + } + + @Log(title = "财务细单管理", businessType = BusinessType.EXPORT) + @RequiresPermissions("financial:detail:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(FinancialDetail financialDetail) { + List list = financialDetailService.selectFinancialDetailList(financialDetail); + ExcelUtil util = new ExcelUtil<>(FinancialDetail.class); + return util.exportExcel(list, "财务细单数据"); + } + + @RequiresPermissions("financial:detail:remove") + @Log(title = "财务细单管理", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + try { + return toAjax(financialDetailService.deleteFinancialDetailByIds(ids)); + } catch (Exception e) { + return error(e.getMessage()); + } + } + + /** + * 修改财务细单 + */ + @RequiresPermissions("financial:detail:edit") + @GetMapping("/edit/{financialDetailId}") + public String edit(@PathVariable("financialDetailId") Long financialDetailId, ModelMap mmap) { + mmap.put("financialDetail", financialDetailService.selectById(financialDetailId)); + return prefix + "/edit"; + } + + /** + * 修改保存财务细单 + */ + @RequiresPermissions("financial:detail:edit") + @Log(title = "财务细单管理", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(@Validated FinancialDetail financialDetail) { + if (UserConstants.ORDER_CODE_NOT_UNIQUE.equals(financialDetailService.checkFinancialDetailCodeUnique(financialDetail))) { + return error("修改财务细单'" + financialDetail.getCode() + "'失败,财务细单编码已存在"); + } + financialDetail.setUpdateBy(getLoginName()); + return toAjax(financialDetailService.updateFinancialDetail(financialDetail)); + } + + /** + * 校验财务细单编码 + */ + @PostMapping("/checkFinancialDetailCodeUnique") + @ResponseBody + public String checkFinancialDetailCodeUnique(FinancialDetail financialDetail) { + return financialDetailService.checkFinancialDetailCodeUnique(financialDetail); + } +} diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/payment/FinancialMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/payment/FinancialMasterController.java new file mode 100644 index 00000000..3c58469f --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/controller/payment/FinancialMasterController.java @@ -0,0 +1,93 @@ +package com.ghy.web.controller.payment; + +import com.ghy.common.annotation.Log; +import com.ghy.common.core.controller.BaseController; +import com.ghy.common.core.domain.AjaxResult; +import com.ghy.common.core.page.TableDataInfo; +import com.ghy.common.enums.BusinessType; +import com.ghy.common.utils.poi.ExcelUtil; +import com.ghy.payment.domain.FinancialMaster; +import com.ghy.payment.service.FinancialMasterService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 主财务单API + * + * @author HH 2022/4/25 + */ +@Controller +@RequestMapping("/financial/master") +public class FinancialMasterController extends BaseController { + + private final String prefix = "financial/master"; + + @Resource + private FinancialMasterService financialMasterService; + + @RequiresPermissions("financial:master:view") + @GetMapping() + public String financialMaster() { + return prefix; + } + + @RequiresPermissions("financial:master:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(FinancialMaster financialMaster) { + startPage(); + List list = financialMasterService.selectFinancialMasterList(financialMaster); + return getDataTable(list); + } + + @Log(title = "主财务单管理", businessType = BusinessType.EXPORT) + @RequiresPermissions("financial:master:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(FinancialMaster financialMaster) { + List list = financialMasterService.selectFinancialMasterList(financialMaster); + ExcelUtil util = new ExcelUtil<>(FinancialMaster.class); + return util.exportExcel(list, "主财务单数据"); + } + + @RequiresPermissions("financial:master:remove") + @Log(title = "主财务单管理", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + try { + return toAjax(financialMasterService.deleteFinancialMasterByIds(ids)); + } catch (Exception e) { + return error(e.getMessage()); + } + } + + /** + * 修改主财务单 + */ + @RequiresPermissions("financial:master:edit") + @GetMapping("/edit/{financialMasterId}") + public String edit(@PathVariable("financialMasterId") Long financialMasterId, ModelMap mmap) { + mmap.put("financialMaster", financialMasterService.selectById(financialMasterId)); + return prefix + "/edit"; + } + + /** + * 修改保存主财务单 + */ + @RequiresPermissions("financial:master:edit") + @Log(title = "主财务单管理", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(@Validated FinancialMaster financialMaster) { + financialMaster.setUpdateBy(getLoginName()); + return toAjax(financialMasterService.updateFinancialMaster(financialMaster)); + } + +} diff --git a/ghy-common/src/main/java/com/ghy/common/constant/UserConstants.java b/ghy-common/src/main/java/com/ghy/common/constant/UserConstants.java index 779b51e4..13c844b5 100644 --- a/ghy-common/src/main/java/com/ghy/common/constant/UserConstants.java +++ b/ghy-common/src/main/java/com/ghy/common/constant/UserConstants.java @@ -113,6 +113,10 @@ public class UserConstants public final static String ORDER_CODE_UNIQUE = "0"; public final static String ORDER_CODE_NOT_UNIQUE = "1"; + /** 财务单编码是否唯一的返回结果 */ + public final static String FINANCIAL_CODE_UNIQUE = "0"; + public final static String FINANCIAL_CODE_NOT_UNIQUE = "1"; + /** * 密码长度限制 */ diff --git a/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialDetailMapper.java b/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialDetailMapper.java new file mode 100644 index 00000000..b0eabd39 --- /dev/null +++ b/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialDetailMapper.java @@ -0,0 +1,51 @@ +package com.ghy.payment.mapper; + +import com.ghy.payment.domain.FinancialDetail; + +import java.util.List; + +/** + * 财务细单(转派后产生的订单)的mapper层 + * + * @author HH 2022/4/25 + */ +public interface FinancialDetailMapper { + + /** + * @param financialDetail 财务细单属性 + * @return 成功条数 + */ + int insertFinancialDetail(FinancialDetail financialDetail); + + /** + * @param financialDetail 财务细单属性 + * @return 成功条数 + */ + int updateFinancialDetail(FinancialDetail financialDetail); + + /** + * @param financialDetail 财务细单入参 + * @return 财务细单集合 + */ + List selectFinancialDetailList(FinancialDetail financialDetail); + + /** + * @param financialDetailId 财务细单id + * @return 财务细单 + */ + FinancialDetail selectById(Long financialDetailId); + + /** + * 批量删除财务细单信息 + * + * @param financialDetailIds 需要删除的数据ID + * @return 结果 + */ + int deleteFinancialDetailByIds(Long[] financialDetailIds); + + /** + * @param financialDetailCode 财务细单编码 + * @return 财务细单信息 + */ + FinancialDetail checkFinancialDetailCodeUnique(String financialDetailCode); +} diff --git a/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java b/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java new file mode 100644 index 00000000..6251b094 --- /dev/null +++ b/ghy-payment/src/main/java/com/ghy/payment/mapper/FinancialMasterMapper.java @@ -0,0 +1,46 @@ +package com.ghy.payment.mapper; + +import com.ghy.payment.domain.FinancialMaster; + +import java.util.List; + +/** + * 主财务单的mapper层 + * + * @author HH 2022/4/24 + */ +public interface FinancialMasterMapper { + + /** + * @param financialMaster 主财务单属性 + * @return 成功条数 + */ + int insertFinancialMaster(FinancialMaster financialMaster); + + /** + * @param financialMaster 主财务单属性 + * @return 成功条数 + */ + int updateFinancialMaster(FinancialMaster financialMaster); + + /** + * @param financialMaster 主财务单入参 + * @return 主财务单集合 + */ + List selectFinancialMasterList(FinancialMaster financialMaster); + + /** + * @param financialMasterId 主财务单id + * @return 主财务单 + */ + FinancialMaster selectById(Long financialMasterId); + + /** + * 批量删除主财务单信息 + * + * @param financialMasterIds 需要删除的数据ID + * @return 结果 + */ + int deleteFinancialMasterByIds(Long[] financialMasterIds); + +} diff --git a/ghy-payment/src/main/java/com/ghy/payment/service/FinancialDetailService.java b/ghy-payment/src/main/java/com/ghy/payment/service/FinancialDetailService.java new file mode 100644 index 00000000..64ea6fe8 --- /dev/null +++ b/ghy-payment/src/main/java/com/ghy/payment/service/FinancialDetailService.java @@ -0,0 +1,52 @@ +package com.ghy.payment.service; + +import com.ghy.payment.domain.FinancialDetail; + +import java.util.List; + +/** + * 财务细单接口 + * + * @author HH 2022/4/25 + */ +public interface FinancialDetailService { + + /** + * @param financialDetail 财务细单属性 + * @return 成功条数 + */ + int insertFinancialDetail(FinancialDetail financialDetail); + + /** + * @param financialDetail 财务细单属性 + * @return 成功条数 + */ + int updateFinancialDetail(FinancialDetail financialDetail); + + /** + * @param financialDetail 财务细单入参 + * @return 财务细单集合 + */ + List selectFinancialDetailList(FinancialDetail financialDetail); + + + /** + * @param financialDetailId 财务细单id + * @return 财务细单 + */ + FinancialDetail selectById(Long financialDetailId); + + /** + * @param ids 财务细单ids + * @return 删除结果 + */ + int deleteFinancialDetailByIds(String ids); + + /** + * 校验财务细单编码是否重复 + * + * @param financialDetail 财务细单属性 + * @return 校验结果 1存在 0不存在 + */ + String checkFinancialDetailCodeUnique(FinancialDetail financialDetail); +} diff --git a/ghy-payment/src/main/java/com/ghy/payment/service/FinancialMasterService.java b/ghy-payment/src/main/java/com/ghy/payment/service/FinancialMasterService.java new file mode 100644 index 00000000..ca124bd4 --- /dev/null +++ b/ghy-payment/src/main/java/com/ghy/payment/service/FinancialMasterService.java @@ -0,0 +1,45 @@ +package com.ghy.payment.service; + +import com.ghy.payment.domain.FinancialMaster; + +import java.util.List; + +/** + * 主财务单接口 + * + * @author clunt + */ +public interface FinancialMasterService { + + /** + * @param financialMaster 主财务单属性 + * @return 成功条数 + */ + int insertFinancialMaster(FinancialMaster financialMaster); + + /** + * @param financialMaster 主财务单属性 + * @return 成功条数 + */ + int updateFinancialMaster(FinancialMaster financialMaster); + + /** + * @param financialMaster 主财务单入参 + * @return 主财务单集合 + */ + List selectFinancialMasterList(FinancialMaster financialMaster); + + + /** + * @param financialMasterId 主财务单id + * @return 主财务单 + */ + FinancialMaster selectById(Long financialMasterId); + + /** + * @param ids 主财务单ids + * @return 删除结果 + */ + int deleteFinancialMasterByIds(String ids); + +} diff --git a/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialDetailServiceImpl.java b/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialDetailServiceImpl.java new file mode 100644 index 00000000..d4a72bb3 --- /dev/null +++ b/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialDetailServiceImpl.java @@ -0,0 +1,54 @@ +package com.ghy.payment.service.impl; + +import com.ghy.common.constant.UserConstants; +import com.ghy.common.core.text.Convert; +import com.ghy.payment.domain.FinancialDetail; +import com.ghy.payment.mapper.FinancialDetailMapper; +import com.ghy.payment.service.FinancialDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class FinancialDetailServiceImpl implements FinancialDetailService { + + @Resource + private FinancialDetailMapper financialDetailMapper; + + @Override + public int insertFinancialDetail(FinancialDetail financialDetail) { + return financialDetailMapper.insertFinancialDetail(financialDetail); + } + + @Override + public int updateFinancialDetail(FinancialDetail financialDetail) { + return financialDetailMapper.updateFinancialDetail(financialDetail); + } + + @Override + public List selectFinancialDetailList(FinancialDetail financialDetail) { + return financialDetailMapper.selectFinancialDetailList(financialDetail); + } + + @Override + public FinancialDetail selectById(Long financialDetailId) { + return financialDetailMapper.selectById(financialDetailId); + } + + @Override + public int deleteFinancialDetailByIds(String ids) { + Long[] financialDetailIds = Convert.toLongArray(ids); + return financialDetailMapper.deleteFinancialDetailByIds(financialDetailIds); + } + + @Override + public String checkFinancialDetailCodeUnique(FinancialDetail financialDetail) { + long financialDetailId = financialDetail.getId() == null ? -1L : financialDetail.getId(); + FinancialDetail info = financialDetailMapper.checkFinancialDetailCodeUnique(financialDetail.getCode()); + if (info != null && info.getId() != financialDetailId) { + return UserConstants.FINANCIAL_CODE_NOT_UNIQUE; + } + return UserConstants.FINANCIAL_CODE_UNIQUE; + } +} diff --git a/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java b/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java new file mode 100644 index 00000000..2a4c5632 --- /dev/null +++ b/ghy-payment/src/main/java/com/ghy/payment/service/impl/FinancialMasterServiceImpl.java @@ -0,0 +1,49 @@ +package com.ghy.payment.service.impl; + +import com.ghy.common.core.text.Convert; +import com.ghy.payment.domain.FinancialMaster; +import com.ghy.payment.mapper.FinancialMasterMapper; +import com.ghy.payment.service.FinancialMasterService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 商品模块实现类 + * + * @author clunt + */ +@Service +public class FinancialMasterServiceImpl implements FinancialMasterService { + + @Resource + private FinancialMasterMapper financialMasterMapper; + + @Override + public int insertFinancialMaster(FinancialMaster financialMaster) { + return financialMasterMapper.insertFinancialMaster(financialMaster); + } + + @Override + public int updateFinancialMaster(FinancialMaster financialMaster) { + return financialMasterMapper.updateFinancialMaster(financialMaster); + } + + @Override + public List selectFinancialMasterList(FinancialMaster financialMaster) { + return financialMasterMapper.selectFinancialMasterList(financialMaster); + } + + @Override + public FinancialMaster selectById(Long financialMasterId) { + return financialMasterMapper.selectById(financialMasterId); + } + + @Override + public int deleteFinancialMasterByIds(String ids) { + Long[] financialMasterIds = Convert.toLongArray(ids); + return financialMasterMapper.deleteFinancialMasterByIds(financialMasterIds); + } + +} diff --git a/ghy-payment/src/main/resources/mapper/FinancialDetailMapper.xml b/ghy-payment/src/main/resources/mapper/FinancialDetailMapper.xml new file mode 100644 index 00000000..db52eddc --- /dev/null +++ b/ghy-payment/src/main/resources/mapper/FinancialDetailMapper.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + SELECT id, + code, + order_master_id, + order_master_code, + total_money, + discount_money, + pay_money, + pay_type, + pay_status, + pay_time, + financial_detail_type, + create_by, + create_time, + remark + FROM financial_detail + + + + + + + + DELETE FROM financial_detail WHERE id IN + + #{financialDetailId} + + + + + UPDATE financial_detail + + code = #{code}, + order_master_id = #{orderMasterId}, + order_master_code = #{orderMasterCode}, + total_money = #{totalMoney}, + discount_money = #{discountMoney}, + pay_type = #{payType}, + pay_status = #{payStatus}, + pay_time = #{payTime}, + pay_money = #{payMoney}, + financial_detail_type = #{financialDetailType}, + update_by = #{updateBy}, + update_time = SYSDATE() + + WHERE id = #{id} + + + + INSERT INTO financial_detail( + code, + order_master_id, + order_master_code, + total_money, + discount_money, + pay_type, + pay_status, + pay_time, + pay_money, + financial_detail_type, + create_by, + create_time + )VALUES( + #{code}, + #{orderMasterId}, + #{orderMasterCode}, + #{totalMoney}, + #{discountMoney}, + #{payType}, + #{payStatus}, + #{payTime}, + #{payMoney}, + #{financialDetailType}, + #{createBy}, + SYSDATE() + ) + + + + + \ No newline at end of file diff --git a/ghy-payment/src/main/resources/mapper/FinancialMasterMapper.xml b/ghy-payment/src/main/resources/mapper/FinancialMasterMapper.xml new file mode 100644 index 00000000..3d7a1eec --- /dev/null +++ b/ghy-payment/src/main/resources/mapper/FinancialMasterMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + SELECT id, + order_master_id, + order_master_code, + total_money, + discount_money, + pay_money, + pay_type, + pay_status, + pay_time, + create_by, + create_time, + remark + FROM financial_master + + + + + + + + DELETE FROM financial_master WHERE id IN + + #{financialMasterId} + + + + + UPDATE financial_master + + order_master_id = #{orderMasterId}, + order_master_code = #{orderMasterCode}, + total_money = #{totalMoney}, + discount_money = #{discountMoney}, + pay_type = #{payType}, + pay_status = #{payStatus}, + pay_time = #{payTime}, + pay_money = #{payMoney}, + update_by = #{updateBy}, + update_time = SYSDATE() + + WHERE id = #{id} + + + + INSERT INTO financial_master( + order_master_id, + order_master_code, + total_money, + discount_money, + pay_type, + pay_status, + pay_time, + pay_money, + create_by, + create_time + )VALUES( + #{orderMasterId}, + #{orderMasterCode}, + #{totalMoney}, + #{discountMoney}, + #{payType}, + #{payStatus}, + #{payTime}, + #{payMoney}, + #{createBy}, + SYSDATE() + ) + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 300ff155..06f1f01c 100644 --- a/pom.xml +++ b/pom.xml @@ -282,6 +282,13 @@ ${ghy.version} + + + com.ghy + ghy-payment + ${ghy.version} + + com.ghy