From 24f44ad6ab0fa081fefb7ea37aea32b87d8a5110 Mon Sep 17 00:00:00 2001 From: cgx <2606784146@qq.com> Date: Sat, 19 Oct 2024 22:24:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E7=89=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- console_1.sql | 104 ++++++++ .../address/controller/TbAddressController.java | 156 +++++++++++ .../jeecg/modules/address/entity/TbAddress.java | 94 +++++++ .../modules/address/mapper/TbAddressMapper.java | 14 + .../modules/address/mapper/xml/TbAddressMapper.xml | 5 + .../modules/address/service/ITbAddressService.java | 14 + .../address/service/impl/TbAddressServiceImpl.java | 19 ++ .../jeecg/modules/address/vue/TbAddressList.vue | 225 ++++++++++++++++ .../modules/address/vue/modules/TbAddressForm.vue | 161 ++++++++++++ .../vue/modules/TbAddressModal.Style#Drawer.vue | 84 ++++++ .../modules/address/vue/modules/TbAddressModal.vue | 60 +++++ .../jeecg/modules/address/vue3/TbAddress.api.ts | 61 +++++ .../jeecg/modules/address/vue3/TbAddress.data.ts | 133 ++++++++++ .../jeecg/modules/address/vue3/TbAddressList.vue | 162 ++++++++++++ .../address/vue3/components/TbAddressModal.vue | 58 +++++ .../product/controller/TbProductController.java | 2 +- .../tbCustoms/controller/TbCustomsController.java | 156 +++++++++++ .../jeecg/modules/tbCustoms/entity/TbCustoms.java | 115 +++++++++ .../modules/tbCustoms/mapper/TbCustomsMapper.java | 14 + .../tbCustoms/mapper/xml/TbCustomsMapper.xml | 5 + .../tbCustoms/service/ITbCustomsService.java | 14 + .../service/impl/TbCustomsServiceImpl.java | 19 ++ .../jeecg/modules/tbCustoms/vue/TbCustomsList.vue | 284 +++++++++++++++++++++ .../tbCustoms/vue/modules/TbCustomsForm.vue | 164 ++++++++++++ .../vue/modules/TbCustomsModal.Style#Drawer.vue | 84 ++++++ .../tbCustoms/vue/modules/TbCustomsModal.vue | 60 +++++ .../jeecg/modules/tbCustoms/vue3/TbCustoms.api.ts | 61 +++++ .../jeecg/modules/tbCustoms/vue3/TbCustoms.data.ts | 194 ++++++++++++++ .../jeecg/modules/tbCustoms/vue3/TbCustomsList.vue | 162 ++++++++++++ .../tbCustoms/vue3/components/TbCustomsModal.vue | 58 +++++ .../tbSuggest/controller/TbSuggestController.java | 156 +++++++++++ .../jeecg/modules/tbSuggest/entity/TbSuggest.java | 101 ++++++++ .../modules/tbSuggest/mapper/TbSuggestMapper.java | 14 + .../tbSuggest/mapper/xml/TbSuggestMapper.xml | 5 + .../tbSuggest/service/ITbSuggestService.java | 14 + .../service/impl/TbSuggestServiceImpl.java | 19 ++ .../jeecg/modules/tbSuggest/vue/TbSuggestList.vue | 219 ++++++++++++++++ .../tbSuggest/vue/modules/TbSuggestForm.vue | 124 +++++++++ .../vue/modules/TbSuggestModal.Style#Drawer.vue | 84 ++++++ .../tbSuggest/vue/modules/TbSuggestModal.vue | 60 +++++ .../jeecg/modules/tbSuggest/vue3/TbSuggest.api.ts | 61 +++++ .../jeecg/modules/tbSuggest/vue3/TbSuggest.data.ts | 81 ++++++ .../jeecg/modules/tbSuggest/vue3/TbSuggestList.vue | 162 ++++++++++++ .../tbSuggest/vue3/components/TbSuggestModal.vue | 58 +++++ .../alUser/controller/AddressController.java | 101 ++++++++ .../modules/alUser/controller/IndexController.java | 40 ++- .../alUser/controller/ProductController.java | 164 ++++++++---- .../alUser/service/impl/UserServiceImpl.java | 11 +- .../org/jeecg/modules/postBean/AddressReq.java | 60 +++++ .../org/jeecg/modules/postBean/CustomsReq.java | 86 +++++++ .../org/jeecg/modules/postBean/SuggestReq.java | 44 ++++ .../jeecg/modules/product/entity/ProductReq.java | 5 - 52 files changed, 4351 insertions(+), 60 deletions(-) create mode 100644 console_1.sql create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/controller/TbAddressController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/entity/TbAddress.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/TbAddressMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/xml/TbAddressMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/ITbAddressService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/impl/TbAddressServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/TbAddressList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddressList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/components/TbAddressModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/controller/TbCustomsController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/entity/TbCustoms.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/TbCustomsMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/xml/TbCustomsMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/ITbCustomsService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/impl/TbCustomsServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/TbCustomsList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustomsList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/components/TbCustomsModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/controller/TbSuggestController.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/entity/TbSuggest.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/TbSuggestMapper.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/xml/TbSuggestMapper.xml create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/ITbSuggestService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/impl/TbSuggestServiceImpl.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/TbSuggestList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestForm.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.Style#Drawer.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.api.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.data.ts create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggestList.vue create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/components/TbSuggestModal.vue create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/AddressController.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/AddressReq.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/CustomsReq.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/SuggestReq.java diff --git a/console_1.sql b/console_1.sql new file mode 100644 index 0000000..8a5f925 --- /dev/null +++ b/console_1.sql @@ -0,0 +1,104 @@ +create table tb_product +( + id varchar(36) not null + primary key, + user_id varchar(32) null comment '用户id', + buy_user_id varchar(32) null comment '采购用户id', + company_name varchar(64) null comment '供应商名称', + user_name varchar(32) null comment '客户姓名', + phone varchar(32) null comment '客户电话', + address varchar(128) null comment '提货地址', + address_id varchar(32) null comment '地址id', + pic text null comment '报价照片', + price decimal(10, 2) default 0.00 not null comment '单价', + num bigint(32) default 0 null comment '暂定数量、', + audit_status int null comment '审核状态 0审核中 1 审核通过 2审核未通过', + show_status int null comment '挂单状态 0挂单 1 已撤单', + product_type int null comment '期货现货 0期货 1 现货', + transaction_time datetime null comment '交货时间', + create_by varchar(50) null comment '创建人', + create_time datetime null comment '创建日期', + update_by varchar(50) null comment '更新人', + update_time datetime null comment '更新日期', + sys_org_code varchar(64) null comment '所属部门', + del_flag tinyint(1) default 0 not null comment '删除标识0-正常,1-已删除' +); + + +create table tb_user_role +( + id varchar(36) not null + primary key, + user_id varchar(32) null comment '用户id', + role int null comment '角色信息 1供应商 2采购商', + user_name varchar(32) null comment '用户名', + company_name varchar(64) null comment '公司名称', + tax_code varchar(32) null comment '税收编码', + address varchar(128) null comment '公司地址', + bank_account varchar(32) null comment '公司账号', + phone varchar(32) null comment '电话', + bank_nama varchar(32) null comment '开户行', + business_license text null comment '营业执照上传', + basic_account text null comment '基本户信息照片上传', + bank_info text null comment '收款银行照片上传', + audit_status int null comment '审核状态 0审核中 1 审核通过 2审核未通过', + create_by varchar(50) null comment '创建人', + create_time datetime null comment '创建日期', + update_by varchar(50) null comment '更新人', + update_time datetime null comment '更新日期', + sys_org_code varchar(64) null comment '所属部门' +); + +create index idx_phone + on tb_user_role (phone, user_name); + +create index idx_userid + on tb_user_role (user_id); + + + +create table tb_suggest +( + id varchar(36) not null + primary key, + user_id varchar(20) null comment '用户id', + user_name varchar(32) null comment '用户名', + user_phone varchar(64) null comment '用户手机号', + content longtext null comment '问题描述', + proof_img longtext null comment '问题截图', + submit_time date null comment '提交时间', + is_reply int null comment '是否回复(0:未回复 1:已回复)', + reply_msg varchar(512) null comment '回复结果', + reply_time date null comment '回复时间', + reply_id varchar(19) null comment '回复人', + create_by varchar(50) null comment '创建人', + create_time date null comment '创建日期', + update_by varchar(50) null comment '更新人', + update_time date null comment '更新日期', + sys_org_code varchar(64) null comment '所属部门' +); + +create table tb_customs +( + id varchar(36) not null + primary key, + user_id varchar(32) null comment '用户id', + role int null comment '角色信息 1供应商 2采购商', + user_name varchar(32) null comment '用户名', + password varchar(64) null comment '密码', + company_name varchar(64) null comment '公司名称', + tax_code varchar(32) null comment '税收编码', + address varchar(128) null comment '公司地址', + bank_account varchar(32) null comment '公司账号', + phone varchar(32) null comment '电话', + bank_nama varchar(32) null comment '开户行', + business_license longtext null comment '营业执照上传', + basic_account longtext null comment '基本户信息照片上传', + bank_info longtext null comment '收款银行照片上传', + audit_status int null comment '审核状态 0审核中 1 审核通过 2审核未通过', + create_by varchar(50) null comment '创建人', + create_time date null comment '创建日期', + update_by varchar(50) null comment '更新人', + update_time date null comment '更新日期', + sys_org_code varchar(64) null comment '所属部门' +); diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/controller/TbAddressController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/controller/TbAddressController.java new file mode 100644 index 0000000..50b754c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/controller/TbAddressController.java @@ -0,0 +1,156 @@ +package org.jeecg.modules.address.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.address.entity.TbAddress; +import org.jeecg.modules.address.service.ITbAddressService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 用户地址表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Api(tags="用户地址表") +@RestController +@RequestMapping("/address/tbAddress") +@Slf4j +public class TbAddressController extends JeecgController { + @Autowired + private ITbAddressService tbAddressService; + + /** + * 分页列表查询 + * + * @param tbAddress + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "用户地址表-分页列表查询") + @ApiOperation(value="用户地址表-分页列表查询", notes="用户地址表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TbAddress tbAddress, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(tbAddress, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbAddressService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param tbAddress + * @return + */ + @AutoLog(value = "用户地址表-添加") + @ApiOperation(value="用户地址表-添加", notes="用户地址表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TbAddress tbAddress) { + tbAddressService.save(tbAddress); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param tbAddress + * @return + */ + @AutoLog(value = "用户地址表-编辑") + @ApiOperation(value="用户地址表-编辑", notes="用户地址表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TbAddress tbAddress) { + tbAddressService.updateById(tbAddress); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "用户地址表-通过id删除") + @ApiOperation(value="用户地址表-通过id删除", notes="用户地址表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + tbAddressService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "用户地址表-批量删除") + @ApiOperation(value="用户地址表-批量删除", notes="用户地址表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.tbAddressService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "用户地址表-通过id查询") + @ApiOperation(value="用户地址表-通过id查询", notes="用户地址表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TbAddress tbAddress = tbAddressService.getById(id); + if(tbAddress==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(tbAddress); + } + + /** + * 导出excel + * + * @param request + * @param tbAddress + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TbAddress tbAddress) { + return super.exportXls(request, tbAddress, TbAddress.class, "用户地址表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TbAddress.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/entity/TbAddress.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/entity/TbAddress.java new file mode 100644 index 0000000..cc3a714 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/entity/TbAddress.java @@ -0,0 +1,94 @@ +package org.jeecg.modules.address.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 用户地址表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Data +@TableName("tb_address") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="tb_address对象", description="用户地址表") +public class TbAddress implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private java.lang.String userId; + /**收获详细地址*/ + @Excel(name = "收获详细地址", width = 15) + @ApiModelProperty(value = "收获详细地址") + private java.lang.String address; + /**收货手机号*/ + @Excel(name = "收货手机号", width = 15) + @ApiModelProperty(value = "收货手机号") + private java.lang.String phone; + /**城市*/ + @Excel(name = "城市", width = 15) + @ApiModelProperty(value = "城市") + private java.lang.String city; + /**经度*/ + @Excel(name = "经度", width = 15) + @ApiModelProperty(value = "经度") + private java.lang.String latitude; + /**纬度*/ + @Excel(name = "纬度", width = 15) + @ApiModelProperty(value = "纬度") + private java.lang.String longitude; + /**是否默认地址 0非默认 1默认*/ + @Excel(name = "是否默认地址 0非默认 1默认", width = 15) + @ApiModelProperty(value = "是否默认地址 0非默认 1默认") + private java.lang.Integer defaultFlag; + /**收货人*/ + @Excel(name = "收货人", width = 15) + @ApiModelProperty(value = "收货人") + private java.lang.String name; + /**禁用0不禁用 1禁用*/ + @Excel(name = "禁用0不禁用 1禁用", width = 15) + @ApiModelProperty(value = "禁用0不禁用 1禁用") + private java.lang.Integer isDisable; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**删除标识0-正常,1-已删除*/ + @Excel(name = "删除标识0-正常,1-已删除", width = 15) + @ApiModelProperty(value = "删除标识0-正常,1-已删除") + private java.lang.Integer delFlag; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/TbAddressMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/TbAddressMapper.java new file mode 100644 index 0000000..f416f1e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/TbAddressMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.address.mapper; + +import org.jeecg.modules.address.entity.TbAddress; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 用户地址表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +public interface TbAddressMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/xml/TbAddressMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/xml/TbAddressMapper.xml new file mode 100644 index 0000000..c6f083c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/mapper/xml/TbAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/ITbAddressService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/ITbAddressService.java new file mode 100644 index 0000000..053086b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/ITbAddressService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.address.service; + +import org.jeecg.modules.address.entity.TbAddress; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 用户地址表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +public interface ITbAddressService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/impl/TbAddressServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/impl/TbAddressServiceImpl.java new file mode 100644 index 0000000..d61ca93 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/service/impl/TbAddressServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.address.service.impl; + +import org.jeecg.modules.address.entity.TbAddress; +import org.jeecg.modules.address.mapper.TbAddressMapper; +import org.jeecg.modules.address.service.ITbAddressService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 用户地址表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Service +public class TbAddressServiceImpl extends ServiceImpl implements ITbAddressService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/TbAddressList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/TbAddressList.vue new file mode 100644 index 0000000..68c35d7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/TbAddressList.vue @@ -0,0 +1,225 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressForm.vue new file mode 100644 index 0000000..fcc31c5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressForm.vue @@ -0,0 +1,161 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.Style#Drawer.vue new file mode 100644 index 0000000..4ea0504 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.vue new file mode 100644 index 0000000..7132179 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue/modules/TbAddressModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.api.ts new file mode 100644 index 0000000..c8fc959 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/address/tbAddress/list', + save='/address/tbAddress/add', + edit='/address/tbAddress/edit', + deleteOne = '/address/tbAddress/delete', + deleteBatch = '/address/tbAddress/deleteBatch', + importExcel = '/address/tbAddress/importExcel', + exportXls = '/address/tbAddress/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.data.ts new file mode 100644 index 0000000..7ab1d04 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddress.data.ts @@ -0,0 +1,133 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '用户id', + align:"center", + dataIndex: 'userId' + }, + { + title: '收获详细地址', + align:"center", + dataIndex: 'address' + }, + { + title: '收货手机号', + align:"center", + dataIndex: 'phone' + }, + { + title: '城市', + align:"center", + dataIndex: 'city' + }, + { + title: '经度', + align:"center", + dataIndex: 'latitude' + }, + { + title: '纬度', + align:"center", + dataIndex: 'longitude' + }, + { + title: '是否默认地址 0非默认 1默认', + align:"center", + dataIndex: 'defaultFlag' + }, + { + title: '收货人', + align:"center", + dataIndex: 'name' + }, + { + title: '禁用0不禁用 1禁用', + align:"center", + dataIndex: 'isDisable' + }, + { + title: '删除标识0-正常,1-已删除', + align:"center", + dataIndex: 'delFlag' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户id', + field: 'userId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户id!'}, + ]; + }, + }, + { + label: '收获详细地址', + field: 'address', + component: 'Input', + }, + { + label: '收货手机号', + field: 'phone', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入收货手机号!'}, + ]; + }, + }, + { + label: '城市', + field: 'city', + component: 'Input', + }, + { + label: '经度', + field: 'latitude', + component: 'Input', + }, + { + label: '纬度', + field: 'longitude', + component: 'Input', + }, + { + label: '是否默认地址 0非默认 1默认', + field: 'defaultFlag', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入是否默认地址 0非默认 1默认!'}, + ]; + }, + }, + { + label: '收货人', + field: 'name', + component: 'Input', + }, + { + label: '禁用0不禁用 1禁用', + field: 'isDisable', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入禁用0不禁用 1禁用!'}, + ]; + }, + }, + { + label: '删除标识0-正常,1-已删除', + field: 'delFlag', + component: 'InputNumber', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddressList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddressList.vue new file mode 100644 index 0000000..b9fd799 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/TbAddressList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/components/TbAddressModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/components/TbAddressModal.vue new file mode 100644 index 0000000..1f28c50 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/address/vue3/components/TbAddressModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java index b4f60ca..c57abc9 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java @@ -56,7 +56,7 @@ public class TbProductController extends JeecgController pageList = tbProductService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/controller/TbCustomsController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/controller/TbCustomsController.java new file mode 100644 index 0000000..32b7d4e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/controller/TbCustomsController.java @@ -0,0 +1,156 @@ +package org.jeecg.modules.tbCustoms.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.tbCustoms.entity.TbCustoms; +import org.jeecg.modules.tbCustoms.service.ITbCustomsService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 清关申请 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Api(tags="清关申请") +@RestController +@RequestMapping("/tbCustoms/tbCustoms") +@Slf4j +public class TbCustomsController extends JeecgController { + @Autowired + private ITbCustomsService tbCustomsService; + + /** + * 分页列表查询 + * + * @param tbCustoms + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "清关申请-分页列表查询") + @ApiOperation(value="清关申请-分页列表查询", notes="清关申请-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TbCustoms tbCustoms, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(tbCustoms, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbCustomsService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param tbCustoms + * @return + */ + @AutoLog(value = "清关申请-添加") + @ApiOperation(value="清关申请-添加", notes="清关申请-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TbCustoms tbCustoms) { + tbCustomsService.save(tbCustoms); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param tbCustoms + * @return + */ + @AutoLog(value = "清关申请-编辑") + @ApiOperation(value="清关申请-编辑", notes="清关申请-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TbCustoms tbCustoms) { + tbCustomsService.updateById(tbCustoms); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "清关申请-通过id删除") + @ApiOperation(value="清关申请-通过id删除", notes="清关申请-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + tbCustomsService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "清关申请-批量删除") + @ApiOperation(value="清关申请-批量删除", notes="清关申请-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.tbCustomsService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "清关申请-通过id查询") + @ApiOperation(value="清关申请-通过id查询", notes="清关申请-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TbCustoms tbCustoms = tbCustomsService.getById(id); + if(tbCustoms==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(tbCustoms); + } + + /** + * 导出excel + * + * @param request + * @param tbCustoms + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TbCustoms tbCustoms) { + return super.exportXls(request, tbCustoms, TbCustoms.class, "清关申请"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TbCustoms.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/entity/TbCustoms.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/entity/TbCustoms.java new file mode 100644 index 0000000..4e0d35d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/entity/TbCustoms.java @@ -0,0 +1,115 @@ +package org.jeecg.modules.tbCustoms.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 清关申请 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Data +@TableName("tb_customs") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="tb_customs对象", description="清关申请") +public class TbCustoms implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private java.lang.String userId; + /**角色信息 1供应商 2采购商*/ + @Excel(name = "角色信息 1供应商 2采购商", width = 15, dicCode = "user_role") + @Dict(dicCode = "user_role") + @ApiModelProperty(value = "角色信息 1供应商 2采购商") + private java.lang.Integer role; + /**用户名*/ + @Excel(name = "用户名", width = 15) + @ApiModelProperty(value = "用户名") + private java.lang.String userName; + /**密码*/ + @Excel(name = "密码", width = 15) + @ApiModelProperty(value = "密码") + private java.lang.String password; + /**公司名称*/ + @Excel(name = "公司名称", width = 15) + @ApiModelProperty(value = "公司名称") + private java.lang.String companyName; + /**税收编码*/ + @Excel(name = "税收编码", width = 15) + @ApiModelProperty(value = "税收编码") + private java.lang.String taxCode; + /**公司地址*/ + @Excel(name = "公司地址", width = 15) + @ApiModelProperty(value = "公司地址") + private java.lang.String address; + /**公司账号*/ + @Excel(name = "公司账号", width = 15) + @ApiModelProperty(value = "公司账号") + private java.lang.String bankAccount; + /**电话*/ + @Excel(name = "电话", width = 15) + @ApiModelProperty(value = "电话") + private java.lang.String phone; + /**开户行*/ + @Excel(name = "开户行", width = 15) + @ApiModelProperty(value = "开户行") + private java.lang.String bankNama; + /**营业执照上传*/ + @Excel(name = "营业执照上传", width = 15) + @ApiModelProperty(value = "营业执照上传") + private java.lang.String businessLicense; + /**基本户信息照片上传*/ + @Excel(name = "基本户信息照片上传", width = 15) + @ApiModelProperty(value = "基本户信息照片上传") + private java.lang.String basicAccount; + /**收款银行照片上传*/ + @Excel(name = "收款银行照片上传", width = 15) + @ApiModelProperty(value = "收款银行照片上传") + private java.lang.String bankInfo; + /**审核状态 0审核中 1 审核通过 2审核未通过*/ + @Excel(name = "审核状态 0审核中 1 审核通过 2审核未通过", width = 15, dicCode = "audit_status") + @Dict(dicCode = "audit_status") + @ApiModelProperty(value = "审核状态 0审核中 1 审核通过 2审核未通过") + private java.lang.Integer auditStatus; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/TbCustomsMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/TbCustomsMapper.java new file mode 100644 index 0000000..028c200 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/TbCustomsMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.tbCustoms.mapper; + +import org.jeecg.modules.tbCustoms.entity.TbCustoms; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 清关申请 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +public interface TbCustomsMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/xml/TbCustomsMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/xml/TbCustomsMapper.xml new file mode 100644 index 0000000..98c6236 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/mapper/xml/TbCustomsMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/ITbCustomsService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/ITbCustomsService.java new file mode 100644 index 0000000..42ccd49 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/ITbCustomsService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.tbCustoms.service; + +import org.jeecg.modules.tbCustoms.entity.TbCustoms; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 清关申请 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +public interface ITbCustomsService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/impl/TbCustomsServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/impl/TbCustomsServiceImpl.java new file mode 100644 index 0000000..0f9ff27 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/service/impl/TbCustomsServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.tbCustoms.service.impl; + +import org.jeecg.modules.tbCustoms.entity.TbCustoms; +import org.jeecg.modules.tbCustoms.mapper.TbCustomsMapper; +import org.jeecg.modules.tbCustoms.service.ITbCustomsService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 清关申请 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Service +public class TbCustomsServiceImpl extends ServiceImpl implements ITbCustomsService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/TbCustomsList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/TbCustomsList.vue new file mode 100644 index 0000000..8fe8fae --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/TbCustomsList.vue @@ -0,0 +1,284 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsForm.vue new file mode 100644 index 0000000..fbff815 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsForm.vue @@ -0,0 +1,164 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.Style#Drawer.vue new file mode 100644 index 0000000..8d62fda --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.vue new file mode 100644 index 0000000..84a7266 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue/modules/TbCustomsModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.api.ts new file mode 100644 index 0000000..6132dd2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/tbCustoms/tbCustoms/list', + save='/tbCustoms/tbCustoms/add', + edit='/tbCustoms/tbCustoms/edit', + deleteOne = '/tbCustoms/tbCustoms/delete', + deleteBatch = '/tbCustoms/tbCustoms/deleteBatch', + importExcel = '/tbCustoms/tbCustoms/importExcel', + exportXls = '/tbCustoms/tbCustoms/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.data.ts new file mode 100644 index 0000000..2db40c3 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustoms.data.ts @@ -0,0 +1,194 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '用户id', + align:"center", + dataIndex: 'userId' + }, + { + title: '角色信息 1供应商 2采购商', + align:"center", + dataIndex: 'role_dictText' + }, + { + title: '用户名', + align:"center", + dataIndex: 'userName' + }, + { + title: '公司名称', + align:"center", + dataIndex: 'companyName' + }, + { + title: '税收编码', + align:"center", + dataIndex: 'taxCode' + }, + { + title: '公司地址', + align:"center", + dataIndex: 'address' + }, + { + title: '公司账号', + align:"center", + dataIndex: 'bankAccount' + }, + { + title: '电话', + align:"center", + dataIndex: 'phone' + }, + { + title: '开户行', + align:"center", + dataIndex: 'bankNama' + }, + { + title: '营业执照上传', + align:"center", + dataIndex: 'businessLicense', + customRender:render.renderAvatar, + }, + { + title: '基本户信息照片上传', + align:"center", + dataIndex: 'basicAccount', + customRender:render.renderAvatar, + }, + { + title: '收款银行照片上传', + align:"center", + dataIndex: 'bankInfo', + customRender:render.renderAvatar, + }, + { + title: '审核状态 0审核中 1 审核通过 2审核未通过', + align:"center", + dataIndex: 'auditStatus_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "角色信息 1供应商 2采购商", + field: "role", + component: 'JDictSelectTag', + componentProps:{ + dictCode:"user_role" + }, + colProps: {span: 6}, + }, + { + label: "用户名", + field: "userName", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "公司名称", + field: "companyName", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "电话", + field: "phone", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "审核状态 0审核中 1 审核通过 2审核未通过", + field: "auditStatus", + component: 'JDictSelectTag', + componentProps:{ + dictCode:"audit_status" + }, + colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户id', + field: 'userId', + component: 'Input', + }, + { + label: '角色信息 1供应商 2采购商', + field: 'role', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"user_role" + }, + }, + { + label: '用户名', + field: 'userName', + component: 'Input', + }, + { + label: '公司名称', + field: 'companyName', + component: 'Input', + }, + { + label: '税收编码', + field: 'taxCode', + component: 'Input', + }, + { + label: '公司地址', + field: 'address', + component: 'Input', + }, + { + label: '公司账号', + field: 'bankAccount', + component: 'Input', + }, + { + label: '电话', + field: 'phone', + component: 'Input', + }, + { + label: '开户行', + field: 'bankNama', + component: 'Input', + }, + { + label: '营业执照上传', + field: 'businessLicense', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '基本户信息照片上传', + field: 'basicAccount', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '收款银行照片上传', + field: 'bankInfo', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '审核状态 0审核中 1 审核通过 2审核未通过', + field: 'auditStatus', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"audit_status" + }, + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustomsList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustomsList.vue new file mode 100644 index 0000000..cad9df1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/TbCustomsList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/components/TbCustomsModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/components/TbCustomsModal.vue new file mode 100644 index 0000000..7def4dc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbCustoms/vue3/components/TbCustomsModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/controller/TbSuggestController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/controller/TbSuggestController.java new file mode 100644 index 0000000..551f9d6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/controller/TbSuggestController.java @@ -0,0 +1,156 @@ +package org.jeecg.modules.tbSuggest.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.tbSuggest.entity.TbSuggest; +import org.jeecg.modules.tbSuggest.service.ITbSuggestService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 帮助与反馈 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Api(tags="帮助与反馈") +@RestController +@RequestMapping("/tbSuggest/tbSuggest") +@Slf4j +public class TbSuggestController extends JeecgController { + @Autowired + private ITbSuggestService tbSuggestService; + + /** + * 分页列表查询 + * + * @param tbSuggest + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "帮助与反馈-分页列表查询") + @ApiOperation(value="帮助与反馈-分页列表查询", notes="帮助与反馈-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TbSuggest tbSuggest, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(tbSuggest, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbSuggestService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param tbSuggest + * @return + */ + @AutoLog(value = "帮助与反馈-添加") + @ApiOperation(value="帮助与反馈-添加", notes="帮助与反馈-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TbSuggest tbSuggest) { + tbSuggestService.save(tbSuggest); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param tbSuggest + * @return + */ + @AutoLog(value = "帮助与反馈-编辑") + @ApiOperation(value="帮助与反馈-编辑", notes="帮助与反馈-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TbSuggest tbSuggest) { + tbSuggestService.updateById(tbSuggest); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "帮助与反馈-通过id删除") + @ApiOperation(value="帮助与反馈-通过id删除", notes="帮助与反馈-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + tbSuggestService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "帮助与反馈-批量删除") + @ApiOperation(value="帮助与反馈-批量删除", notes="帮助与反馈-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.tbSuggestService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "帮助与反馈-通过id查询") + @ApiOperation(value="帮助与反馈-通过id查询", notes="帮助与反馈-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TbSuggest tbSuggest = tbSuggestService.getById(id); + if(tbSuggest==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(tbSuggest); + } + + /** + * 导出excel + * + * @param request + * @param tbSuggest + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TbSuggest tbSuggest) { + return super.exportXls(request, tbSuggest, TbSuggest.class, "帮助与反馈"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TbSuggest.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/entity/TbSuggest.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/entity/TbSuggest.java new file mode 100644 index 0000000..985ecd4 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/entity/TbSuggest.java @@ -0,0 +1,101 @@ +package org.jeecg.modules.tbSuggest.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 帮助与反馈 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Data +@TableName("tb_suggest") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="tb_suggest对象", description="帮助与反馈") +public class TbSuggest implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键编号*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键编号") + private java.lang.String id; + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private java.lang.String userId; + /**用户名*/ + @Excel(name = "用户名", width = 15) + @ApiModelProperty(value = "用户名") + private java.lang.String userName; + /**用户手机号*/ + @Excel(name = "用户手机号", width = 15) + @ApiModelProperty(value = "用户手机号") + private java.lang.String userPhone; + /**问题描述*/ + @Excel(name = "问题描述", width = 15) + @ApiModelProperty(value = "问题描述") + private java.lang.String content; + /**问题截图*/ + @Excel(name = "问题截图", width = 15) + @ApiModelProperty(value = "问题截图") + private java.lang.String proofImg; + /**提交时间*/ + @Excel(name = "提交时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "提交时间") + private java.util.Date submitTime; + /**是否回复(0:未回复 1:已回复)*/ + @Excel(name = "是否回复(0:未回复 1:已回复)", width = 15) + @ApiModelProperty(value = "是否回复(0:未回复 1:已回复)") + private java.lang.Integer isReply; + /**回复结果*/ + @Excel(name = "回复结果", width = 15) + @ApiModelProperty(value = "回复结果") + private java.lang.String replyMsg; + /**回复时间*/ + @Excel(name = "回复时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "回复时间") + private java.util.Date replyTime; + /**回复人*/ + @Excel(name = "回复人", width = 15) + @ApiModelProperty(value = "回复人") + private java.lang.String replyId; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/TbSuggestMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/TbSuggestMapper.java new file mode 100644 index 0000000..7faba1f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/TbSuggestMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.tbSuggest.mapper; + +import org.jeecg.modules.tbSuggest.entity.TbSuggest; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 帮助与反馈 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +public interface TbSuggestMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/xml/TbSuggestMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/xml/TbSuggestMapper.xml new file mode 100644 index 0000000..e93c3b8 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/mapper/xml/TbSuggestMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/ITbSuggestService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/ITbSuggestService.java new file mode 100644 index 0000000..a3e5756 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/ITbSuggestService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.tbSuggest.service; + +import org.jeecg.modules.tbSuggest.entity.TbSuggest; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 帮助与反馈 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +public interface ITbSuggestService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/impl/TbSuggestServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/impl/TbSuggestServiceImpl.java new file mode 100644 index 0000000..1cf1843 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/service/impl/TbSuggestServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.tbSuggest.service.impl; + +import org.jeecg.modules.tbSuggest.entity.TbSuggest; +import org.jeecg.modules.tbSuggest.mapper.TbSuggestMapper; +import org.jeecg.modules.tbSuggest.service.ITbSuggestService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 帮助与反馈 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Service +public class TbSuggestServiceImpl extends ServiceImpl implements ITbSuggestService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/TbSuggestList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/TbSuggestList.vue new file mode 100644 index 0000000..7b69036 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/TbSuggestList.vue @@ -0,0 +1,219 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestForm.vue new file mode 100644 index 0000000..7af81fa --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.Style#Drawer.vue new file mode 100644 index 0000000..1fb1e0e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.vue new file mode 100644 index 0000000..0b9a03e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue/modules/TbSuggestModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.api.ts new file mode 100644 index 0000000..7ea1a36 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/tbSuggest/tbSuggest/list', + save='/tbSuggest/tbSuggest/add', + edit='/tbSuggest/tbSuggest/edit', + deleteOne = '/tbSuggest/tbSuggest/delete', + deleteBatch = '/tbSuggest/tbSuggest/deleteBatch', + importExcel = '/tbSuggest/tbSuggest/importExcel', + exportXls = '/tbSuggest/tbSuggest/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.data.ts new file mode 100644 index 0000000..913af8c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggest.data.ts @@ -0,0 +1,81 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '用户名', + align:"center", + dataIndex: 'userName' + }, + { + title: '用户手机号', + align:"center", + dataIndex: 'userPhone' + }, + { + title: '问题描述', + align:"center", + dataIndex: 'content' + }, + { + title: '问题截图', + align:"center", + dataIndex: 'proofImg', + customRender:render.renderAvatar, + }, + { + title: '提交时间', + align:"center", + dataIndex: 'submitTime', + customRender:({text}) =>{ + return !text?"":(text.length>10?text.substr(0,10):text) + }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "用户名", + field: "userName", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "用户手机号", + field: "userPhone", + component: 'Input', + colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户名', + field: 'userName', + component: 'Input', + }, + { + label: '用户手机号', + field: 'userPhone', + component: 'Input', + }, + { + label: '问题描述', + field: 'content', + component: 'Input', + }, + { + label: '问题截图', + field: 'proofImg', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '提交时间', + field: 'submitTime', + component: 'DatePicker', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggestList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggestList.vue new file mode 100644 index 0000000..8229190 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/TbSuggestList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/components/TbSuggestModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/components/TbSuggestModal.vue new file mode 100644 index 0000000..b3d3da6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/tbSuggest/vue3/components/TbSuggestModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/AddressController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/AddressController.java new file mode 100644 index 0000000..4d976b2 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/AddressController.java @@ -0,0 +1,101 @@ +package org.jeecg.modules.alUser.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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.common.system.query.QueryGenerator; +import org.jeecg.config.shiro.ShiroRealm; +import org.jeecg.modules.address.entity.TbAddress; +import org.jeecg.modules.address.service.ITbAddressService; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.postBean.AddressReq; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** +* @Description: 用户地址表 +* @Author: jeecg-boot +* @Date: 2024-10-19 +* @Version: V1.0 +*/ +@Api(tags="用户地址") +@RestController +@RequestMapping("/address") +@Slf4j +public class AddressController extends JeecgController { + @Autowired + private ITbAddressService tbAddressService; + @Resource + private ShiroRealm shiroRealm; + /** + * 分页列表查询 + * + * @param + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "用户地址表-分页列表查询") + @ApiOperation(value="用户地址表-分页列表查询", notes="用户地址表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList( + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(new TbAddress(), req.getParameterMap()); + queryWrapper.eq("is_disable",0).orderByDesc("create_time"); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbAddressService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param tbAddress + * @return + */ + @ApiOperation(value="用户地址表-添加", notes="用户地址表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody AddressReq tbAddress, @RequestHeader("X-Access-Token") String token) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); + TbAddress tbAddress1 = new TbAddress(); + BeanUtils.copyProperties(tbAddress, tbAddress1); + tbAddress1.setUserId(hanHaiMember.getId()); + tbAddressService.save(tbAddress1); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param tbAddress + * @return + */ + @ApiOperation(value="用户地址表-编辑", notes="用户地址表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody AddressReq tbAddress) { + TbAddress tbAddress1 = new TbAddress(); + BeanUtils.copyProperties(tbAddress, tbAddress1); + tbAddressService.updateById(tbAddress1); + return Result.OK("编辑成功!"); + } + + + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/IndexController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/IndexController.java index 895d83f..6aa3850 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/IndexController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/IndexController.java @@ -6,13 +6,18 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.util.RedisUtil; +import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.alUser.service.UserService; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.postBean.SuggestReq; +import org.jeecg.modules.tbSuggest.entity.TbSuggest; +import org.jeecg.modules.tbSuggest.service.ITbSuggestService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * @Author scott @@ -24,11 +29,11 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j public class IndexController { @Autowired - private IHanHaiMemberService iHanHaiMemberService; + private ITbSuggestService tbSuggestService; @Autowired - private RedisUtil redisUtil; + private IHanHaiMemberService hanHaiMemberService; @Autowired - private UserService userService; + private ShiroRealm shiroRealm; @ApiOperation(value = "铝价接口") @@ -39,5 +44,28 @@ public class IndexController { return Result.ok(jsonObject); } + @ApiOperation(value = "我的头像昵称,平台客户电话等信息") + @RequestMapping(value = "/index", method = RequestMethod.POST) + public Result index(@RequestHeader("X-Access-Token") String token) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); + hanHaiMember.setPasswordSalt(null); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("phone","123456"); + jsonObject.put("my",hanHaiMember); + + return Result.ok(jsonObject); + } + + @ApiOperation(value="帮助与反馈", notes="帮助与反馈") + @PostMapping(value = "/addSuggest") + public Result addSuggest(@RequestBody SuggestReq tbSuggest, @RequestHeader("X-Access-Token") String token) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); + TbSuggest tbSuggest1 = new TbSuggest(); + BeanUtils.copyProperties(tbSuggest, tbSuggest1); + tbSuggest1.setUserId(hanHaiMember.getId()); + tbSuggestService.save(tbSuggest1); + return Result.OK("添加成功!"); + } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java index 4c74b1a..2611f92 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java @@ -9,64 +9,140 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.config.shiro.ShiroRealm; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.postBean.CustomsReq; import org.jeecg.modules.product.entity.ProductReq; import org.jeecg.modules.product.entity.TbProduct; import org.jeecg.modules.product.service.ProductService; +import org.jeecg.modules.tbCustoms.entity.TbCustoms; +import org.jeecg.modules.tbCustoms.service.ITbCustomsService; +import org.jeecg.modules.utils.ValidateTool; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import static com.jeecg.qywx.api.base.JwParamesAPI.token; + /** -* @Description: 产品报价表 -* @Author: jeecg-boot -* @Date: 2024-10-19 -* @Version: V1.0 -*/ -@Api(tags="产品报价") + * @Description: 产品报价表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Api(tags = "产品报价") @RestController @RequestMapping("/product") @Slf4j public class ProductController extends JeecgController { - @Autowired - private ProductService tbProductService; - - /** - * 分页列表查询 - * - * @param tbProduct - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @ApiOperation(value="产品报价分页列表", notes="产品报价分页列表") - @GetMapping(value = "/productList") - public Result> queryPageList( - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); - queryWrapper.eq("show_status",0).eq("audit_status",1) - .orderByDesc("sort_num","create_time"); - Page page = new Page(pageNo, pageSize); - IPage pageList = tbProductService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param - * @return - */ - @ApiOperation(value="产品报价", notes="产品报价") - @PostMapping(value = "/addProduct") - public Result addProduct(@RequestBody ProductReq productReq, @RequestHeader("X-Access-Token") String token) { - tbProductService.addProduct(productReq,token); - return Result.OK("添加成功!"); - } + @Autowired + private ProductService tbProductService; + @Resource + private ShiroRealm shiroRealm; + + @Resource + private ITbCustomsService tbCustomsService; + /** + * 分页列表查询 + * + * @param + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "产品报价分页列表", notes = "产品报价分页列表") + @GetMapping(value = "/productList") + public Result> queryPageList( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); + queryWrapper.eq("audit_status", 1) + .orderByDesc("sort_num", "create_time"); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbProductService.page(page, queryWrapper); + return Result.OK(pageList); + } + + + @ApiOperation(value = "交易平台挂单列表", notes = "交易平台挂单列表") + @GetMapping(value = "/productlist") + public Result> productlist( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); + queryWrapper.eq("show_status", 0).eq("audit_status", 1) + .orderByDesc("sort_num", "create_time"); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbProductService.page(page, queryWrapper); + return Result.OK(pageList); + } + + + @ApiOperation(value = "我的挂单列表", notes = "我的挂单列表") + @GetMapping(value = "/myProductlist") + public Result> myProductlist( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req, @RequestHeader("X-Access-Token") String token) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); + queryWrapper.eq("user_id", hanHaiMember.getId()).orderByDesc("create_time"); + Page page = new Page(pageNo, pageSize); + IPage pageList = tbProductService.page(page, queryWrapper); + return Result.OK(pageList); + } + + + + + @ApiOperation(value="撤单", notes="撤单") + @GetMapping(value = "/noShow") + public Result noShow(@RequestParam(name="id",required=true ) String id , @RequestHeader("X-Access-Token") String token) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); + QueryWrapper productQueryWrapper = new QueryWrapper<>(); + productQueryWrapper.eq("user_id", hanHaiMember.getId()).eq("id", id); + TbProduct one = tbProductService.getOne(productQueryWrapper); + if (ValidateTool.isNull(one)){ + return Result.error("参数错误!"); + } + one.setShowStatus(1); + tbProductService.updateById(one); + return Result.OK("撤单成功!"); + } + + + + /** + * 添加 + * + * @param + * @return + */ + @ApiOperation(value = "产品报价", notes = "产品报价") + @PostMapping(value = "/addProduct") + public Result addProduct(@RequestBody ProductReq productReq, @RequestHeader("X-Access-Token") String token) { + tbProductService.addProduct(productReq, token); + return Result.OK("添加成功!"); + } + + @ApiOperation(value="清关申请", notes="清关申请") + @PostMapping(value = "/addCustoms") + public Result addCustoms(@RequestBody CustomsReq customsReq, @RequestHeader("X-Access-Token") String token) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); + TbCustoms tbCustoms = new TbCustoms(); + BeanUtils.copyProperties(customsReq, tbCustoms); + tbCustoms.setUserId(hanHaiMember.getId()); + tbCustomsService.save(tbCustoms); + return Result.OK("添加成功!"); + } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/service/impl/UserServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/service/impl/UserServiceImpl.java index b0acae8..58c1cd7 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/service/impl/UserServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/service/impl/UserServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.RedisUtil; @@ -158,18 +159,20 @@ public class UserServiceImpl implements UserService { objectLambdaQueryWrapper.eq(TbUserRole::getUserName,reqUserRole.getUserName()). eq(TbUserRole::getRole,reqUserRole.getRole()).in(TbUserRole::getAuditStatus,1,0); TbUserRole one1 = tbUserRoleService.getOne(objectLambdaQueryWrapper); - if (ValidateTool.isNotNull(one1) && one1.getAuditStatus()==0){ - result.error500("已提交审核,请耐心等候或联系管理员"); + return result.error500("已提交审核,请耐心等候或联系管理员"); } - if (ValidateTool.isNotNull(one1) && one1.getAuditStatus()==0){ - result.error500("已提交审核,请勿重复提交"); + if (ValidateTool.isNotNull(one1) && one1.getAuditStatus()==1){ + return result.error500("已提交审核,请勿重复提交"); } TbUserRole tbUserRole = new TbUserRole(); BeanUtils.copyProperties(reqUserRole, tbUserRole); tbUserRole.setUserId(one.getId()); tbUserRole.setAuditStatus(0); tbUserRoleService.save(tbUserRole); + JSONObject obj = new JSONObject(); + obj.put("role", tbUserRole); + result.setResult(obj); return result; } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/AddressReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/AddressReq.java new file mode 100644 index 0000000..9bd101f --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/AddressReq.java @@ -0,0 +1,60 @@ +package org.jeecg.modules.postBean; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: 用户地址表 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="地址", description="用户地址表") +public class AddressReq implements Serializable { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "收货地址id") + private String id; + + /**收获详细地址*/ + @Excel(name = "收获详细地址", width = 15) + @ApiModelProperty(value = "收获详细地址") + private String address; + /**收货手机号*/ + @Excel(name = "收货手机号", width = 15) + @ApiModelProperty(value = "收货手机号") + private String phone; + /**城市*/ + @Excel(name = "城市", width = 15) + @ApiModelProperty(value = "城市") + private String city; + /**经度*/ + @Excel(name = "经度", width = 15) + @ApiModelProperty(value = "经度") + private String latitude; + /**纬度*/ + @Excel(name = "纬度", width = 15) + @ApiModelProperty(value = "纬度") + private String longitude; +// /**是否默认地址 0非默认 1默认*/ +// @Excel(name = "是否默认地址 0非默认 1默认", width = 15) +// @ApiModelProperty(value = "是否默认地址 0非默认 1默认") +// private Integer defaultFlag; + /**收货人*/ + @Excel(name = "收货人", width = 15) + @ApiModelProperty(value = "收货人") + private String name; + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/CustomsReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/CustomsReq.java new file mode 100644 index 0000000..cc45f15 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/CustomsReq.java @@ -0,0 +1,86 @@ +package org.jeecg.modules.postBean; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 清关申请 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="清关申请", description="清关申请") +public class CustomsReq implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**角色信息 1供应商 2采购商*/ + @Excel(name = "角色信息 1供应商 2采购商", width = 15, dicCode = "user_role") + @Dict(dicCode = "user_role") + @ApiModelProperty(value = "角色信息 1供应商 2采购商") + private Integer role; + /**用户名*/ + @Excel(name = "用户名", width = 15) + @ApiModelProperty(value = "用户名") + private String userName; + /**密码*/ + @Excel(name = "密码", width = 15) + @ApiModelProperty(value = "密码") + private String password; + /**公司名称*/ + @Excel(name = "公司名称", width = 15) + @ApiModelProperty(value = "公司名称") + private String companyName; + /**税收编码*/ + @Excel(name = "税收编码", width = 15) + @ApiModelProperty(value = "税收编码") + private String taxCode; + /**公司地址*/ + @Excel(name = "公司地址", width = 15) + @ApiModelProperty(value = "公司地址") + private String address; + /**公司账号*/ + @Excel(name = "公司账号", width = 15) + @ApiModelProperty(value = "公司账号") + private String bankAccount; + /**电话*/ + @Excel(name = "电话", width = 15) + @ApiModelProperty(value = "电话") + private String phone; + /**开户行*/ + @Excel(name = "开户行", width = 15) + @ApiModelProperty(value = "开户行") + private String bankNama; + /**营业执照上传*/ + @Excel(name = "营业执照上传", width = 15) + @ApiModelProperty(value = "营业执照上传") + private String businessLicense; + /**基本户信息照片上传*/ + @Excel(name = "基本户信息照片上传", width = 15) + @ApiModelProperty(value = "基本户信息照片上传") + private String basicAccount; + /**收款银行照片上传*/ + @Excel(name = "收款银行照片上传", width = 15) + @ApiModelProperty(value = "收款银行照片上传") + private String bankInfo; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/SuggestReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/SuggestReq.java new file mode 100644 index 0000000..bc5ce60 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/SuggestReq.java @@ -0,0 +1,44 @@ +package org.jeecg.modules.postBean; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: 帮助与反馈 + * @Author: jeecg-boot + * @Date: 2024-10-19 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="问题反馈", description="帮助与反馈") +public class SuggestReq implements Serializable { + private static final long serialVersionUID = 1L; + + + /**用户名*/ + @Excel(name = "用户名", width = 15) + @ApiModelProperty(value = "用户名") + private String userName; + /**用户手机号*/ + @Excel(name = "用户手机号", width = 15) + @ApiModelProperty(value = "用户手机号") + private String userPhone; + /**问题描述*/ + @Excel(name = "问题描述", width = 15) + @ApiModelProperty(value = "问题描述") + private String content; + /**问题截图*/ + @Excel(name = "问题截图", width = 15) + @ApiModelProperty(value = "问题截图") + private String proofImg; + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/entity/ProductReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/entity/ProductReq.java index e89d427..9f14e12 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/entity/ProductReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/entity/ProductReq.java @@ -1,15 +1,10 @@ package org.jeecg.modules.product.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat;