Browse Source

fix: 修改

master
tanzhisong 1 week ago
parent
commit
c0579ae514
28 changed files with 233 additions and 177 deletions
  1. +24
    -12
      jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java
  2. +14
    -0
      jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java
  3. +3
    -2
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrder.java
  4. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrderCar.java
  5. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrderFinance.java
  6. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrderVoucher.java
  7. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderCarMapper.java
  8. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderFinanceMapper.java
  9. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderMapper.java
  10. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderVoucherMapper.java
  11. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderCarService.java
  12. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderFinanceService.java
  13. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderService.java
  14. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderVoucherService.java
  15. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderCarServiceImpl.java
  16. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderFinanceServiceImpl.java
  17. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderServiceImpl.java
  18. +1
    -1
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderVoucherServiceImpl.java
  19. +3
    -2
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vo/AppOrderPage.java
  20. +3
    -14
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vue3/AppOrder.data.ts
  21. +8
    -8
      jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vue3/V20250221_1__menu_insert_AppOrder.sql
  22. +14
    -1
      jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/file/controller/FileController.java
  23. +3
    -0
      jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/file/service/FileService.java
  24. +20
    -0
      jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/file/service/impl/FileServiceImpl.java
  25. +117
    -116
      jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/order/controller/OrderController.java
  26. +7
    -5
      jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/utils/BaiduOCRUtil.java
  27. +1
    -1
      jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
  28. +1
    -1
      jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml

+ 24
- 12
jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java View File

@ -12,6 +12,7 @@ import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.enums.ClientTerminalTypeEnum;
import org.jeecg.common.enums.SentinelErrorInfoEnum;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.system.vo.MLoginUser;
import org.jeecg.common.util.BrowserUtils;
import org.jeecg.common.util.IpUtils;
import org.jeecg.common.util.SpringContextUtils;
@ -34,9 +35,11 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import static org.jeecg.common.system.util.JwtUtil.getUserChannelByToken;
/**
* 异常处理器
*
*
* @Author scott
* @Date 2019
*/
@ -56,7 +59,7 @@ public class JeecgBootExceptionHandler {
addSysLog(e);
return Result.error(e.getErrCode(), e.getMessage());
}
/**
* 处理自定义异常
*/
@ -120,7 +123,7 @@ public class JeecgBootExceptionHandler {
addSysLog(e);
return Result.error("操作失败,"+e.getMessage());
}
/**
* @Author 政辉
* @param e
@ -145,9 +148,9 @@ public class JeecgBootExceptionHandler {
addSysLog(e);
return Result.error(405,sb.toString());
}
/**
* spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException
/**
* spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException
*/
@ExceptionHandler(MaxUploadSizeExceededException.class)
public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
@ -228,13 +231,22 @@ public class JeecgBootExceptionHandler {
}
}
//获取登录用户信息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
log.setUserid(sysUser.getUsername());
log.setUsername(sysUser.getRealname());
String channel = getUserChannelByToken(SpringContextUtils.getHttpServletRequest());
if (channel != null && channel.equals("miniapp")) {
//获取登录用户信息
MLoginUser sysUser = (MLoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
log.setUserid(sysUser.getNickName());
log.setUsername(sysUser.getNickName());
}
}else {
//获取登录用户信息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
log.setUserid(sysUser.getUsername());
log.setUsername(sysUser.getRealname());
}
}
baseCommonService.addLog(log);


+ 14
- 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java View File

@ -162,6 +162,20 @@ public class JwtUtil {
return username;
}
/**
* 根据request中的token获取渠道先
*
* @param request
* @return
* @throws JeecgBootException
*/
public static String getUserChannelByToken(HttpServletRequest request) throws JeecgBootException {
String accessToken = request.getHeader("X-Access-Token");
String channel = getChannel(accessToken);
return channel;
}
/**
* 从session中获取变量
* @param key


+ 3
- 2
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrder.java View File

@ -20,7 +20,7 @@ import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 合同订单表
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@ApiModel(value="app_order对象", description="合同订单表")
@ -119,7 +119,8 @@ public class AppOrder implements Serializable {
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**订单状态*/
@Excel(name = "订单状态", width = 15)
@Excel(name = "订单状态", width = 15, dicCode = "order_status")
@Dict(dicCode = "order_status")
@ApiModelProperty(value = "订单状态")
private java.lang.Integer status;
/**订单合同*/


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrderCar.java View File

@ -19,7 +19,7 @@ import java.io.UnsupportedEncodingException;
/**
* @Description: 订单车辆信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@ApiModel(value="app_order_car对象", description="订单车辆信息")


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrderFinance.java View File

@ -19,7 +19,7 @@ import java.io.UnsupportedEncodingException;
/**
* @Description: 订单金融信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@ApiModel(value="app_order_finance对象", description="订单金融信息")


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/entity/AppOrderVoucher.java View File

@ -19,7 +19,7 @@ import java.io.UnsupportedEncodingException;
/**
* @Description: 订单凭证信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@ApiModel(value="app_order_voucher对象", description="订单凭证信息")


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderCarMapper.java View File

@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
/**
* @Description: 订单车辆信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface AppOrderCarMapper extends BaseMapper<AppOrderCar> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderFinanceMapper.java View File

@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
/**
* @Description: 订单金融信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface AppOrderFinanceMapper extends BaseMapper<AppOrderFinance> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderMapper.java View File

@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 合同订单表
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface AppOrderMapper extends BaseMapper<AppOrder> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/mapper/AppOrderVoucherMapper.java View File

@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
/**
* @Description: 订单凭证信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface AppOrderVoucherMapper extends BaseMapper<AppOrderVoucher> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderCarService.java View File

@ -8,7 +8,7 @@ import java.util.List;
/**
* @Description: 订单车辆信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface IAppOrderCarService extends IService<AppOrderCar> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderFinanceService.java View File

@ -8,7 +8,7 @@ import java.util.List;
/**
* @Description: 订单金融信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface IAppOrderFinanceService extends IService<AppOrderFinance> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderService.java View File

@ -13,7 +13,7 @@ import java.util.List;
/**
* @Description: 合同订单表
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface IAppOrderService extends IService<AppOrder> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/IAppOrderVoucherService.java View File

@ -8,7 +8,7 @@ import java.util.List;
/**
* @Description: 订单凭证信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
public interface IAppOrderVoucherService extends IService<AppOrderVoucher> {


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderCarServiceImpl.java View File

@ -11,7 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 订单车辆信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@Service


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderFinanceServiceImpl.java View File

@ -11,7 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 订单金融信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@Service


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderServiceImpl.java View File

@ -20,7 +20,7 @@ import java.util.Collection;
/**
* @Description: 合同订单表
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@Service


+ 1
- 1
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/service/impl/AppOrderVoucherServiceImpl.java View File

@ -11,7 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 订单凭证信息
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@Service


+ 3
- 2
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vo/AppOrderPage.java View File

@ -17,7 +17,7 @@ import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 合同订单表
* @Author: jeecg-boot
* @Date: 2025-02-20
* @Date: 2025-02-21
* @Version: V1.0
*/
@Data
@ -113,7 +113,8 @@ public class AppOrderPage {
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**订单状态*/
@Excel(name = "订单状态", width = 15)
@Excel(name = "订单状态", width = 15, dicCode = "order_status")
@Dict(dicCode = "order_status")
@ApiModelProperty(value = "订单状态")
private java.lang.Integer status;
/**订单合同*/


+ 3
- 14
jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vue3/AppOrder.data.ts View File

@ -195,6 +195,7 @@ export const searchFormSchema: FormSchema[] = [
field: "status",
component: 'JSelectMultiple',
componentProps:{
dictCode:"order_status"
},
//colProps: {span: 6},
},
@ -370,7 +371,7 @@ export const formSchema: FormSchema[] = [
field: 'status',
component: 'JDictSelectTag',
componentProps:{
dictCode:""
dictCode:"order_status"
},
dynamicRules: ({model,schema}) => {
return [
@ -378,18 +379,6 @@ export const formSchema: FormSchema[] = [
];
},
},
{
label: '订单合同',
field: 'contractUrl',
component: 'JUpload',
componentProps:{
},
dynamicRules: ({model,schema}) => {
return [
{ required: true, message: '请输入订单合同!'},
];
},
},
{
label: '收款方',
field: 'payee',
@ -728,7 +717,7 @@ export const superQuerySchema = {
carPic: {title: '车辆合格证',order: 14,view: 'image', type: 'string',},
busLicense: {title: '营业执照',order: 15,view: 'image', type: 'string',},
createTime: {title: '创建日期',order: 16,view: 'datetime', type: 'string',},
status: {title: '订单状态',order: 17,view: 'number', type: 'number',dictCode: '',},
status: {title: '订单状态',order: 17,view: 'number', type: 'number',dictCode: 'order_status',},
contractUrl: {title: '订单合同',order: 18,view: 'file', type: 'string',},
payee: {title: '收款方',order: 19,view: 'text', type: 'string',},
payeeTime: {title: '收款时间',order: 20,view: 'datetime', type: 'string',},


jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vue3/V20250220_1__menu_insert_AppOrder.sql → jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/order/vue3/V20250221_1__menu_insert_AppOrder.sql View File

@ -2,25 +2,25 @@
-- 如果你想更改到其他目录,请修改sql中component字段对应的值
INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
VALUES ('202502200943650390', NULL, '合同订单表', '/order/appOrderList', 'miniapp/order/AppOrderList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0);
INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
VALUES ('2025022105354000190', NULL, '合同订单表', '/order/appOrderList', 'order/AppOrderList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0);
-- 权限控制sql
-- 新增
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('202502200943650391', '202502200943650390', '添加合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0, 0, '1', 0);
VALUES ('2025022105354000191', '2025022105354000190', '添加合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0, 0, '1', 0);
-- 编辑
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('202502200943650392', '202502200943650390', '编辑合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0, 0, '1', 0);
VALUES ('2025022105354000192', '2025022105354000190', '编辑合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0, 0, '1', 0);
-- 删除
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('202502200943650393', '202502200943650390', '删除合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0, 0, '1', 0);
VALUES ('2025022105354000193', '2025022105354000190', '删除合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0, 0, '1', 0);
-- 批量删除
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('202502200943650394', '202502200943650390', '批量删除合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0, 0, '1', 0);
VALUES ('2025022105354000194', '2025022105354000190', '批量删除合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0, 0, '1', 0);
-- 导出excel
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('202502200943650395', '202502200943650390', '导出excel_合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0, 0, '1', 0);
VALUES ('2025022105354000195', '2025022105354000190', '导出excel_合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0, 0, '1', 0);
-- 导入excel
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
VALUES ('202502200943650396', '202502200943650390', '导入excel_合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-20 21:43:39', NULL, NULL, 0, 0, '1', 0);
VALUES ('2025022105354000196', '2025022105354000190', '导入excel_合同订单表', NULL, NULL, 0, NULL, NULL, 2, 'order:app_order:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-02-21 17:35:19', NULL, NULL, 0, 0, '1', 0);

+ 14
- 1
jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/file/controller/FileController.java View File

@ -7,6 +7,8 @@ package org.jeecg.modules.miniapp.file.controller;
*/
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
@ -52,11 +54,22 @@ public class FileController {
@ApiOperation(value="身份证识别", notes="身份证识别")
@PostMapping(value = "/ocr/idcard")
@GetMapping(value = "/ocr/idcard")
@ApiImplicitParams({
@ApiImplicitParam(name = "url", value = "身份证图片的URL", required = true, dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "side", value = "身份证正反面,正面为front,反面为back", required = true, dataType = "String", paramType = "query")
})
public Result<?> ocrIdCard(@RequestParam(name="url") String url, @RequestParam(name="side") String side){
return fileService.ocrIdCard(url,side);
}
@ApiOperation(value="车辆合格证识别", notes="车辆合格证识别")
@GetMapping(value = "/ocr/carCert")
@ApiImplicitParam(name = "url", value = "车辆合格证URL", required = true, dataType = "String", paramType = "query")
public Result<?> ocrIdCard(@RequestParam(name="url") String url){
return fileService.ocrCarCert(url);
}
/**
* 文件上传统一方法
* @param request


+ 3
- 0
jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/file/service/FileService.java View File

@ -11,4 +11,7 @@ import org.jeecg.common.api.vo.Result;
public interface FileService {
Result<?> ocrIdCard(String url, String side);
Result<?> ocrCarCert(String url);
}

+ 20
- 0
jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/file/service/impl/FileServiceImpl.java View File

@ -44,4 +44,24 @@ public class FileServiceImpl implements FileService {
}
return result;
}
@Override
public Result<?> ocrCarCert(String url) {
Result<JSONObject> result = new Result<>();
try {
String carInfo = BaiduOCRUtil.recognizeVehicleCertificateWithImage(url, false);
JSONObject json = JSON.parseObject(carInfo);
if (json.containsKey("words_result") ){
result.setResult(json.getJSONObject("words_result"));
} else {
result.setSuccess(false);
result.setMessage("识别失败");
}
} catch (Exception e) {
result.setSuccess(false);
result.setMessage("识别失败");
}
return result;
}
}

+ 117
- 116
jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/order/controller/OrderController.java View File

@ -61,127 +61,128 @@ public class OrderController {
@Autowired
private IAppOrderFinanceService appOrderFinanceService;
/**
* 分页列表查询
*
* @param appOrder
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "合同订单表-分页列表查询")
@ApiOperation(value="合同订单表-分页列表查询", notes="合同订单表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<AppOrder>> queryPageList(AppOrder appOrder,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("salePort", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("custType", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("status", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<AppOrder> queryWrapper = QueryGenerator.initQueryWrapper(appOrder, req.getParameterMap(),customeRuleMap);
Page<AppOrder> page = new Page<AppOrder>(pageNo, pageSize);
IPage<AppOrder> pageList = appOrderService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param appOrder
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "合同订单表-分页列表查询")
@ApiOperation(value="合同订单表-分页列表查询", notes="合同订单表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<AppOrder>> queryPageList(AppOrder appOrder,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("salePort", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("custType", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("status", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<AppOrder> queryWrapper = QueryGenerator.initQueryWrapper(appOrder, req.getParameterMap(),customeRuleMap);
Page<AppOrder> page = new Page<AppOrder>(pageNo, pageSize);
IPage<AppOrder> pageList = appOrderService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param appOrderPage
* @return
*/
@AutoLog(value = "合同订单表-添加")
@ApiOperation(value="合同订单表-添加", notes="合同订单表-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody AppOrderPage appOrderPage) {
AppOrder appOrder = new AppOrder();
BeanUtils.copyProperties(appOrderPage, appOrder);
appOrderService.saveMain(appOrder, appOrderPage.getAppOrderCarList(),appOrderPage.getAppOrderVoucherList(),appOrderPage.getAppOrderFinanceList());
return Result.OK("添加成功!");
}
/**
* 添加
*
* @param appOrderPage
* @return
*/
@AutoLog(value = "合同订单表-添加")
@ApiOperation(value="合同订单表-添加", notes="合同订单表-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody AppOrderPage appOrderPage) {
AppOrder appOrder = new AppOrder();
BeanUtils.copyProperties(appOrderPage, appOrder);
appOrderService.saveMain(appOrder, appOrderPage.getAppOrderCarList(),appOrderPage.getAppOrderVoucherList(),appOrderPage.getAppOrderFinanceList());
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param appOrderPage
* @return
*/
@AutoLog(value = "合同订单表-编辑")
@ApiOperation(value="合同订单表-编辑", notes="合同订单表-编辑")
@RequiresPermissions("order:app_order:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody AppOrderPage appOrderPage) {
AppOrder appOrder = new AppOrder();
BeanUtils.copyProperties(appOrderPage, appOrder);
AppOrder appOrderEntity = appOrderService.getById(appOrder.getId());
if(appOrderEntity==null) {
return Result.error("未找到对应数据");
}
appOrderService.updateMain(appOrder, appOrderPage.getAppOrderCarList(),appOrderPage.getAppOrderVoucherList(),appOrderPage.getAppOrderFinanceList());
return Result.OK("编辑成功!");
}
/**
* 编辑
*
* @param appOrderPage
* @return
*/
@AutoLog(value = "合同订单表-编辑")
@ApiOperation(value="合同订单表-编辑", notes="合同订单表-编辑")
@RequiresPermissions("order:app_order:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody AppOrderPage appOrderPage) {
AppOrder appOrder = new AppOrder();
BeanUtils.copyProperties(appOrderPage, appOrder);
AppOrder appOrderEntity = appOrderService.getById(appOrder.getId());
if(appOrderEntity==null) {
return Result.error("未找到对应数据");
}
appOrderService.updateMain(appOrder, appOrderPage.getAppOrderCarList(),appOrderPage.getAppOrderVoucherList(),appOrderPage.getAppOrderFinanceList());
return Result.OK("编辑成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "合同订单表-通过id查询")
@ApiOperation(value="合同订单表-通过id查询", notes="合同订单表-通过id查询")
@GetMapping(value = "/queryById")
public Result<AppOrder> queryById(@RequestParam(name="id",required=true) String id) {
AppOrder appOrder = appOrderService.getById(id);
if(appOrder==null) {
return Result.error("未找到对应数据");
}
return Result.OK(appOrder);
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "合同订单表-通过id查询")
@ApiOperation(value="合同订单表-通过id查询", notes="合同订单表-通过id查询")
@GetMapping(value = "/queryById")
public Result<AppOrder> queryById(@RequestParam(name="id",required=true) String id) {
AppOrder appOrder = appOrderService.getById(id);
if(appOrder==null) {
return Result.error("未找到对应数据");
}
return Result.OK(appOrder);
}
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "订单车辆信息通过主表ID查询")
@ApiOperation(value="订单车辆信息主表ID查询", notes="订单车辆信息-通主表ID查询")
@GetMapping(value = "/queryAppOrderCarByMainId")
public Result<List<AppOrderCar>> queryAppOrderCarListByMainId(@RequestParam(name="id",required=true) String id) {
List<AppOrderCar> appOrderCarList = appOrderCarService.selectByMainId(id);
return Result.OK(appOrderCarList);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "订单凭证信息通过主表ID查询")
@ApiOperation(value="订单凭证信息主表ID查询", notes="订单凭证信息-通主表ID查询")
@GetMapping(value = "/queryAppOrderVoucherByMainId")
public Result<List<AppOrderVoucher>> queryAppOrderVoucherListByMainId(@RequestParam(name="id",required=true) String id) {
List<AppOrderVoucher> appOrderVoucherList = appOrderVoucherService.selectByMainId(id);
return Result.OK(appOrderVoucherList);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "订单金融信息通过主表ID查询")
@ApiOperation(value="订单金融信息主表ID查询", notes="订单金融信息-通主表ID查询")
@GetMapping(value = "/queryAppOrderFinanceByMainId")
public Result<List<AppOrderFinance>> queryAppOrderFinanceListByMainId(@RequestParam(name="id",required=true) String id) {
List<AppOrderFinance> appOrderFinanceList = appOrderFinanceService.selectByMainId(id);return Result.OK(appOrderFinanceList);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "订单车辆信息通过主表ID查询")
@ApiOperation(value="订单车辆信息主表ID查询", notes="订单车辆信息-通主表ID查询")
@GetMapping(value = "/queryAppOrderCarByMainId")
public Result<List<AppOrderCar>> queryAppOrderCarListByMainId(@RequestParam(name="id",required=true) String id) {
List<AppOrderCar> appOrderCarList = appOrderCarService.selectByMainId(id);
return Result.OK(appOrderCarList);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "订单凭证信息通过主表ID查询")
@ApiOperation(value="订单凭证信息主表ID查询", notes="订单凭证信息-通主表ID查询")
@GetMapping(value = "/queryAppOrderVoucherByMainId")
public Result<List<AppOrderVoucher>> queryAppOrderVoucherListByMainId(@RequestParam(name="id",required=true) String id) {
List<AppOrderVoucher> appOrderVoucherList = appOrderVoucherService.selectByMainId(id);
return Result.OK(appOrderVoucherList);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "订单金融信息通过主表ID查询")
@ApiOperation(value="订单金融信息主表ID查询", notes="订单金融信息-通主表ID查询")
@GetMapping(value = "/queryAppOrderFinanceByMainId")
public Result<List<AppOrderFinance>> queryAppOrderFinanceListByMainId(@RequestParam(name="id",required=true) String id) {
List<AppOrderFinance> appOrderFinanceList = appOrderFinanceService.selectByMainId(id);
return Result.OK(appOrderFinanceList);
}
}

+ 7
- 5
jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/utils/BaiduOCRUtil.java View File

@ -80,7 +80,7 @@ public class BaiduOCRUtil {
String base64Image = encodeImageToBase64(image);
params.put("image", base64Image); // 使用图片的Base64编码
}else {
params.put("image_url", image); // 使用图片的URL
params.put("url", image); // 使用图片的URL
}
return makePostRequest(apiUrl, accessToken, params);
}
@ -156,15 +156,17 @@ public class BaiduOCRUtil {
// 示例调用身份证识别API图片URL
// String idCardResultUrl = recognizeIdCardWithImage("/Users/tanzs/Pictures/cert/font.jpg","front",true);
// String idCardResultUrl = recognizeIdCardWithImage("https://img.augcl.com/temp/font_1740062829439.jpg","front",false);
String idCardResultUrl = recognizeIdCardWithImage("https://img.augcl.com/temp/back_1740063490107.jpg","back",false);
System.out.println("身份证识别结果: " + idCardResultUrl);
// String idCardResultUrl = recognizeIdCardWithImage("https://img.augcl.com/temp/back_1740063490107.jpg","back",false);
// System.out.println("身份证识别结果: " + idCardResultUrl);
// 示例调用营业执照识别API图片URL
// String businessLicenseResultUrl = recognizeBusinessLicenseWithImage("/Users/tanzs/Pictures/cert/license.jpg",true);
// System.out.println("营业执照识别结果: " + businessLicenseResultUrl);
// 示例调用车辆合格证识别API图片URL
// String vehicleCertificateResultUrl = recognizeVehicleCertificateWithImage("https://example.com/path_to_vehicle_certificate_image.jpg");
// System.out.println("车辆合格证识别结果(URL): " + vehicleCertificateResultUrl);
String vehicleCertificateResultUrl = recognizeVehicleCertificateWithImage("https://img.augcl.com/temp/car_1740126194295.png",false);
System.out.println("车辆合格证识别结果(URL): " + vehicleCertificateResultUrl);
// {"words_result_num":28,"direction":1,"words_result":{"CarModel":"BYD7008BEVB1","CarBrand":"比亚迪牌","CertificateDate":"2025年01月11日","CarColor":"雪域白","Displacement":"","Power":"100","Manufacturer":"比亚迪汽车工业有限公司","ManufactureDate":"2025年01月11日","EngineNo":"2V4003609","FuelType":"电","EmissionStandard":"","SteeringType":"方向盘","LimitPassenger":"","EngineType":"TZ180XSJ","TyreNum":"4","SpeedLimit":"130","TotalWeight":"2032","SaddleMass":"1657","VinNo":"LC0CE6DB8S4040471","Wheelbase":"2718","AxleNum":"2","CertificationNo":"YK5204001341249","CarName":"纯电动轿车","ChassisModel":"","ChassisID":"","SeatingCapacity":"5","QualifySeal":"1","CGSSeal":"0"},"log_id":1892852770796495169}
}
}

+ 1
- 1
jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml View File

@ -308,7 +308,7 @@ knife4j:
#开启生产环境屏蔽
production: false
basic:
enable: false
enable: true
username: jeecg
password: jeecg1314
#第三方登录


+ 1
- 1
jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml View File

@ -176,7 +176,7 @@ spring:
#redis 配置
redis:
database: 12
host: 127.0.0.1
host: 14.103.91.133
port: 63799
password: 'WEather_2024'
#mybatis plus 设置


Loading…
Cancel
Save