From 7fc4d003842b3a47eaeae471a7f1a95770674abd Mon Sep 17 00:00:00 2001
From: ganhao
Date: Sat, 16 May 2026 19:05:56 +0800
Subject: [PATCH 01/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=A0=81=E7=9A=84=E7=9B=B8?=
=?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../AppEnterpriseMineController.java | 27 ++++++---
.../domain/bo/UpdatePhoneBo.java | 37 +++++++++++++
.../mapper/EnterpriseUserRefMapper.java | 10 ++++
.../service/IEnterpriseUserService.java | 9 +++
.../enterprise/IAppEnterpriseMineService.java | 23 --------
.../impl/AppEnterpriseMineServiceImpl.java | 40 --------------
.../impl/EnterpriseUserServiceImpl.java | 55 ++++++++++++++++++-
.../EnterpriseUserRefMapper.xml | 19 +++++++
.../src/main/resources/application-dev.yml | 26 +++++++++
9 files changed, 175 insertions(+), 71 deletions(-)
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/UpdatePhoneBo.java
delete mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseMineService.java
delete mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseMineServiceImpl.java
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseMineController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseMineController.java
index 668ee50a..04d5ab7e 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseMineController.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseMineController.java
@@ -1,15 +1,19 @@
package com.zdxt.enforcementcode.controller.app.enterprise;
-import com.zdxt.enforcementcode.service.enterprise.IAppEnterpriseMineService;
+import com.zdxt.enforcementcode.domain.bo.UpdatePhoneBo;
+import com.zdxt.enforcementcode.domain.vo.EnterpriseUserVo;
+import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationDetailVo;
+import com.zdxt.enforcementcode.service.IEnterpriseUserService;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
-import org.dromara.system.domain.vo.SysUserVo;
+import org.dromara.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -25,23 +29,32 @@ public class AppEnterpriseMineController {
@Autowired
- private IAppEnterpriseMineService appEnterpriseMineService;
+ private IEnterpriseUserService enterpriseUserService;
+
+
/**
* 企业端-查询用户信息
*/
@ApiResponse(description = "企业端-查询用户信息")
@GetMapping("/userMine")
- public SysUserVo userMine(String userId) {
- return appEnterpriseMineService.queryLoginUserId(userId);
+ public R userMine(Long userId) {
+ EnterpriseUserVo enterpriseUserVo = enterpriseUserService.queryById(userId);
+ return R.ok(enterpriseUserVo);
}
/**
* 企业端-修改联系电话
+ * @param updatePhoneBo 修改手机号码请求对象
* @return
*/
@ApiResponse(description = "企业端-修改用户联系电话")
@PostMapping("/updatePhone")
- public int updatePhone(String userId, String phone) {
- return appEnterpriseMineService.updateUserPhone(userId, phone);
+ public R updatePhone(@RequestBody @Validated UpdatePhoneBo updatePhoneBo) {
+ boolean flag = enterpriseUserService.updatePhoneNumber(updatePhoneBo.getUserId(), updatePhoneBo.getPhoneNumber());
+ if (flag) {
+ return R.ok("修改成功");
+ } else {
+ return R.fail("修改失败");
+ }
}
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/UpdatePhoneBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/UpdatePhoneBo.java
new file mode 100644
index 00000000..29530022
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/UpdatePhoneBo.java
@@ -0,0 +1,37 @@
+package com.zdxt.enforcementcode.domain.bo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 企业用户修改手机号码业务对象
+ *
+ * @author Lion Li
+ * @date 2026-05-16
+ */
+@Data
+@Schema(description = "企业用户修改手机号码请求对象")
+public class UpdatePhoneBo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户ID
+ */
+ @Schema(description = "用户ID")
+ @NotNull(message = "用户ID不能为空")
+ private Long userId;
+
+ /**
+ * 新手机号码
+ */
+ @Schema(description = "新手机号码")
+ @NotBlank(message = "手机号码不能为空")
+ private String phoneNumber;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseUserRefMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseUserRefMapper.java
index 0dfe6607..cb360e55 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseUserRefMapper.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseUserRefMapper.java
@@ -3,8 +3,11 @@ package com.zdxt.enforcementcode.mapper;
import com.zdxt.enforcementcode.domain.EnterpriseUserRef;
import com.zdxt.enforcementcode.domain.vo.EnterpriseUserRefVo;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import java.util.List;
+
/**
* 企业用户与企业的关联Mapper接口
*
@@ -14,4 +17,11 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@Mapper
public interface EnterpriseUserRefMapper extends BaseMapperPlus {
+ /**
+ * 根据用户ID查询企业关联信息
+ *
+ * @param userId 用户ID
+ * @return 企业用户关联信息列表
+ */
+ List selectByUserId(@Param("userId") Long userId);
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseUserService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseUserService.java
index 03642f64..7316e0eb 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseUserService.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseUserService.java
@@ -74,4 +74,13 @@ public interface IEnterpriseUserService {
EnterpriseUserVo queryByUserName(String userName);
EnterpriseUserVo queryByLoginName(String loginName);
+
+ /**
+ * 修改企业用户手机号码
+ *
+ * @param userId 用户ID
+ * @param phoneNumber 新手机号码
+ * @return 是否修改成功
+ */
+ Boolean updatePhoneNumber(Long userId, String phoneNumber);
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseMineService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseMineService.java
deleted file mode 100644
index 975cae68..00000000
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseMineService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.zdxt.enforcementcode.service.enterprise;
-
-import org.dromara.system.domain.vo.SysUserVo;
-
-
-/**
- * 企业执法-我的Service接口
- */
-public interface IAppEnterpriseMineService {
-
- /**
- * 企业端-根据用户ID查询用户信息
- *
- * @param userId 用户ID
- * @return 用户信息
- */
- SysUserVo queryLoginUserId(String userId);
-
- /**
- * 企业端-修改用户联系电话
- */
- int updateUserPhone(String userId, String phone);
-}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseMineServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseMineServiceImpl.java
deleted file mode 100644
index 3532d84d..00000000
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseMineServiceImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.zdxt.enforcementcode.service.enterprise.impl;
-
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.zdxt.enforcementcode.mapper.enterprise.AppEnterpriseMineMapper;
-import com.zdxt.enforcementcode.service.enterprise.IAppEnterpriseMineService;
-import org.dromara.system.domain.SysUser;
-import org.dromara.system.domain.vo.SysUserVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class AppEnterpriseMineServiceImpl implements IAppEnterpriseMineService {
-
- @Autowired
- private AppEnterpriseMineMapper appEnterpriseMineMapper;
- /**
- * 企业端-获取用户信息
- * @param userId 用户ID
- * @return
- */
- @Override
- public SysUserVo queryLoginUserId(String userId) {
- SysUserVo sysUserVo = appEnterpriseMineMapper.queryLoginUserId(userId);
- return sysUserVo;
- }
-
- /**
- * 企业端-修改用户联系电话
- * @param userId
- * @param phone
- * @return
- */
- @Override
- public int updateUserPhone(String userId, String phone) {
- LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
- updateWrapper.eq(SysUser::getUserId, Long.parseLong(userId))
- .set(SysUser::getPhonenumber, phone);
- return appEnterpriseMineMapper.update(null, updateWrapper);
- }
-}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseUserServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseUserServiceImpl.java
index aaf1ae16..809fddd0 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseUserServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseUserServiceImpl.java
@@ -1,8 +1,11 @@
package com.zdxt.enforcementcode.service.impl;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zdxt.enforcementcode.domain.EnterpriseUser;
import com.zdxt.enforcementcode.domain.bo.EnterpriseUserBo;
+import com.zdxt.enforcementcode.domain.vo.EnterpriseUserRefVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseUserVo;
import com.zdxt.enforcementcode.mapper.EnterpriseUserMapper;
+import com.zdxt.enforcementcode.mapper.EnterpriseUserRefMapper;
import com.zdxt.enforcementcode.service.IEnterpriseUserService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@@ -32,6 +35,9 @@ public class EnterpriseUserServiceImpl implements IEnterpriseUserService {
private final EnterpriseUserMapper baseMapper;
+ private final EnterpriseUserRefMapper enterpriseUserRefMapper;
+
+
/**
* 查询企业用户信息
*
@@ -40,7 +46,15 @@ public class EnterpriseUserServiceImpl implements IEnterpriseUserService {
*/
@Override
public EnterpriseUserVo queryById(Long userId){
- return baseMapper.selectVoById(userId);
+ EnterpriseUserVo enterpriseUserVo = new EnterpriseUserVo();
+ List enterpriseUserRefVo = enterpriseUserRefMapper.selectByUserId(userId);
+ if(enterpriseUserRefVo.size()>0){
+ EnterpriseUserRefVo enterpriseUserRefVo1 = enterpriseUserRefVo.get(0);
+ enterpriseUserVo = baseMapper.selectVoById(userId);
+ enterpriseUserVo.setDeptName(enterpriseUserRefVo1.getEnterpriseName());
+ enterpriseUserVo.setDeptId(enterpriseUserRefVo1.getEnterpriseId());
+ }
+ return enterpriseUserVo;
}
/**
@@ -161,4 +175,43 @@ public class EnterpriseUserServiceImpl implements IEnterpriseUserService {
lqw.eq(EnterpriseUser::getLoginName, loginName);
return baseMapper.selectVoOne(lqw);
}
+
+ /**
+ * 修改企业用户手机号码
+ *
+ * @param userId 用户ID
+ * @param phoneNumber 新手机号码
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updatePhoneNumber(Long userId, String phoneNumber) {
+ if (userId == null || StringUtils.isBlank(phoneNumber)) {
+ log.warn("修改手机号码失败:用户ID或手机号码为空");
+ return false;
+ }
+
+ // 验证手机号格式
+// if (!phoneNumber.matches("^1[3-9]\\d{9}$")) {
+// log.warn("修改手机号码失败:手机号格式不正确,phoneNumber={}", phoneNumber);
+// return false;
+// }
+//
+ try {
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(EnterpriseUser::getUserId, userId)
+ .set(EnterpriseUser::getPhonenumber, phoneNumber);
+
+ int result = baseMapper.update(null, updateWrapper);
+ if (result > 0) {
+ log.info("成功修改用户[{}]的手机号码为[{}]", userId, phoneNumber);
+ return true;
+ } else {
+ log.warn("修改用户[{}]的手机号码失败,用户不存在", userId);
+ return false;
+ }
+ } catch (Exception e) {
+ log.error("修改用户[{}]的手机号码时发生异常", userId, e);
+ return false;
+ }
+ }
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseUserRefMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseUserRefMapper.xml
index 88b3cfc0..1b4e5785 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseUserRefMapper.xml
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseUserRefMapper.xml
@@ -3,4 +3,23 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+
+
diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
index de0c491c..d1299ea0 100644
--- a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
+++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
@@ -311,3 +311,29 @@ mssq:
hcpappid: zfjdm
hcpsign: ENC(SZL+KT860YpMBuK6GbNWTp0TYVeSu/DTYjKPRCm5xVJk9tI+O6/hqsE5zH9orApgjX6ggAS2hbGefmUsJwIkos0YtIgueK89ilDHtEy6/S0RWrnoi6F9aByxVG/mAwPxTPIXxwUECjvuET1rByTi7juNbufzWzJfYrH4dFXLmzbF5Cv5jJHM8R7Rq6DGL9X9UCqmROJygXv9KvrxN3OcnVoTHb0wQepEq6kplkd3SswLnPSDpb7q5vcs1XMxYcFRDLyqjmQYVRcx3HMsQZOGkTahOdzIfI/tL4D4upgYK1TFpaCiBL98vX/bh/s9RPmiHkyqMd8/R/NnoB8q5/5LldqxBhPCBi6RbPFGM/UfojdXeS5z2Uk/2w==)
hcptimestamp: 20240710172956
+
+
+#深圳易平台对接密钥
+szypt:
+ #测试
+ agentid: ENC(JHe/LoW7bh5Cxpn8BJ2Q6Q==)
+ url: ENC(pRnuGFcSRfkkLTp7NLU5EvD5QpSdkobiPlxjRhGE5l/Uvrur9isTzMkqYoYgMrHt)
+ corpid: ENC(jrCQGAujvdFRc5tCE8g8oM9F0Ln7shZoXB7WeM3Tzhs=)
+ corpsecret: ENC(Z8hjBADO1lZDAhOB7/ku9FpPIkYk4mGwyFH01vSwefMxweTeGaMuajSc9vD4bPL1wdgVhS/ZPeI=)
+
+#市认证网关
+srnwsrnwgg:
+ #正式
+ url: ENC(pHNm/o0+6S+HjrM5nuMiPRfkrHS1tXYD5i25OBtM4dWSi6MvH6iXfw==)
+ systemCode: ENC(cHDdxMKpJ/rbuj4PVCxylN+zPd9I2KT0)
+ integrationKey: ENC(txSndcPbZK5mYjW7Doa/n9Ips2PLa9NV)
+ paasId: szsfj_zhifajianduma_001
+ paasToken: ENC(VfUgR5OXHJcKvBBfq/2ysuNPH6I7tCCeWHYSzXKicGChlMiw9mVPGD51naX9w42E)
+ #市认证数据加密字符
+ secretKey: ENC(xWBA5VwT23j14A8+6I15HCerJvo3zaRxzVE2xc0i7wZ7wq/SCflOEkHCc8wwdi0KHkDGjKIoHhs=)
+# #测试
+# url: ENC(jFwf6bYIMn+FOtbCkyPr0r+TBOPrp84tNotl912ilUZy2e9Y8cbH3uDQ5jtr6SAa)
+# systemCode: ENC(ECOnqNVVPmCmnqhde6tsS5JEQYPtlmCv)
+# integrationKey: ENC(8RZtrfL4t5tsEk7lfrw00+4hSxbjxcVM)
+# paasId: szsfj_zhifajianduma_001
+# paasToken: ENC(0Cg8Vtpay+3hwRm+vJB0utikr4dXcEguwSaxlbTWkgQ4parB8pN2rL2xrhQ8eUd5)
From 7acf7e5d1ed8fb493ac50ba5ee83eb6ec2e02544 Mon Sep 17 00:00:00 2001
From: niujiyi <18272501226@163.com>
Date: Sat, 16 May 2026 19:07:45 +0800
Subject: [PATCH 02/13] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF-=E4=BA=8C?=
=?UTF-8?q?=E7=BB=B4=E7=A0=81=E4=B8=8B=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../AppEntEnterpriseInformationController.java | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEntEnterpriseInformationController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEntEnterpriseInformationController.java
index 4efb82d5..99229db9 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEntEnterpriseInformationController.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEntEnterpriseInformationController.java
@@ -120,19 +120,23 @@ public class AppEntEnterpriseInformationController {
* @return 二维码信息(qrCodeUrl, enterpriseName, generateTime)
*/
@SaIgnore
- @GetMapping("/forceGenerateQrCode/{enterpriseNumber}")
- public R
*
- * @param enterpriseNumber 企业纳税识别号
* @return 二维码信息(qrCodeUrl, enterpriseName, generateTime)
*/
@SaIgnore
@@ -116,7 +115,6 @@ public class AppEntEnterpriseInformationController {
* 返回新二维码URL、企业名称、生成时间
*
*
- * @param enterpriseNumber 企业纳税识别号
* @return 二维码信息(qrCodeUrl, enterpriseName, generateTime)
*/
@SaIgnore
From 8a82f84c6753e572ccd6a4e8a95073c0711064a9 Mon Sep 17 00:00:00 2001
From: ganhao
Date: Sat, 16 May 2026 19:10:04 +0800
Subject: [PATCH 04/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=A0=81=E7=9A=84=E7=9B=B8?=
=?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../enforcementcode/domain/vo/EnterpriseUserVo.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseUserVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseUserVo.java
index 5c30f988..09eddf63 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseUserVo.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseUserVo.java
@@ -3,6 +3,7 @@ package com.zdxt.enforcementcode.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.EnterpriseUser;
@@ -96,6 +97,7 @@ public class EnterpriseUserVo implements Serializable {
/**
* 密码
*/
+ @JsonIgnore
@ExcelProperty(value = "密码")
private String password;
@@ -121,6 +123,7 @@ public class EnterpriseUserVo implements Serializable {
/**
* 盐加密
*/
+ @JsonIgnore
@ExcelProperty(value = "盐加密")
private String salt;
@@ -130,5 +133,14 @@ public class EnterpriseUserVo implements Serializable {
@ExcelProperty(value = "备注")
private String remark;
+ /**
+ * 部门名称
+ */
+ private String deptName;
+
+ /**
+ * 部门名称
+ */
+ private String headUrl;
}
From e7aca98d094e1f0339ff7410fbb4174f0113cee3 Mon Sep 17 00:00:00 2001
From: ganhao
Date: Sat, 16 May 2026 19:44:48 +0800
Subject: [PATCH 05/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=A7=E6=B3=95?=
=?UTF-8?q?=E6=89=A7=E6=B3=95=E8=AF=84=E4=BB=B7=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/EnterpriseEvaluateServiceImpl.java | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java
index bfc06900..7a7cb9e5 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java
@@ -115,7 +115,7 @@ public class EnterpriseEvaluateServiceImpl implements IEnterpriseEvaluateService
@Override
public Boolean insertByBo(EnterpriseEvaluateBo bo) {
EnterpriseEvaluate add = MapstructUtils.convert(bo, EnterpriseEvaluate.class);
- validEntityBeforeSave(add);
+ validEntityBeforeSave(add, true); // 新增时需要校验重复评价
boolean flag =false;
flag= baseMapper.insert(add) > 0;
@@ -140,15 +140,25 @@ public class EnterpriseEvaluateServiceImpl implements IEnterpriseEvaluateService
@Override
public Boolean updateByBo(EnterpriseEvaluateBo bo) {
EnterpriseEvaluate update = MapstructUtils.convert(bo, EnterpriseEvaluate.class);
- validEntityBeforeSave(update);
+ validEntityBeforeSave(update, false); // 更新时不需要校验重复评价
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
+ * @param entity 待保存的实体
+ * @param isNew 是否为新增操作
*/
- private void validEntityBeforeSave(EnterpriseEvaluate entity){
- //TODO 做一些数据校验,如唯一约束
+ private void validEntityBeforeSave(EnterpriseEvaluate entity, boolean isNew){
+ // 仅在新增时校验enforcementId是否已存在评价记录,防止重复评价
+ if (isNew && StringUtils.isNotBlank(entity.getEnforcementId())) {
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(EnterpriseEvaluate::getEnforcementId, entity.getEnforcementId());
+ long count = baseMapper.selectCount(lqw);
+ if (count > 0) {
+ throw new RuntimeException("该执法案件已评价过,不支持二次评价");
+ }
+ }
}
/**
From e05f876fa94499c847ba144b9bfe9f4b0c543399 Mon Sep 17 00:00:00 2001
From: niujiyi <18272501226@163.com>
Date: Sat, 16 May 2026 20:16:10 +0800
Subject: [PATCH 06/13] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF-=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/AppEnterpriseComplaintServiceImpl.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
index edcaecc0..094c4bb5 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
@@ -239,6 +239,18 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
page
);
+ // 5. 设置总数
+ Long total = baseMapper.countAllCheckList(
+ bo.getEnterpriseNumber(),
+ bo.getSearchValue(),
+ checkCategoryCode,
+ bo.getBeginTime(),
+ bo.getEndTime(),
+ deptList
+ );
+ page.setRecords(list);
+ page.setTotal(total);
+
return TableDataInfo.build(list);
}
From b286ce47362d715c97abed2433f9803903630d4e Mon Sep 17 00:00:00 2001
From: niujiyi <18272501226@163.com>
Date: Sat, 16 May 2026 20:27:36 +0800
Subject: [PATCH 07/13] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF-=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../enterprise/impl/AppEnterpriseComplaintServiceImpl.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
index 094c4bb5..399f4f43 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
@@ -251,7 +251,7 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
page.setRecords(list);
page.setTotal(total);
- return TableDataInfo.build(list);
+ return TableDataInfo.build(page);
}
/**
From 9dd65df3f8814dddf1f602ea940e6ddb098d4a44 Mon Sep 17 00:00:00 2001
From: niujiyi <18272501226@163.com>
Date: Sat, 16 May 2026 20:38:29 +0800
Subject: [PATCH 08/13] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF-=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E8=AF=B7=E6=B1=82=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app/enterprise/AppEnterpriseComplaintController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
index 1cfbd8ca..7ab6f1ba 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
@@ -76,7 +76,7 @@ public class AppEnterpriseComplaintController extends BaseController {
* @return 分页结果
*/
@ApiResponse(description = "投诉建议-行政和非行政未被投诉列表")
- @GetMapping("/listNotComplaint")
+ @PostMapping("/listNotComplaint")
public TableDataInfo listNotComplaint(@ModelAttribute AppEnterpriseComplaintBo bo, PageQuery pageQuery) {
// 校验企业信用代码
TableDataInfo list = appEnterpriseComplaintService.getAllCheckList(bo, pageQuery);
From 8a4b4b8a10350313e67ed99936efd831eb0889b2 Mon Sep 17 00:00:00 2001
From: ganhao
Date: Sat, 16 May 2026 20:42:31 +0800
Subject: [PATCH 09/13] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=86=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=E7=BA=A7=E5=88=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/application-dev.yml | 4 ++--
.../zdxt-admin-web-server/src/main/resources/application.yml | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
index d1299ea0..54e608ad 100644
--- a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
+++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
zdxt:
file:
-# upload-path: /usr/local/uploadPath
- upload-path: /Users/vincent/uploadPath
+ upload-path: /usr/local/uploadPath
+# upload-path: /Users/vincent/uploadPath
url-prefix: /profile
qr_code_url: /usr/local/uploads/zfjd_logo.png
demo_enabled: false
diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml
index b2987072..9935b52e 100644
--- a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml
+++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml
@@ -37,6 +37,7 @@ logging:
org.springframework: warn
org.mybatis.spring.mapper: debug
org.apache.fury: warn
+ com.zdxt.enforcementcode: debug
config: classpath:logback-plus.xml
# 用户配置
From 9867acaf729f11b2043f4c9d83a751036e3c785b Mon Sep 17 00:00:00 2001
From: niujiyi <18272501226@163.com>
Date: Sat, 16 May 2026 21:12:43 +0800
Subject: [PATCH 10/13] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF-=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E8=AF=B7=E6=B1=82=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app/enterprise/AppEnterpriseComplaintController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
index 7ab6f1ba..b5cf53a7 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
@@ -77,7 +77,7 @@ public class AppEnterpriseComplaintController extends BaseController {
*/
@ApiResponse(description = "投诉建议-行政和非行政未被投诉列表")
@PostMapping("/listNotComplaint")
- public TableDataInfo listNotComplaint(@ModelAttribute AppEnterpriseComplaintBo bo, PageQuery pageQuery) {
+ public TableDataInfo listNotComplaint(AppEnterpriseComplaintBo bo, PageQuery pageQuery) {
// 校验企业信用代码
TableDataInfo list = appEnterpriseComplaintService.getAllCheckList(bo, pageQuery);
return list;
From 602a29d029306c17aa2c7d688d1866e3e197b80f Mon Sep 17 00:00:00 2001
From: ganhao
Date: Sat, 16 May 2026 21:27:02 +0800
Subject: [PATCH 11/13] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?=
=?UTF-8?q?=E7=A4=BE=E4=BC=9A=E6=89=A7=E6=B3=95=E4=BF=A1=E6=81=AF=EF=BC=88?=
=?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=BC=81=E4=B8=9AID=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/AppLawEnforcementCaseServiceImpl.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppLawEnforcementCaseServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppLawEnforcementCaseServiceImpl.java
index b440ff1d..1d02771a 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppLawEnforcementCaseServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppLawEnforcementCaseServiceImpl.java
@@ -7,14 +7,17 @@ import com.zdxt.enforcementcode.common.commonenum.LawTypeEnum;
import com.zdxt.enforcementcode.domain.EnforcementRegistration;
import com.zdxt.enforcementcode.domain.ZdxtFile;
import com.zdxt.enforcementcode.domain.bo.enterprise.AppLawEnforcementCaseBo;
+import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnforcementRegistrationVo;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppLawEnforcementCaseVo;
import com.zdxt.enforcementcode.mapper.ZdxtFileMapper;
import com.zdxt.enforcementcode.mapper.enterprise.AppEnforcementRegistrationMapper;
import com.zdxt.enforcementcode.mapper.enterprise.AppLawEnforcementCaseMapper;
+import com.zdxt.enforcementcode.service.IEnterpriseInformationService;
import com.zdxt.enforcementcode.service.enterprise.IAppLawEnforcementCaseService;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -31,6 +34,10 @@ public class AppLawEnforcementCaseServiceImpl implements IAppLawEnforcementCaseS
@Autowired
private ZdxtFileMapper zdxtFileMapper;
+ @Autowired
+ private IEnterpriseInformationService enterpriseInformationService;
+
+
/**
* 企业端-查询案件列表
* @param bo
@@ -39,6 +46,9 @@ public class AppLawEnforcementCaseServiceImpl implements IAppLawEnforcementCaseS
*/
@Override
public TableDataInfo selectAppLawEnforcementCaseList(AppLawEnforcementCaseBo bo, PageQuery pageQuery) {
+ String deptId = LoginHelper.getDeptId();//企业ID
+ EnterpriseInformationVo enterpriseInformationVo = enterpriseInformationService.queryById(deptId);
+ bo.setIdNumber(enterpriseInformationVo.getEnterpriseNumber());
Page page = pageQuery.build();
IPage result = appLawEnforcementCaseMapper.selectAppLawEnforcementCaseList(bo, page);
return TableDataInfo.build(result);
From 643628fc2626c9056aef6857d337d9b1fa980a59 Mon Sep 17 00:00:00 2001
From: niujiyi <18272501226@163.com>
Date: Sat, 16 May 2026 21:42:43 +0800
Subject: [PATCH 12/13] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E7=AB=AF-=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E8=AF=B7=E6=B1=82=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app/enterprise/AppEnterpriseComplaintController.java | 6 +++++-
.../mapper/enterprise/AppEnterpriseComplaintMapper.java | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
index b5cf53a7..8c3c4834 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
@@ -77,7 +77,11 @@ public class AppEnterpriseComplaintController extends BaseController {
*/
@ApiResponse(description = "投诉建议-行政和非行政未被投诉列表")
@PostMapping("/listNotComplaint")
- public TableDataInfo listNotComplaint(AppEnterpriseComplaintBo bo, PageQuery pageQuery) {
+ public TableDataInfo listNotComplaint(@ModelAttribute AppEnterpriseComplaintBo bo, @ModelAttribute PageQuery pageQuery) {
+ // 添加调试日志
+ //log.info("接收到分页参数: pageNum={}, pageSize={}", pageQuery.getPageNum(), pageQuery.getPageSize());
+ //log.info("接收到查询条件: {}", bo);
+
// 校验企业信用代码
TableDataInfo list = appEnterpriseComplaintService.getAllCheckList(bo, pageQuery);
return list;
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/enterprise/AppEnterpriseComplaintMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/enterprise/AppEnterpriseComplaintMapper.java
index 41b7c393..907c738c 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/enterprise/AppEnterpriseComplaintMapper.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/enterprise/AppEnterpriseComplaintMapper.java
@@ -29,7 +29,7 @@ public interface AppEnterpriseComplaintMapper extends BaseMapperPlus deptList,
- Page page
+ @Param("page") Page page
);
/**
From d921b3cb1fe20d2093d86597f22ba236883f8169 Mon Sep 17 00:00:00 2001
From: wangmingyong
Date: Sat, 16 May 2026 21:53:40 +0800
Subject: [PATCH 13/13] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/api/enterprise/index.js | 14 +-
.../complaint/ComplaintItemPicker.vue | 70 +++-
.../src/components/enterprise/footerNav.vue | 22 +-
.../router/enterprise-app/ent-main-router.js | 7 +
.../src/views/enterprise/auth/login.vue | 35 +-
.../enforcement/enforcementEvaluate.vue | 19 +-
.../enforcement/enforcementEvaluateDetail.vue | 43 +--
.../enterprise/home/enterpriseHomeV2.vue | 10 +-
.../src/views/enterprise/law/lawQuery.vue | 312 ++++++++++++++++++
.../views/enterprise/law/lawServiceDetail.vue | 110 ++++--
.../views/enterprise/law/lawServiceList.vue | 28 +-
.../enterprise/message/messageCenter.vue | 85 ++++-
.../views/enterprise/my/complaintDetail.vue | 82 ++++-
.../enterprise/my/complaintSuggestion.vue | 177 +++++++---
.../src/views/enterprise/my/settings.vue | 18 +-
.../src/views/enterprise/qr/qrCode.vue | 44 ++-
16 files changed, 882 insertions(+), 194 deletions(-)
create mode 100644 zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawQuery.vue
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/api/enterprise/index.js b/zdxt-web-client/zdxt-efcode-enterprise-app/src/api/enterprise/index.js
index 0b620bbf..1c698dbc 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/api/enterprise/index.js
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/api/enterprise/index.js
@@ -16,7 +16,7 @@ export const getUserRefEnterpriseInfo = (params, success, error) => _get(enterpr
export const getEnterpriseMerchantAuthorization = (params, success, error) => _get(enterpriseAppBaseUrl + "/authorization/queryList",params,success,error);
//查询企业二维码
-export const queryEnterpriseInformationQrCode = (enterpriseNumber, success, error) => _get(enterpriseAppBaseUrl+"/enterpriseInfo/getQrCode/"+enterpriseNumber,null,success,error)
+export const queryEnterpriseInformationQrCode = (params, success, error) => _get(enterpriseAppBaseUrl+"/enterpriseInfo/getQrCode",params,success,error)
//查询企业执法登记列表-企业端(含投诉标记、字典翻译、超时计算等)
export const getEnterpriseEnforcementRegistrationList = (params, success, error) => _get(enterpriseAppBaseUrl+"/lawEnforcementCase/list",params,success,error)
@@ -73,13 +73,13 @@ export const getComplaintDisposalProgress = (params, success, error) => _get(ent
export const addComplaint = (params, success, error) => _post(enterpriseAppBaseUrl+"/complaint/add",params,success,error)
//查询字典数据(公共)
-export const queryDict = (params, success, error) => _get(enterpriseAppBaseUrl +"/common/dict/queryDict",params,success,error)
+export const queryDict = (params, success, error) => _get("/common/dict/queryDict",params,success,error)
//执法单位(部门)列表
-export const getDeptList = (params, success, error) => _get(enterpriseAppBaseUrl +"/enforcementcode/virtualUnit/list",params,success,error)
+export const getDeptList = (params, success, error) => _get("/enforcementcode/virtualUnit/list",params,success,error)
//投诉事项列表
-export const getComplaintItemList = (params, success, error) => _get(enterpriseAppBaseUrl +"/complaint/listNotComplaint",params,success,error)
+export const getComplaintItemList = (params, success, error) => _post(enterpriseAppBaseUrl +"/complaint/listNotComplaint",params,success,error)
//深i企登录-暂时没有环境调通
export const getSiqLoginAuth = (params, success, error) => _post(enterpriseAppBaseUrl +"/thirdLogin/siqLogin",params,success,error);
@@ -87,4 +87,10 @@ export const getSiqLoginAuth = (params, success, error) => _post(enterpriseAppBa
//深i企模拟登录(通过userId模拟)
export const getSiqLoginAuthMock = (params, success, error) => _post(enterpriseAppBaseUrl +"/thirdLogin/siqLoginMock",params,success,error);
+//强制生成二维码
+export const forceGenerateQrCode = (params, success, error) => _get(enterpriseAppBaseUrl+"/enterpriseInfo/forceGenerateQrCode",params,success,error)
+
+//消息数据统计接口(未读数量)
+export const getMessageUnreadCount = (params, success, error) => _get(enterpriseAppBaseUrl +"/enterprise/todoitem/statisticsUnReadCount",params,success,error);
+
// endregion
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/components/complaint/ComplaintItemPicker.vue b/zdxt-web-client/zdxt-efcode-enterprise-app/src/components/complaint/ComplaintItemPicker.vue
index 532259b5..93e43b28 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/components/complaint/ComplaintItemPicker.vue
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/components/complaint/ComplaintItemPicker.vue
@@ -30,29 +30,37 @@
-
+
-
执法时间:{{ item.time }}
+
执法时间:{{ item.enforcementTime }}
{{ item.title }}
{{ item.subName }}
-
执法单位:{{ item.unit }}
-
执法人员:{{ item.personnel.join('、') }}
-
执法类别:{{ item.category }}
+
执法单位:{{ item.bureauDeptName }}
+
+
执法人员:
+
+
{{ item.lawEnforcer }}{{ item.lawEnforcerId }}
+
{{ item.lawEnforcerOther }}{{ item.lawEnforcerOtherId }}
+
+
+
+
执法类别:{{ getDictText('check_category',item.lawEnforcementType)}}
-
没有更多了
+
加载中...
+
没有更多了
-
-
@@ -60,13 +68,15 @@
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceDetail.vue b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceDetail.vue
index 4efe5c0b..a5e8d7e5 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceDetail.vue
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceDetail.vue
@@ -24,23 +24,34 @@
{{ detail.time }}
-
-
+
+
+
+
-
-
-
![]()
-
+
+
+
![]()
+
+
+
+
+
+
+
+
+
@@ -60,6 +71,7 @@ const detail = ref({
title: '',
source: '',
time: '',
+ contentType: 1, // 1: 文本详情, 2: 超链接
content: [],
images: [],
});
@@ -86,7 +98,8 @@ const fetchDetail = () => {
title: res.data.title || '',
source: res.data.source || '',
time: res.data.time || '',
- content: res.data.content ? (Array.isArray(res.data.content) ? res.data.content : [res.data.content]) : [],
+ contentType: res.data.contentType || 1, // 1: 文本详情, 2: 超链接
+ content: res.data.content || '',
images: res.data.images || [],
};
} else {
@@ -190,13 +203,55 @@ const previewImage = (index) => {
}
.detail-body {
+ font-size: 0.37rem;
+ color: #333;
+ line-height: 1.8;
+
p {
- font-size: 0.37rem;
- color: #333;
- line-height: 1.8;
text-indent: 2em;
margin-bottom: 0.3rem;
}
+
+ h1, h2, h3, h4, h5, h6 {
+ font-weight: bold;
+ margin-top: 0.4rem;
+ margin-bottom: 0.2rem;
+ color: #1a1a1a;
+ }
+
+ h1 { font-size: 0.5rem; }
+ h2 { font-size: 0.45rem; }
+ h3 { font-size: 0.4rem; }
+ h4, h5, h6 { font-size: 0.37rem; }
+
+ ul, ol {
+ padding-left: 0.5rem;
+ margin-bottom: 0.3rem;
+ }
+
+ li {
+ margin-bottom: 0.15rem;
+ }
+
+ img {
+ max-width: 100%;
+ height: auto;
+ border-radius: 0.15rem;
+ margin: 0.2rem 0;
+ }
+
+ a {
+ color: #2d94fa;
+ text-decoration: underline;
+ }
+
+ blockquote {
+ border-left: 4px solid #2d94fa;
+ padding-left: 0.3rem;
+ margin: 0.3rem 0;
+ color: #666;
+ font-style: italic;
+ }
}
.detail-images {
@@ -209,4 +264,19 @@ const previewImage = (index) => {
display: block;
}
}
+
+/* ===== iframe 样式 ===== */
+.detail-iframe-wrap {
+ width: 100%;
+ margin-top: 0.2rem;
+ border-radius: 0.15rem;
+ overflow: hidden;
+ background: #f5f5f5;
+}
+
+.detail-iframe {
+ width: 100%;
+ height: 500px;
+ background: #fff;
+}
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceList.vue b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceList.vue
index 00af19fc..25ef390f 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceList.vue
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/law/lawServiceList.vue
@@ -37,18 +37,19 @@
+
{{ item.title || '-' }}
- {{ item.summary || item.content || '' }}
+ {{ stripHtml(item.summary || item.content || '') }}
@@ -88,6 +89,15 @@ const formatTime = (val) => {
return `${y}-${m}-${day} ${h}:${mi}:${s}`;
};
+// ========== 移除HTML标签 ==========
+const stripHtml = (html) => {
+ if (!html) return '';
+ // 移除HTML标签
+ const text = html.replace(/<[^>]*>/g, '');
+ // 移除多余的空白字符
+ return text.replace(/\s+/g, ' ').trim();
+};
+
// ========== 加载数据 ==========
const fetchList = () => {
const params = {
@@ -157,6 +167,8 @@ const onSearchClick = () => {
// ========== 跳转详情 ==========
const toDetail = (item) => {
+ // 无论 contentType 是多少,都跳转到详情页
+ // 详情页会根据 contentType 决定是显示文本还是 iframe
router.push({
path: '/enterprise/lawServiceDetail',
query: { id: item.id },
@@ -222,11 +234,23 @@ const toDetail = (item) => {
display: flex;
align-items: center;
justify-content: center;
+ position: relative;
svg {
width: 100%;
height: 100%;
}
+
+ .unread-dot {
+ position: absolute;
+ top: -0.05rem;
+ right: -0.05rem;
+ width: 0.12rem;
+ height: 0.12rem;
+ min-width: 0.12rem;
+ background-color: #ee0a24;
+ border-radius: 50%;
+ }
}
.item-title {
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/message/messageCenter.vue b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/message/messageCenter.vue
index 30148de9..b002d3e5 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/message/messageCenter.vue
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/message/messageCenter.vue
@@ -82,17 +82,19 @@
import { showToast } from 'vant';
import 'vant/es/toast/style';
import * as w6s from 'szient-js-sdk';
+import { getMessageUnreadCount } from '@/api/enterprise';
const { useCommon } = $globalStore;
const router = useRouter();
// ========== Tab 状态 ==========
const activeTab = ref(0);
+const route = useRoute();
// ========== 消息列表状态 ==========
const messageList = ref([]);
const messageLoading = ref(false);
-const messageFinished = ref(false);
+const messageFinished = ref(true); // 默认已完成,不需要加载更多
const messageRefreshing = ref(false);
const messagePageNum = ref(1);
const messagePageSize = ref(10);
@@ -100,14 +102,42 @@ const messagePageSize = ref(10);
// ========== 待办列表状态 ==========
const todoList = ref([]);
const todoLoading = ref(false);
-const todoFinished = ref(false);
+const todoFinished = ref(true); // 默认已完成,不需要加载更多
const todoRefreshing = ref(false);
const todoPageNum = ref(1);
const todoPageSize = ref(10);
-// ========== 生成消息假数据 ==========
-const generateMessageMockData = () => {
- return [
+// ========== 消息统计数据 ==========
+const messageStats = ref({
+ pffwCount: 0, // 普法服务未读数量
+ zfpjcount: 0, // 执法评价未读数量
+ zfygCount: 0, // 执法预告未读数量
+ totalCount: 0, // 未读总数
+});
+
+// ========== 获取消息未读数量 ==========
+const fetchMessageStats = () => {
+ getMessageUnreadCount({}, (res) => {
+ if (res && res.code === 200 && res.data) {
+ messageStats.value = {
+ pffwCount: Number(res.data.pffwCount) || 0,
+ zfpjcount: Number(res.data.zfpjcount) || 0,
+ zfygCount: Number(res.data.zfygCount) || 0,
+ totalCount: Number(res.data.totalCount) || 0,
+ };
+ // 更新消息列表和待办列表的未读数量
+ initMessageList();
+ initTodoList();
+ updateUnreadCount();
+ }
+ }, () => {
+ // 如果接口调用失败,保持默认数据
+ });
+};
+
+// ========== 初始化默认消息列表 ==========
+const initMessageList = () => {
+ messageList.value = [
{
id: 1,
title: '普法服务',
@@ -115,31 +145,31 @@ const generateMessageMockData = () => {
time: '2026-04-15 10:07',
icon: 'law',
iconBg: 'icon-blue',
- unreadCount: 1,
+ unreadCount: messageStats.value.pffwCount,
},
];
};
-// ========== 生成待办假数据 ==========
-const generateTodoMockData = () => {
- return [
+// ========== 初始化默认待办列表 ==========
+const initTodoList = () => {
+ todoList.value = [
{
id: 101,
title: '执法预告',
- desc: '您有一条执法预告,请及时查看',
+ desc: messageStats.value.zfygCount > 0 ? `您有${messageStats.value.zfygCount}条执法预告,请及时查看` : '暂无执法预告',
time: '2026-04-15 09:30',
icon: 'check',
iconBg: 'icon-red',
- unreadCount: 3,
+ unreadCount: messageStats.value.zfygCount,
},
{
id: 102,
title: '待评价执法',
- desc: '您有2条执法记录待评价',
+ desc: messageStats.value.zfpjcount > 0 ? `您有${messageStats.value.zfpjcount}条执法记录待评价` : '暂无待评价执法',
time: '2026-04-14 15:00',
icon: 'check',
iconBg: 'icon-orange',
- unreadCount: 2,
+ unreadCount: messageStats.value.zfpjcount,
},
];
};
@@ -221,6 +251,8 @@ const onTodoRefresh = () => {
// ========== 消息点击 ==========
const onMessageClick = (item) => {
if (item.title === '普法服务') {
+ // 点击普法服务,返回时显示消息tab页(0)
+ sessionStorage.setItem('messageReturnTab', '0');
router.push({
path: '/enterprise/lawServiceList',
});
@@ -232,10 +264,14 @@ const onMessageClick = (item) => {
// ========== 待办点击 ==========
const onTodoClick = (item) => {
if (item.title === '执法预告') {
+ // 点击执法预告,返回时显示待办tab页(1)
+ sessionStorage.setItem('messageReturnTab', '1');
router.push({
path: '/enterprise/enforcementNoticeList',
});
} else if (item.title === '待评价执法') {
+ // 点击待评价执法,返回时显示待办tab页(1)
+ sessionStorage.setItem('messageReturnTab', '1');
router.push({
path: '/enterprise/enforcementEvaluate',
});
@@ -254,6 +290,29 @@ onMounted(() => {
w6s.ready(() => {
w6s.header.setTitle('消息中心');
});
+ // 优先从sessionStorage获取返回时要显示的tab页(用于页面返回时定位)
+ const returnTab = sessionStorage.getItem('messageReturnTab');
+ if (returnTab === '1') {
+ activeTab.value = 1;
+ sessionStorage.removeItem('messageReturnTab');
+ } else if (returnTab === '0') {
+ activeTab.value = 0;
+ sessionStorage.removeItem('messageReturnTab');
+ } else {
+ // 从路由参数获取要显示的tab页(0=消息,1=待办)
+ const tab = route.query.tab;
+ if (tab === 'todo' || tab === '1') {
+ activeTab.value = 1;
+ } else {
+ activeTab.value = 0;
+ }
+ }
+ // 立即初始化列表数据(不需要等待接口)
+ initMessageList();
+ initTodoList();
+ updateUnreadCount();
+ // 后台异步获取最新统计数据(不阻塞页面显示)
+ fetchMessageStats();
});
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintDetail.vue b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintDetail.vue
index 857b6eb2..5c466263 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintDetail.vue
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintDetail.vue
@@ -18,7 +18,7 @@
投诉类型
- {{ detail.complaintType==0?'默认':'联合检查' }}
+ {{ getComplaintTypeText(detail.enforceType) }}
投诉事项
@@ -59,7 +59,7 @@
联系人
- {{ detail.linkman ||'' }}
+ {{ detail.linkman || '' }}
联系电话
@@ -71,7 +71,7 @@
是否授权
- {{ detail.authorized ? '同意' : '不同意' }}
+ {{ detail.authorized ? '是' : '否' }}
@@ -82,12 +82,8 @@
-
+
@@ -118,6 +114,9 @@
import { showToast } from 'vant';
import 'vant/es/toast/style';
import { getComplaintDetail, getComplaintDisposalProgress } from '@/api/enterprise';
+// 引入字典工具
+import { loadDict } from '@/util/dictUtil';
+import { reactive } from 'vue';
const router = useRouter();
const route = useRoute();
@@ -125,6 +124,20 @@ const route = useRoute();
// 当前激活 tab
const activeTab = ref('detail');
+// 投诉类型字典(与新增页面保持一致)
+const complaintTypeDict = reactive({});
+
+// 加载投诉类型字典
+const loadComplaintTypeDict = () => {
+ loadDict('caseType', (columns) => {
+ columns.forEach(item => {
+ complaintTypeDict[item.value] = item.text;
+ });
+ }, () => {
+ // 加载失败不做处理,使用默认值
+ });
+};
+
const detail = ref({
time: '',
bureauDept: '',
@@ -167,7 +180,19 @@ const MOCK_PROGRESS_LIST = [
},
];
+// 根据编码获取投诉类型显示文本
+const getComplaintTypeText = (code) => {
+ console.log('投诉类型字典项111:', code);
+ if (complaintTypeDict[code] !== undefined) {
+ console.log('投诉类型字典项111:', code, complaintTypeDict[code]);
+ return complaintTypeDict[code];
+ }
+ // 默认值(兼容旧数据)
+ return code == 0 ? '默认' : code == 1 ? '联合检查' : (code || '');
+};
+
onMounted(() => {
+
const id = route.query.id;
if (!id) {
showToast('缺少投诉ID');
@@ -175,12 +200,49 @@ onMounted(() => {
}
fetchDetail(id);
fetchDisposalProgress(id);
+ // 加载投诉类型字典
+ loadComplaintTypeDict();
});
+
+
+// 获取环境变量中的文件服务地址
+const VITE_FILE_URL = import.meta.env.VITE_FILE_URL || '';
+
+// 拼接完整的图片URL
+const buildImageUrl = (path) => {
+ if (!path) return '';
+ // 如果已经是完整URL则直接返回
+ if (path.startsWith('http://') || path.startsWith('https://')) {
+ return path;
+ }
+ // 拼接后台地址
+ return VITE_FILE_URL + path;
+};
+
const fetchDetail = (id) => {
getComplaintDetail({ id }, (res) => {
if (res && res.code === 200) {
- detail.value = res.data || {};
+ const data = res.data || {};
+ // 处理附件图片,从fileList中提取uploadPath
+ const images = [];
+ if (data.fileList && Array.isArray(data.fileList)) {
+ data.fileList.forEach(file => {
+ if (file && file.uploadPath) {
+ images.push(buildImageUrl(file.uploadPath));
+ }
+ });
+ }
+ // 兼容旧的images字段
+ if (images.length === 0 && data.images && Array.isArray(data.images)) {
+ data.images.forEach(img => {
+ images.push(buildImageUrl(img));
+ });
+ }
+ detail.value = {
+ ...data,
+ images: images
+ };
}
}, () => { });
};
diff --git a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintSuggestion.vue b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintSuggestion.vue
index ce2ea3a0..9aca7181 100644
--- a/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintSuggestion.vue
+++ b/zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/my/complaintSuggestion.vue
@@ -68,7 +68,7 @@
-
+
同意
@@ -76,7 +76,7 @@
-
+
不同意
@@ -94,7 +94,8 @@
+ :loading="complaintLoading" :finished="complaintFinished"
+ @select="onComplaintItemSelect" @loadMore="loadComplaintItemList" @search="onComplaintItemSearch" />
@@ -113,8 +114,9 @@