zhangxin hai 2 semanas
pai
achega
55965c0aed

+ 162 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/separateAccounts/SeparateAccountsController.java

@@ -0,0 +1,162 @@
+package org.jeecg.modules.system.app.controller.separateAccounts;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountRequestDTO;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountResponseDTO;
+import org.jeecg.modules.system.app.entity.SeparateAccounts;
+import org.jeecg.modules.system.app.service.ISeparateAccountsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+ /**
+ * @Description: 分账管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+@Tag(name="分账管理")
+@RestController
+@RequestMapping("/separateAccounts/separateAccounts")
+@Slf4j
+public class SeparateAccountsController extends JeecgController<SeparateAccounts, ISeparateAccountsService> {
+	@Autowired
+	private ISeparateAccountsService separateAccountsService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param findAccountRequestDTO
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "分账管理-分页列表查询")
+	@Operation(summary="分账管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<FindAccountResponseDTO>> queryPageList(FindAccountRequestDTO findAccountRequestDTO,
+														 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+														 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														 HttpServletRequest req) {
+
+
+		Page<FindAccountResponseDTO> page = new Page<FindAccountResponseDTO>(pageNo, pageSize);
+		IPage<FindAccountResponseDTO> pageList = separateAccountsService.findPage(page, findAccountRequestDTO);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param separateAccounts
+	 * @return
+	 */
+	@AutoLog(value = "分账管理-添加")
+	@Operation(summary="分账管理-添加")
+	@RequiresPermissions("separateAccounts:nm_separate_accounts:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody SeparateAccounts separateAccounts) {
+		separateAccountsService.save(separateAccounts);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param separateAccounts
+	 * @return
+	 */
+	@AutoLog(value = "分账管理-编辑")
+	@Operation(summary="分账管理-编辑")
+	@RequiresPermissions("separateAccounts:nm_separate_accounts:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody SeparateAccounts separateAccounts) {
+		separateAccountsService.updateById(separateAccounts);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "分账管理-通过id删除")
+	@Operation(summary="分账管理-通过id删除")
+	@RequiresPermissions("separateAccounts:nm_separate_accounts:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		separateAccountsService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "分账管理-批量删除")
+	@Operation(summary="分账管理-批量删除")
+	@RequiresPermissions("separateAccounts:nm_separate_accounts:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.separateAccountsService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "分账管理-通过id查询")
+	@Operation(summary="分账管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<SeparateAccounts> queryById(@RequestParam(name="id",required=true) String id) {
+		SeparateAccounts separateAccounts = separateAccountsService.getById(id);
+		if(separateAccounts==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(separateAccounts);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param separateAccounts
+    */
+    @RequiresPermissions("separateAccounts:nm_separate_accounts:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, SeparateAccounts separateAccounts) {
+        return super.exportXls(request, separateAccounts, SeparateAccounts.class, "分账管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequiresPermissions("separateAccounts:nm_separate_accounts:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, SeparateAccounts.class);
+    }
+
+}

+ 28 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/separateAccounts/FindAccountRequestDTO.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.system.app.dto.separateAccounts;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * 商户查询
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="商户返回参数")
+public class FindAccountRequestDTO {
+    /**商户名称*/
+    @Schema(description = "商户名称")
+    private String merchantName;
+
+    /**商户名称*/
+    @Schema(description = "分账状态")
+    private Integer accountStatus;
+
+}

+ 48 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/separateAccounts/FindAccountResponseDTO.java

@@ -0,0 +1,48 @@
+package org.jeecg.modules.system.app.dto.separateAccounts;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 评价
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="商户返回参数")
+public class FindAccountResponseDTO {
+    /**id*/
+    @Schema(description = "id")
+    private String id;
+    /**商户名称*/
+    @Schema(description = "商户名称")
+    private String merchantName;
+    /**平台分账比例 单位%*/
+    @Schema(description = "平台分账比例 单位%")
+    private BigDecimal ptSeparateAccounts;
+    /**商家分账比例 单位%*/
+    @Schema(description = "商家分账比例 单位%")
+    private BigDecimal shSeparateAccounts;
+    @Schema(description = "门店分账比例 单位%")
+    private BigDecimal mdSeparateAccounts;
+    /**分账状态 0-启用 1-停用  默认启用*/
+    @Schema(description = "分账状态 0-启用 1-停用  默认启用")
+    private Integer accountStatus;
+    /**更新时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新时间")
+    private Date updateTime;
+
+}

+ 74 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/SeparateAccounts.java

@@ -0,0 +1,74 @@
+package org.jeecg.modules.system.app.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: 分账管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("nm_separate_accounts")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="分账管理")
+public class SeparateAccounts implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @Schema(description = "主键")
+    private String id;
+	/**关联的商户信息*/
+	@Excel(name = "关联的商户信息", width = 15)
+    @Schema(description = "关联的商户信息")
+    private String deptId;
+	/**平台分账比例 单位%*/
+	@Excel(name = "平台分账比例 单位%", width = 15)
+    @Schema(description = "平台分账比例 单位%")
+    private BigDecimal ptSeparateAccounts;
+	/**商家分账比例 单位%*/
+	@Excel(name = "商家分账比例 单位%", width = 15)
+    @Schema(description = "商家分账比例 单位%")
+    private BigDecimal shSeparateAccounts;
+	/**分账状态 0-启用 1-停用  默认启用*/
+	@Excel(name = "分账状态 0-启用 1-停用  默认启用", width = 15)
+    @Schema(description = "分账状态 0-启用 1-停用  默认启用")
+    private Integer accountStatus;
+	/**创建人*/
+    @Schema(description = "创建人")
+    private String createBy;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @Schema(description = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新时间")
+    private Date updateTime;
+	/**删除标志;删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除标志;删除状态(0-正常,1-已删除)", width = 15)
+    @Schema(description = "删除标志;删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+}

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/SeparateAccountsMapper.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountRequestDTO;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountResponseDTO;
+import org.jeecg.modules.system.app.entity.SeparateAccounts;
+
+/**
+ * @Description: 分账管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+public interface SeparateAccountsMapper extends BaseMapper<SeparateAccounts> {
+
+    IPage<FindAccountResponseDTO> findPage(@Param("page") Page<FindAccountResponseDTO> page, @Param("findAccountRequestDTO") FindAccountRequestDTO findAccountRequestDTO);
+}

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/SeparateAccountsMapper.xml

@@ -0,0 +1,20 @@
+<?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="org.jeecg.modules.system.app.mapper.SeparateAccountsMapper">
+
+    <select id="findPage" resultType="org.jeecg.modules.system.app.dto.separateAccounts.FindAccountResponseDTO">
+        select nsa.id, sd.depart_name as merchantName,nsa.pt_separate_accounts,
+               nsa.sh_separate_accounts,nsa.md_separate_accounts,nsa.account_status,nsa.update_time
+        from nm_separate_accounts nsa
+        left join  sys_dept sd on nsa.dept_id =sd.id
+        where nsa.del_flag=0
+        <if test="findAccountRequestDTO!=null and findAccountRequestDTO!=''">
+        <if test="findAccountRequestDTO.merchantName!=null and findAccountRequestDTO.merchantName!=''">
+            AND sd.depart_name = #{findEvaluateRequestDTO.merchantName}
+        </if>
+        <if test="findAccountRequestDTO.accountStatus!=null">
+            AND nsa.account_status = #{findEvaluateRequestDTO.accountStatus}
+        </if>
+        </if>
+    </select>
+</mapper>

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/ISeparateAccountsService.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.app.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountRequestDTO;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountResponseDTO;
+import org.jeecg.modules.system.app.entity.SeparateAccounts;
+
+/**
+ * @Description: 分账管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+public interface ISeparateAccountsService extends IService<SeparateAccounts> {
+
+    IPage<FindAccountResponseDTO> findPage(Page<FindAccountResponseDTO> page, FindAccountRequestDTO findAccountRequestDTO);
+
+}

+ 33 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/SeparateAccountsServiceImpl.java

@@ -0,0 +1,33 @@
+package org.jeecg.modules.system.app.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountRequestDTO;
+import org.jeecg.modules.system.app.dto.separateAccounts.FindAccountResponseDTO;
+import org.jeecg.modules.system.app.entity.SeparateAccounts;
+import org.jeecg.modules.system.app.mapper.SeparateAccountsMapper;
+import org.jeecg.modules.system.app.service.ISeparateAccountsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 分账管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+@Service
+public class SeparateAccountsServiceImpl extends ServiceImpl<SeparateAccountsMapper, SeparateAccounts> implements ISeparateAccountsService {
+
+    @Autowired
+    SeparateAccountsMapper separateAccountsMapper;
+
+
+    @Override
+    public IPage<FindAccountResponseDTO> findPage(Page<FindAccountResponseDTO> page, FindAccountRequestDTO findAccountRequestDTO) {
+
+        return separateAccountsMapper.findPage(page,findAccountRequestDTO);
+    }
+}