diff --git a/flex-ui/src/api/mf/customer.js b/flex-ui/src/api/mf/customer.js new file mode 100644 index 0000000..3eba6c9 --- /dev/null +++ b/flex-ui/src/api/mf/customer.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询客户主表列表 +export function listCustomer(query) { + return request({ + url: '/mf/customer/list', + method: 'get', + params: query + }) +} + +// 查询客户主表详细 +export function getCustomer(customerId) { + return request({ + url: '/mf/customer/' + customerId, + method: 'get' + }) +} + +// 新增客户主表 +export function addCustomer(data) { + return request({ + url: '/mf/customer', + method: 'post', + data: data + }) +} + +// 修改客户主表 +export function updateCustomer(data) { + return request({ + url: '/mf/customer', + method: 'put', + data: data + }) +} + +// 删除客户主表 +export function delCustomer(customerId) { + return request({ + url: '/mf/customer/' + customerId, + method: 'delete' + }) +} diff --git a/flex-ui/src/views/index.vue b/flex-ui/src/views/index.vue index c43f21c..9a478e3 100644 --- a/flex-ui/src/views/index.vue +++ b/flex-ui/src/views/index.vue @@ -41,7 +41,7 @@

Ruoyi-Flex后台管理框架

- Ruoyi-Flex是基于RuoYi-Vue v3.8.6、RuoYi-Vue-Plus进行的扩展,集成MyBatis-Flex、JDK17、SpringBootV3、Lombok、Sa-Token、Hutool、SpringBoot Admin、PowerJob、Vue3、element-plus等优秀开源软件,准备作为未来5年软件开发的底座。本系统可以用于所有的Web应用程序,如网站管理后台、网站会员中心、CMS、CRM、OA、ERP等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 + Ruoyi-Flex是基于RuoYi-Vue v3.8.6、RuoYi-Vue-Plus进行的扩展,集成MyBatis-Flex、JDK17、SpringBootV3、Lombok、Sa-Token、Hutool、SpringBoot Admin、PowerJob、Vue3、element-plus、MinIO等优秀开源软件,准备作为未来5年软件开发的底座。本系统可以用于所有的Web应用程序,如网站管理后台、网站会员中心、CMS、CRM、OA、ERP等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。

当前版本: v{{ version }} diff --git a/flex-ui/src/views/mf/customer/index.vue b/flex-ui/src/views/mf/customer/index.vue new file mode 100644 index 0000000..f4bf2d9 --- /dev/null +++ b/flex-ui/src/views/mf/customer/index.vue @@ -0,0 +1,391 @@ + + + diff --git a/image/dataprice.jpg b/image/dataprice.jpg new file mode 100644 index 0000000..fc3c11f Binary files /dev/null and b/image/dataprice.jpg differ diff --git a/image/dataprince.jpg b/image/dataprince.jpg deleted file mode 100644 index 05a6543..0000000 Binary files a/image/dataprince.jpg and /dev/null differ diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/controller/CustomerController.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/controller/CustomerController.java new file mode 100644 index 0000000..887ee76 --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/controller/CustomerController.java @@ -0,0 +1,116 @@ +package com.ruoyi.mf.controller; + +import java.util.List; +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.ruoyi.common.core.core.domain.R; +import com.ruoyi.common.excel.utils.ExcelUtil; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.web.annotation.RepeatSubmit; +import com.ruoyi.common.web.core.BaseController; +import jakarta.annotation.Resource; +import com.ruoyi.mf.domain.vo.CustomerVo; +import com.ruoyi.mf.domain.bo.CustomerBo; +import com.ruoyi.mf.service.ICustomerService; + +import com.ruoyi.common.orm.core.page.TableDataInfo; + +/** + * 客户主表Controller + * + * @author 数据小王子 + * 2023-12-06 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/mf/customer") +public class CustomerController extends BaseController +{ + @Resource + private ICustomerService customerService; + + /** + * 查询客户主表列表 + */ + @SaCheckPermission("mf:customer:list") + @GetMapping("/list") + public TableDataInfo list(CustomerBo customerBo) + { + return customerService.selectPage(customerBo); + } + + /** + * 导出客户主表列表 + */ + @SaCheckPermission("mf:customer:export") + @Log(title = "客户主表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, CustomerBo customerBo) + { + List list = customerService.selectList(customerBo); + ExcelUtil.exportExcel(list, "客户主表", CustomerVo.class, response); + } + + /** + * 获取客户主表详细信息 + */ + @SaCheckPermission("mf:customer:query") + @GetMapping(value = "/{customerId}") + public R getInfo(@PathVariable Long customerId) + { + return R.ok(customerService.selectById(customerId)); + } + + /** + * 新增客户主表 + */ + @SaCheckPermission("mf:customer:add") + @Log(title = "客户主表", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping + public R add(@Validated @RequestBody CustomerBo customerBo) + { + boolean inserted = customerService.insert(customerBo); + if (!inserted) { + return R.fail("新增客户主表记录失败!"); + } + return R.ok(); + } + + /** + * 修改客户主表 + */ + @SaCheckPermission("mf:customer:edit") + @Log(title = "客户主表", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping + public R edit(@Validated @RequestBody CustomerBo customerBo) + { + Boolean updated = customerService.update(customerBo); + if (!updated) { + R.fail("修改客户主表记录失败!"); + } + return R.ok(); + } + + /** + * 删除客户主表 + */ + @SaCheckPermission("mf:customer:remove") + @Log(title = "客户主表", businessType = BusinessType.DELETE) + @DeleteMapping("/{customerIds}") + public R remove(@PathVariable Long[] customerIds) + { + boolean deleted = customerService.deleteByIds(customerIds); + if (!deleted) { + R.fail("删除客户主表记录失败!"); + } + return R.ok(); + } +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/Customer.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/Customer.java new file mode 100644 index 0000000..be34c33 --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/Customer.java @@ -0,0 +1,46 @@ +package com.ruoyi.mf.domain; + +import java.util.List; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.mf.domain.Goods; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.ruoyi.common.orm.core.domain.BaseEntity; + +/** + * 客户主表对象 mf_customer + * + * @author 数据小王子 + * 2023-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table(value = "mf_customer") +public class Customer extends BaseEntity +{ + /** 客户id */ + @Id + private Long customerId; + + /** 客户姓名 */ + private String customerName; + + /** 手机号码 */ + private String phonenumber; + + /** 客户性别 */ + private String gender; + + /** 客户生日 */ + private Date birthday; + + /** 客户描述 */ + private String remark; + + /** 商品子表信息 */ + private List goodsList; + +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/Goods.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/Goods.java new file mode 100644 index 0000000..23823fd --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/Goods.java @@ -0,0 +1,52 @@ +package com.ruoyi.mf.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serial; +import java.io.Serializable; +import com.ruoyi.common.orm.core.domain.BaseEntity; + +/** + * 商品子表对象 mf_goods + * + * @author 数据小王子 + * 2023-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table(value = "mf_goods") +public class Goods extends BaseEntity +{ + @Serial + private static final long serialVersionUID = 1L; + + /** 商品id */ + @Id + private Long goodsId; + + /** 客户id */ + private Long customerId; + + /** 商品名称 */ + private String name; + + /** 商品重量 */ + private Long weight; + + /** 商品价格 */ + private BigDecimal price; + + /** 商品时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date date; + + /** 商品种类 */ + private String type; + + +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/bo/CustomerBo.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/bo/CustomerBo.java new file mode 100644 index 0000000..dc5f61e --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/bo/CustomerBo.java @@ -0,0 +1,60 @@ +package com.ruoyi.mf.domain.bo; + +import com.ruoyi.mf.domain.Customer; +import com.ruoyi.mf.domain.Goods; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.List; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.orm.core.domain.BaseEntity; + +/** + * 客户主表业务对象 mf_customer + * + * @author 数据小王子 + * @date 2023-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = Customer.class, reverseConvertGenerate = false) +public class CustomerBo extends BaseEntity +{ + + /** + * 客户id + */ + private Long customerId; + + /** + * 客户姓名 + */ + private String customerName; + + /** + * 手机号码 + */ + private String phonenumber; + + /** + * 客户性别 + */ + private String gender; + + /** + * 客户生日 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date birthday; + + /** + * 客户描述 + */ + private String remark; + + + /** 商品子表信息 */ + private List goodsList; +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/vo/CustomerVo.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/vo/CustomerVo.java new file mode 100644 index 0000000..8be307e --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/domain/vo/CustomerVo.java @@ -0,0 +1,67 @@ +package com.ruoyi.mf.domain.vo; + +import java.util.List; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.mf.domain.Customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.ruoyi.common.excel.annotation.ExcelDictFormat; +import com.ruoyi.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.mybatisflex.annotation.RelationOneToMany; +import com.ruoyi.mf.domain.Goods; +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; +import com.ruoyi.common.orm.core.domain.BaseEntity; + +/** + * 客户主表视图对象 mf_customer + * + * @author 数据小王子 + * @date 2023-12-06 + */ +@Data +@ExcelIgnoreUnannotated +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = Customer.class) +public class CustomerVo extends BaseEntity implements Serializable +{ + + @Serial + private static final long serialVersionUID = 1L; + + /** 客户id */ + @ExcelProperty(value = "客户id") + private Long customerId; + + /** 客户姓名 */ + @ExcelProperty(value = "客户姓名") + private String customerName; + + /** 手机号码 */ + @ExcelProperty(value = "手机号码") + private String phonenumber; + + /** 客户性别 */ + @ExcelProperty(value = "客户性别", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_user_gender") + private String gender; + + /** 客户生日 */ + @ExcelProperty(value = "客户生日") + private Date birthday; + + /** 客户描述 */ + @ExcelProperty(value = "客户描述") + private String remark; + + + /** 商品子表信息 */ + @RelationOneToMany(selfField = "customerId", targetField = "customerId") + private List goodsList; + +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/mapper/CustomerMapper.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/mapper/CustomerMapper.java new file mode 100644 index 0000000..843cfce --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/mapper/CustomerMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.mf.mapper; + +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.ruoyi.mf.domain.Customer; +import com.ruoyi.mf.domain.Goods; + +/** + * 客户主表Mapper接口 + * + * @author 数据小王子 + * 2023-12-06 + */ +@Mapper +public interface CustomerMapper extends BaseMapper +{ + +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/mapper/GoodsMapper.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/mapper/GoodsMapper.java new file mode 100644 index 0000000..20afae7 --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/mapper/GoodsMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.mf.mapper; + +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.ruoyi.mf.domain.Goods; + +/** + * 商品子表Mapper接口 + * + * @author 数据小王子 + * 2023-12-06 + */ +@Mapper +public interface GoodsMapper extends BaseMapper +{ + +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/service/ICustomerService.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/service/ICustomerService.java new file mode 100644 index 0000000..a00c83c --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/service/ICustomerService.java @@ -0,0 +1,66 @@ +package com.ruoyi.mf.service; + +import java.util.List; +import com.ruoyi.mf.domain.Customer; +import com.ruoyi.mf.domain.vo.CustomerVo; +import com.ruoyi.mf.domain.bo.CustomerBo; +import com.ruoyi.common.orm.core.service.IBaseService; +import com.ruoyi.common.orm.core.page.TableDataInfo; + +/** + * 客户主表Service接口 + * + * @author 数据小王子 + * 2023-12-06 + */ +public interface ICustomerService extends IBaseService +{ + /** + * 查询客户主表 + * + * @param customerId 客户主表主键 + * @return 客户主表 + */ + CustomerVo selectById(Long customerId); + + /** + * 查询客户主表列表 + * + * @param customerBo 客户主表Bo + * @return 客户主表集合 + */ + List selectList(CustomerBo customerBo); + + /** + * 分页查询客户主表列表 + * + * @param customerBo 客户主表Bo + * @return 分页客户主表集合 + */ + TableDataInfo selectPage(CustomerBo customerBo); + + /** + * 新增客户主表 + * + * @param customerBo 客户主表Bo + * @return 结果:true 操作成功,false 操作失败 + */ + boolean insert(CustomerBo customerBo); + + /** + * 修改客户主表 + * + * @param customerBo 客户主表Bo + * @return 结果:true 更新成功,false 更新失败 + */ + boolean update(CustomerBo customerBo); + + /** + * 批量删除客户主表 + * + * @param customerIds 需要删除的客户主表主键集合 + * @return 结果:true 删除成功,false 删除失败 + */ + boolean deleteByIds(Long[] customerIds); + +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/service/impl/CustomerServiceImpl.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/service/impl/CustomerServiceImpl.java new file mode 100644 index 0000000..b75da58 --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/ruoyi/mf/service/impl/CustomerServiceImpl.java @@ -0,0 +1,185 @@ +package com.ruoyi.mf.service.impl; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import cn.hutool.core.util.ObjectUtil; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import com.ruoyi.common.core.utils.MapstructUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.orm.core.page.PageQuery; +import com.ruoyi.common.orm.core.page.TableDataInfo; +import com.ruoyi.common.orm.core.service.impl.BaseServiceImpl; +import com.ruoyi.common.core.utils.DateUtils; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.Arrays; +import com.ruoyi.mf.domain.Goods; +import com.ruoyi.mf.mapper.GoodsMapper; +import static com.ruoyi.mf.domain.table.GoodsTableDef.GOODS; +import com.ruoyi.mf.mapper.CustomerMapper; +import com.ruoyi.mf.domain.Customer; +import com.ruoyi.mf.domain.bo.CustomerBo; +import com.ruoyi.mf.domain.vo.CustomerVo; +import com.ruoyi.mf.service.ICustomerService; +import static com.ruoyi.mf.domain.table.CustomerTableDef.CUSTOMER; + +/** + * 客户主表Service业务层处理 + * + * @author 数据小王子 + * 2023-12-06 + */ +@Service +public class CustomerServiceImpl extends BaseServiceImpl implements ICustomerService +{ + @Resource + private CustomerMapper customerMapper; + @Resource + private GoodsMapper goodsMapper; + + @Override + public QueryWrapper query() { + return super.query().from(CUSTOMER); + } + + private QueryWrapper buildQueryWrapper(CustomerBo customerBo) { + QueryWrapper queryWrapper = super.buildBaseQueryWrapper(); + + if (StringUtils.isNotBlank(customerBo.getCustomerName())) { + queryWrapper.and(CUSTOMER.CUSTOMER_NAME.like(customerBo.getCustomerName())); + } + if (StringUtils.isNotBlank(customerBo.getPhonenumber())) { + queryWrapper.and(CUSTOMER.PHONENUMBER.eq(customerBo.getPhonenumber())); + } + if (StringUtils.isNotBlank(customerBo.getGender())) { + queryWrapper.and(CUSTOMER.GENDER.eq(customerBo.getGender())); + } + + return queryWrapper; + } + + /** + * 查询客户主表 + * + * @param customerId 客户主表主键 + * @return 客户主表 + */ + @Override + public CustomerVo selectById(Long customerId) + { + return customerMapper.selectOneWithRelationsByQueryAs(query().where(CUSTOMER.CUSTOMER_ID.eq(customerId)), CustomerVo.class); + + } + + /** + * 查询客户主表列表 + * + * @param customerBo 客户主表Bo + * @return 客户主表集合 + */ + @Override + public List selectList(CustomerBo customerBo) + { + QueryWrapper queryWrapper = buildQueryWrapper(customerBo); + return customerMapper.selectListWithRelationsByQueryAs(queryWrapper, CustomerVo.class); + } + + /** + * 分页查询客户主表列表 + * + * @param customerBo 客户主表Bo + * @return 分页客户主表集合 + */ + @Override + public TableDataInfo selectPage(CustomerBo customerBo) + { + QueryWrapper queryWrapper = buildQueryWrapper(customerBo); + Page page = customerMapper.paginateWithRelationsAs(PageQuery.build(), queryWrapper, CustomerVo.class); + return TableDataInfo.build(page); + } + + /** + * 新增客户主表 + * + * @param customerBo 客户主表Bo + * @return 结果:true 操作成功,false 操作失败 + */ + @Transactional + @Override + public boolean insert(CustomerBo customerBo) + { + Customer customer = MapstructUtils.convert(customerBo, Customer.class); + + boolean inserted = this.save(customer);//使用全局配置的雪花算法主键生成器生成ID值 + if (inserted && ObjectUtil.isNotNull(customer)) { + return insertGoods(customer); + } + return false; + } + + /** + * 修改客户主表 + * + * @param customerBo 客户主表Bo + * @return 结果:true 更新成功,false 更新失败 + */ + @Transactional + @Override + public boolean update(CustomerBo customerBo) + { + Customer customer = MapstructUtils.convert(customerBo, Customer.class); + if(ObjectUtil.isNotNull(customer) && ObjectUtil.isNotNull(customer.getCustomerId())) { + boolean updated = this.updateById(customer); + if (updated) { + QueryWrapper queryWrapper = QueryWrapper.create().from(GOODS).where(GOODS.CUSTOMER_ID.eq(customer.getCustomerId())); + goodsMapper.deleteByQuery(queryWrapper); + return insertGoods(customer); + } + } + return false; + } + + /** + * 批量删除客户主表 + * + * @param customerIds 需要删除的客户主表主键集合 + * @return 结果:true 删除成功,false 删除失败 + */ + @Transactional + @Override + public boolean deleteByIds(Long[] customerIds) + { + QueryWrapper queryWrapper = QueryWrapper.create().from(GOODS).where(GOODS.CUSTOMER_ID.in(Arrays.asList(customerIds))); + goodsMapper.deleteByQuery(queryWrapper); + return this.removeByIds(Arrays.asList(customerIds)); + } + + /** + * 新增商品子表信息 + * + * @param customer 客户主表对象 + */ + private boolean insertGoods(Customer customer) + { + List goodsList = customer.getGoodsList(); + Long customerId = customer.getCustomerId(); + if (StringUtils.isNotNull(goodsList)) + { + List list = new ArrayList<>(); + for (Goods goods : goodsList) + { + goods.setCustomerId(customerId); + list.add(goods); + } + if (list.size() > 0) + { + return goodsMapper.insertBatch(list)>0; + } + } + return true; + } +} diff --git a/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/mf/CustomerMapper.xml b/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/mf/CustomerMapper.xml new file mode 100644 index 0000000..7d0b7be --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/mf/CustomerMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/mf/GoodsMapper.xml b/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/mf/GoodsMapper.xml new file mode 100644 index 0000000..90023c5 --- /dev/null +++ b/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/mf/GoodsMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/bo.java.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/bo.java.vm index 05457da..8fc3306 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/bo.java.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/bo.java.vm @@ -1,6 +1,9 @@ package ${packageName}.domain.bo; import ${packageName}.domain.${ClassName}; +#if($table.sub) +import ${packageName}.domain.${subClassName}; +#end import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; @@ -51,4 +54,8 @@ public class ${ClassName}Bo extends ${Entity} #end #end +#if($table.sub) + /** $table.subTable.functionName信息 */ + private List<${subClassName}> ${subclassName}List; +#end }