29 changed files with 1778 additions and 172 deletions
@ -0,0 +1,65 @@ |
|||
package com.zdxt.enforcementcode.controller.app.enforcement; |
|||
|
|||
import cn.dev33.satoken.annotation.SaCheckPermission; |
|||
import com.zdxt.enforcementcode.domain.bo.EnforcementCarouselBannerBo; |
|||
import com.zdxt.enforcementcode.domain.vo.EnforcementCarouselBannerVo; |
|||
import com.zdxt.enforcementcode.service.IEnforcementCarouselBannerService; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import jakarta.validation.constraints.NotEmpty; |
|||
import jakarta.validation.constraints.NotNull; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.dromara.common.core.domain.R; |
|||
import org.dromara.common.core.validate.AddGroup; |
|||
import org.dromara.common.core.validate.EditGroup; |
|||
import org.dromara.common.excel.utils.ExcelUtil; |
|||
import org.dromara.common.idempotent.annotation.RepeatSubmit; |
|||
import org.dromara.common.log.annotation.Log; |
|||
import org.dromara.common.log.enums.BusinessType; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.web.core.BaseController; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 执法端-轮播公告信息 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-08 |
|||
*/ |
|||
@Validated |
|||
@RequiredArgsConstructor |
|||
@RestController |
|||
@RequestMapping("/app-ent/enforcement/carouselBanner") |
|||
public class AppEnfCarouselBannerController extends BaseController { |
|||
|
|||
private final IEnforcementCarouselBannerService enforcementCarouselBannerService; |
|||
|
|||
/** |
|||
* 执法端-查询轮播公告信息列表 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:carouselBanner:list") |
|||
@GetMapping("/list") |
|||
public TableDataInfo<EnforcementCarouselBannerVo> list(EnforcementCarouselBannerBo bo, PageQuery pageQuery) { |
|||
// 设置默认查询平台:企业端(0) 和 执法端(2)
|
|||
if (bo.getTargetPlatforms() == null || bo.getTargetPlatforms().isEmpty()) { |
|||
bo.setTargetPlatforms(Arrays.asList(0, 2)); |
|||
} |
|||
return enforcementCarouselBannerService.queryPageList(bo, pageQuery); |
|||
} |
|||
|
|||
/** |
|||
* 执法端-获取轮播公告信息详细信息 |
|||
* |
|||
* @param id 主键 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:carouselBanner:query") |
|||
@GetMapping("/{id}") |
|||
public R<EnforcementCarouselBannerVo> getInfo(@NotNull(message = "主键不能为空") |
|||
@PathVariable String id) { |
|||
return R.ok(enforcementCarouselBannerService.queryById(id)); |
|||
} |
|||
} |
|||
@ -0,0 +1,109 @@ |
|||
package com.zdxt.enforcementcode.controller.app.enforcement; |
|||
|
|||
import cn.dev33.satoken.annotation.SaCheckPermission; |
|||
import com.zdxt.enforcementcode.domain.bo.SysNoticeInfoBo; |
|||
import com.zdxt.enforcementcode.domain.bo.enterprise.EnterpriseNoticeListInfoBo; |
|||
import com.zdxt.enforcementcode.domain.vo.SysNoticeInfoVo; |
|||
import com.zdxt.enforcementcode.service.ISysNoticeInfoService; |
|||
import jakarta.validation.constraints.NotEmpty; |
|||
import jakarta.validation.constraints.NotNull; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.dromara.common.core.domain.R; |
|||
import org.dromara.common.core.validate.AddGroup; |
|||
import org.dromara.common.core.validate.EditGroup; |
|||
import org.dromara.common.idempotent.annotation.RepeatSubmit; |
|||
import org.dromara.common.log.annotation.Log; |
|||
import org.dromara.common.log.enums.BusinessType; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.web.core.BaseController; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 执法端-系统公告信息 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-08 |
|||
*/ |
|||
@Validated |
|||
@RequiredArgsConstructor |
|||
@RestController |
|||
@RequestMapping("/app-enf/enforcement/noticeInfo") |
|||
public class AppEnfNoticeInfoController extends BaseController { |
|||
|
|||
private final ISysNoticeInfoService sysNoticeInfoService; |
|||
|
|||
/** |
|||
* 企业端-系统公告信息主列表 |
|||
* @param bo |
|||
* @return |
|||
*/ |
|||
@PostMapping("/queryNoticeContentList") |
|||
public R<List<String>> queryNoticeContentList(@RequestBody EnterpriseNoticeListInfoBo bo) { |
|||
bo.setEffectiveStatus(Integer.valueOf(1));//1-有效
|
|||
List noticeList = sysNoticeInfoService.queryNoticeContentList(bo); |
|||
return R.ok(noticeList); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 查询系统公告信息主列表 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:noticeInfo:list") |
|||
@GetMapping("/list") |
|||
public TableDataInfo<SysNoticeInfoVo> list(SysNoticeInfoBo bo, PageQuery pageQuery) { |
|||
return sysNoticeInfoService.queryPageList(bo, pageQuery); |
|||
} |
|||
|
|||
|
|||
|
|||
/** |
|||
* 获取系统公告信息主详细信息 |
|||
* |
|||
* @param id 主键 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:noticeInfo:query") |
|||
@GetMapping("/{id}") |
|||
public R<SysNoticeInfoVo> getInfo(@NotNull(message = "主键不能为空") |
|||
@PathVariable String id) { |
|||
return R.ok(sysNoticeInfoService.queryById(id)); |
|||
} |
|||
|
|||
/** |
|||
* 新增系统公告信息主 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:noticeInfo:add") |
|||
@Log(title = "系统公告信息主", businessType = BusinessType.INSERT) |
|||
@RepeatSubmit() |
|||
@PostMapping() |
|||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysNoticeInfoBo bo) { |
|||
return toAjax(sysNoticeInfoService.insertByBo(bo)); |
|||
} |
|||
|
|||
/** |
|||
* 修改系统公告信息主 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:noticeInfo:edit") |
|||
@Log(title = "系统公告信息主", businessType = BusinessType.UPDATE) |
|||
@RepeatSubmit() |
|||
@PutMapping() |
|||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysNoticeInfoBo bo) { |
|||
return toAjax(sysNoticeInfoService.updateByBo(bo)); |
|||
} |
|||
|
|||
/** |
|||
* 删除系统公告信息主 |
|||
* |
|||
* @param ids 主键串 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:noticeInfo:remove") |
|||
@Log(title = "系统公告信息主", businessType = BusinessType.DELETE) |
|||
@DeleteMapping("/{ids}") |
|||
public R<Void> remove(@NotEmpty(message = "主键不能为空") |
|||
@PathVariable String[] ids) { |
|||
return toAjax(sysNoticeInfoService.deleteWithValidByIds(List.of(ids), true)); |
|||
} |
|||
} |
|||
@ -0,0 +1,205 @@ |
|||
package com.zdxt.enforcementcode.controller.app.enforcement; |
|||
|
|||
|
|||
import cn.hutool.core.collection.CollectionUtil; |
|||
import cn.hutool.core.convert.Convert; |
|||
import cn.hutool.core.util.IdUtil; |
|||
import com.zdxt.enforcementcode.common.config.SrnwgConfig; |
|||
import com.zdxt.enforcementcode.common.util.IdCardCryptoUtil; |
|||
import com.zdxt.enforcementcode.common.util.PasswordTools; |
|||
import com.zdxt.enforcementcode.domain.EnterpriseInformation; |
|||
import com.zdxt.enforcementcode.domain.bo.EnterpriseInformationBo; |
|||
import com.zdxt.enforcementcode.domain.bo.QueryEnterpriseInformationListBo; |
|||
import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo; |
|||
import com.zdxt.enforcementcode.domain.vo.EnterpriseSearchVo; |
|||
import com.zdxt.enforcementcode.domain.vo.SsztJbxx110497NewVo; |
|||
import com.zdxt.enforcementcode.service.IEnterpriseInformationService; |
|||
import com.zdxt.enforcementcode.service.ISsztJbxx110497NewService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
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.dromara.common.web.core.BaseController; |
|||
import org.dromara.system.domain.bo.QuerySysUserBo; |
|||
import org.dromara.system.domain.vo.SysUserVo; |
|||
import org.dromara.system.service.ISysUserService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 执法端-共用方法类 |
|||
* @Author: kylin |
|||
* @Date: 2024/5/1 3:00 下午 |
|||
* @Version: 1.0 |
|||
* @Desc: TODO |
|||
*/ |
|||
@Slf4j |
|||
@Controller |
|||
@RequestMapping("/app-enf/app") |
|||
public class AppEnfSystemController extends BaseController { |
|||
|
|||
@Autowired |
|||
private ISysUserService userService; |
|||
|
|||
@Autowired |
|||
private SrnwgConfig srnwgConfig; |
|||
|
|||
@Autowired |
|||
private IEnterpriseInformationService enterpriseInformationService; |
|||
|
|||
@Autowired |
|||
private ISsztJbxx110497NewService ssztJbxx110497NewService; |
|||
|
|||
/** |
|||
* 监督端查询执法人员&非执法人员 |
|||
* 排除admin和手机号码为空的数据) |
|||
* |
|||
* @param user 查询条件 |
|||
* @param pageQuery 分页参数 |
|||
* @return 分页结果 |
|||
*/ |
|||
@PostMapping("/selectUserListByHave") |
|||
@ResponseBody |
|||
public TableDataInfo selectUserListByHave(QuerySysUserBo user, PageQuery pageQuery) { |
|||
// 初始化 params,避免空指针异常
|
|||
if (user.getParams() == null) { |
|||
user.setParams(new java.util.HashMap<>()); |
|||
} |
|||
|
|||
// 设置排除的用户ID列表
|
|||
if (null != user.getNotUserId()) { |
|||
user.getParams().put("notUserIds", Convert.toStrArray(user.getNotUserId())); |
|||
} |
|||
|
|||
// 设置是否显示执法证号标识
|
|||
if (null != user.getIsShowCardId()) { |
|||
user.getParams().put("showCardId", user.getIsShowCardId()); |
|||
} |
|||
|
|||
// 清空部门ID过滤
|
|||
user.setDeptId(null); |
|||
|
|||
// 调用 Service 层获取分页数据
|
|||
TableDataInfo<SysUserVo> result = userService.selectUserListByHave(user, pageQuery); |
|||
List<SysUserVo> list = result.getRows(); |
|||
|
|||
// 解密手机号
|
|||
if (list != null && !list.isEmpty()) { |
|||
decryptPhoneNumbers(list); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
|
|||
/** |
|||
* 批量解密用户手机号 |
|||
* |
|||
* @param userList 用户列表 |
|||
*/ |
|||
private void decryptPhoneNumbers(List<SysUserVo> userList) { |
|||
String secretKey = srnwgConfig.getSecretKey(); |
|||
userList.forEach(user -> { |
|||
if (StringUtils.isEmpty(user.getPhonenumber())) { |
|||
return; |
|||
} |
|||
|
|||
// 纯数字表示未加密,直接使用
|
|||
if (user.getPhonenumber().matches("^\\d+$")) { |
|||
return; |
|||
} |
|||
|
|||
// 尝试解密手机号
|
|||
try { |
|||
String decryptPhone = IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, user.getPhonenumber()); |
|||
user.setPhonenumber(decryptPhone); |
|||
} catch (Exception e) { |
|||
// 解密失败,保持原值
|
|||
log.warn("手机号解密失败: {}", user.getPhonenumber(), e); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
|
|||
|
|||
/** |
|||
* 查询企业信息以及二维码地址(支持分页) |
|||
* 当输入完整统一社会信用代码时(enterpriseNumber、searchValue),若企业业务表无该企业信息, |
|||
* 则会向市监表查询,市监表存在,则会将该企业信息添加至企业业务表,并生成二维码 |
|||
* |
|||
* @param bo 查询条件 |
|||
* @param pageQuery 分页参数 |
|||
* @return 分页结果 |
|||
*/ |
|||
@PostMapping("/queryListAndQrInfo") |
|||
@ResponseBody |
|||
public TableDataInfo queryListAndQrInfo(QueryEnterpriseInformationListBo bo, PageQuery pageQuery) { |
|||
// 将 QueryEnterpriseInformationListBo 转换为 EnterpriseInformationBo
|
|||
EnterpriseInformationBo enterpriseBo = new EnterpriseInformationBo(); |
|||
enterpriseBo.setEnterpriseName(bo.getEnterpriseName()); |
|||
enterpriseBo.setEnterpriseNumber(bo.getEnterpriseNumber()); |
|||
enterpriseBo.setSearchValue(bo.getSearchValue()); |
|||
|
|||
// 判断是否为完整的统一社会信用代码查询(18位)
|
|||
String creditCode = StringUtils.isNotBlank(bo.getEnterpriseNumber()) |
|||
? bo.getEnterpriseNumber() |
|||
: bo.getSearchValue(); |
|||
|
|||
if (StringUtils.isNotBlank(creditCode) && creditCode.length() == 18) { |
|||
// 检查企业业务表中是否存在该企业
|
|||
EnterpriseInformationVo existingEnterprise = enterpriseInformationService.queryByEnterpriseNumber(creditCode); |
|||
|
|||
if (existingEnterprise == null) { |
|||
// 企业业务表不存在,查询市监表
|
|||
List<SsztJbxx110497NewVo> ssztJbxx110497NewListVo = ssztJbxx110497NewService.queryByTyshxydm(creditCode); |
|||
|
|||
if (CollectionUtil.isNotEmpty(ssztJbxx110497NewListVo)) { |
|||
SsztJbxx110497NewVo ssztInfo = ssztJbxx110497NewListVo.get(0); |
|||
|
|||
// 创建企业信息对象,将市监数据转换为企业业务数据
|
|||
EnterpriseInformation newEnterpriseInfo = new EnterpriseInformation(); |
|||
|
|||
// 基本信息映射
|
|||
newEnterpriseInfo.setEnterpriseName(ssztInfo.getQymc()); // 企业名称
|
|||
newEnterpriseInfo.setEnterpriseNumber(ssztInfo.getTyshxydm()); // 统一社会信用代码
|
|||
newEnterpriseInfo.setEnterpriseType(ssztInfo.getSsztlx()); // 企业类型(商事主体类型)
|
|||
newEnterpriseInfo.setEnterpriseAddress(ssztInfo.getJycs()); // 企业地址(经营场所)
|
|||
newEnterpriseInfo.setLegalPerson(ssztInfo.getFddbr()); // 法定代表人
|
|||
newEnterpriseInfo.setRegisteredCapital(ssztInfo.getZczb() != null ? String.valueOf(ssztInfo.getZczb()) : null); // 注册资本
|
|||
newEnterpriseInfo.setBusinessScope(ssztInfo.getJyfw()); // 经营范围
|
|||
newEnterpriseInfo.setCompanyOrgType(ssztInfo.getHyml()); // 公司组织类型(行业门类)
|
|||
newEnterpriseInfo.setIndustry(ssztInfo.getHydm()); // 行业代码
|
|||
if (StringUtils.isNotBlank(ssztInfo.getClrq())) { |
|||
try { |
|||
// 成立日期格式转换(假设格式为 yyyy-MM-dd)
|
|||
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd"); |
|||
newEnterpriseInfo.setEstablishmentTime(sdf.parse(ssztInfo.getClrq())); |
|||
} catch (Exception e) { |
|||
log.warn("成立日期格式转换失败: {}", ssztInfo.getClrq(), e); |
|||
} |
|||
} |
|||
|
|||
// 营业期限处理
|
|||
if (StringUtils.isNotBlank(ssztInfo.getJyqxq()) && StringUtils.isNotBlank(ssztInfo.getJyqxz())) { |
|||
newEnterpriseInfo.setOperatingTerm(ssztInfo.getJyqxq() + "至" + ssztInfo.getJyqxz()); |
|||
} |
|||
|
|||
// 插入企业业务表
|
|||
enterpriseInformationService.insertEnterpriseInformation(newEnterpriseInfo); |
|||
|
|||
} else { |
|||
log.warn("统一社会信用代码[{}]在市监表中未找到", creditCode); |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 执行分页查询
|
|||
return enterpriseInformationService.queryPageList(enterpriseBo, pageQuery); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,93 @@ |
|||
package com.zdxt.enforcementcode.controller.app.enforcement; |
|||
|
|||
import cn.dev33.satoken.annotation.SaCheckPermission; |
|||
import com.zdxt.enforcementcode.domain.bo.TodoItemBo; |
|||
import com.zdxt.enforcementcode.domain.vo.TodoItemVo; |
|||
import com.zdxt.enforcementcode.domain.vo.TodoStatisticsVo; |
|||
import com.zdxt.enforcementcode.service.IEnforcementEducationServicesService; |
|||
import com.zdxt.enforcementcode.service.ITodoItemService; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import jakarta.validation.constraints.NotEmpty; |
|||
import jakarta.validation.constraints.NotNull; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.dromara.common.core.domain.R; |
|||
import org.dromara.common.core.validate.AddGroup; |
|||
import org.dromara.common.core.validate.EditGroup; |
|||
import org.dromara.common.excel.utils.ExcelUtil; |
|||
import org.dromara.common.idempotent.annotation.RepeatSubmit; |
|||
import org.dromara.common.log.annotation.Log; |
|||
import org.dromara.common.log.enums.BusinessType; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.web.core.BaseController; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 执法端-待办事项 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-07 |
|||
*/ |
|||
@Validated |
|||
@RequiredArgsConstructor |
|||
@RestController |
|||
@RequestMapping("/app-enf/enforcement/todoitem") |
|||
public class AppEnfTodoItemController extends BaseController { |
|||
|
|||
private final ITodoItemService todoItemService; |
|||
|
|||
private final IEnforcementEducationServicesService educationServicesService; |
|||
|
|||
/** |
|||
* 查询待办事项列表 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:item:list") |
|||
@GetMapping("/list") |
|||
public TableDataInfo<TodoItemVo> list(TodoItemBo bo, PageQuery pageQuery) { |
|||
return todoItemService.queryPageList(bo, pageQuery); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 获取待办事项详细信息 |
|||
* |
|||
* @param id 主键 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:item:query") |
|||
@GetMapping("/{id}") |
|||
public R<TodoItemVo> getInfo(@NotNull(message = "主键不能为空") |
|||
@PathVariable String id) { |
|||
return R.ok(todoItemService.queryById(id)); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 获取待办个数 |
|||
* 返回普法服务、执法评价、执法预告的未读个数及总数 |
|||
*/ |
|||
@GetMapping("/statisticsUnReadCount") |
|||
public R<TodoStatisticsVo> statisticsUnReadCount() { |
|||
TodoStatisticsVo statistics = new TodoStatisticsVo(); |
|||
|
|||
// 1. 统计普法服务未读个数
|
|||
Long pffwCount = educationServicesService.countUnreadEducationServices(); |
|||
statistics.setPffwCount(pffwCount != null ? pffwCount : 0L); |
|||
|
|||
// 2. 执法评价未读个数(暂时默认为0)
|
|||
statistics.setZfpjCount(0L); |
|||
|
|||
// 3. 执法预告未读个数(暂时默认为0)
|
|||
statistics.setZfygCount(0L); |
|||
|
|||
// 4. 计算总未读个数
|
|||
Long totalCount = statistics.getPffwCount() |
|||
+ statistics.getZfpjCount() |
|||
+ statistics.getZfygCount(); |
|||
statistics.setTotalCount(totalCount); |
|||
|
|||
return R.ok(statistics); |
|||
} |
|||
} |
|||
@ -0,0 +1,58 @@ |
|||
package com.zdxt.enforcementcode.controller.app.enforcement; |
|||
|
|||
import cn.dev33.satoken.annotation.SaCheckPermission; |
|||
import com.zdxt.enforcementcode.domain.bo.EnforcementEducationServicesBo; |
|||
import com.zdxt.enforcementcode.domain.vo.EnforcementEducationServicesVo; |
|||
import com.zdxt.enforcementcode.service.IEnforcementEducationServicesService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.dromara.common.core.domain.R; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.web.core.BaseController; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* 执法端-普法服务 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-09 |
|||
*/ |
|||
@Validated |
|||
@RequiredArgsConstructor |
|||
@RestController |
|||
@RequestMapping("/app-enf/enforcementcode/educationServices") |
|||
public class AppEnfducationServicesController extends BaseController { |
|||
|
|||
private final IEnforcementEducationServicesService enforcementEducationServicesService; |
|||
|
|||
/** |
|||
* 查询普法服务发布主列表 |
|||
*/ |
|||
@SaCheckPermission("enforcementcode:educationServices:list") |
|||
@GetMapping("/list") |
|||
public TableDataInfo<EnforcementEducationServicesVo> list(EnforcementEducationServicesBo bo, PageQuery pageQuery) { |
|||
return enforcementEducationServicesService.queryPageList(bo, pageQuery); |
|||
} |
|||
|
|||
/** |
|||
* 获取普法服务发布主详细信息 |
|||
* |
|||
* @param id 主键 |
|||
*/ |
|||
@GetMapping("/details") |
|||
public R<EnforcementEducationServicesVo> getInfo(String id) { |
|||
return R.ok(enforcementEducationServicesService.queryById(id)); |
|||
} |
|||
|
|||
/** |
|||
* 统计当前用户企业的普法未读个数 |
|||
*/ |
|||
@GetMapping("/unreadCount") |
|||
public R<Long> getUnreadCount() { |
|||
Long unreadCount = enforcementEducationServicesService.countUnreadEducationServices(); |
|||
return R.ok(unreadCount); |
|||
} |
|||
} |
|||
@ -1,110 +0,0 @@ |
|||
package com.zdxt.enforcementcode.controller.app.enforcement; |
|||
|
|||
|
|||
import cn.hutool.core.convert.Convert; |
|||
import com.zdxt.enforcementcode.common.config.SrnwgConfig; |
|||
import com.zdxt.enforcementcode.common.util.IdCardCryptoUtil; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.web.core.BaseController; |
|||
import org.dromara.system.domain.bo.QuerySysUserBo; |
|||
import org.dromara.system.domain.vo.SysUserVo; |
|||
import org.dromara.system.service.ISysUserService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 执法端共用方法类 |
|||
* @Author: kylin |
|||
* @Date: 2024/5/1 3:00 下午 |
|||
* @Version: 1.0 |
|||
* @Desc: TODO |
|||
*/ |
|||
@Slf4j |
|||
@Controller |
|||
@RequestMapping("/app-enf/app") |
|||
public class AppSystemController extends BaseController { |
|||
|
|||
@Autowired |
|||
private ISysUserService userService; |
|||
|
|||
@Autowired |
|||
private SrnwgConfig srnwgConfig; |
|||
|
|||
/** |
|||
* 监督端查询执法人员&非执法人员 |
|||
* 排除admin和手机号码为空的数据) |
|||
* |
|||
* @param user 查询条件 |
|||
* @param pageQuery 分页参数 |
|||
* @return 分页结果 |
|||
*/ |
|||
@PostMapping("/selectUserListByHave") |
|||
@ResponseBody |
|||
public TableDataInfo selectUserListByHave(QuerySysUserBo user, PageQuery pageQuery) { |
|||
// 初始化 params,避免空指针异常
|
|||
if (user.getParams() == null) { |
|||
user.setParams(new java.util.HashMap<>()); |
|||
} |
|||
|
|||
// 设置排除的用户ID列表
|
|||
if (null != user.getNotUserId()) { |
|||
user.getParams().put("notUserIds", Convert.toStrArray(user.getNotUserId())); |
|||
} |
|||
|
|||
// 设置是否显示执法证号标识
|
|||
if (null != user.getIsShowCardId()) { |
|||
user.getParams().put("showCardId", user.getIsShowCardId()); |
|||
} |
|||
|
|||
// 清空部门ID过滤
|
|||
user.setDeptId(null); |
|||
|
|||
// 调用 Service 层获取分页数据
|
|||
TableDataInfo<SysUserVo> result = userService.selectUserListByHave(user, pageQuery); |
|||
List<SysUserVo> list = result.getRows(); |
|||
|
|||
// 解密手机号
|
|||
if (list != null && !list.isEmpty()) { |
|||
decryptPhoneNumbers(list); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
|
|||
/** |
|||
* 批量解密用户手机号 |
|||
* |
|||
* @param userList 用户列表 |
|||
*/ |
|||
private void decryptPhoneNumbers(List<SysUserVo> userList) { |
|||
String secretKey = srnwgConfig.getSecretKey(); |
|||
userList.forEach(user -> { |
|||
if (StringUtils.isEmpty(user.getPhonenumber())) { |
|||
return; |
|||
} |
|||
|
|||
// 纯数字表示未加密,直接使用
|
|||
if (user.getPhonenumber().matches("^\\d+$")) { |
|||
return; |
|||
} |
|||
|
|||
// 尝试解密手机号
|
|||
try { |
|||
String decryptPhone = IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, user.getPhonenumber()); |
|||
user.setPhonenumber(decryptPhone); |
|||
} catch (Exception e) { |
|||
// 解密失败,保持原值
|
|||
log.warn("手机号解密失败: {}", user.getPhonenumber(), e); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,195 @@ |
|||
package com.zdxt.enforcementcode.domain.bean; |
|||
|
|||
import org.dromara.common.mybatis.core.domain.BaseEntity; |
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.io.Serial; |
|||
|
|||
/** |
|||
* 【请填写功能名称】对象 sszt_jbxx110497_new |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-20 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@TableName("sszt_jbxx110497_new") |
|||
public class SsztJbxx110497New extends BaseEntity { |
|||
|
|||
@Serial |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 经营范围 |
|||
*/ |
|||
private String jyfw; |
|||
|
|||
/** |
|||
* 注册资本 |
|||
*/ |
|||
private Long zczb; |
|||
|
|||
/** |
|||
* 房屋编码 |
|||
*/ |
|||
private String fwbm; |
|||
|
|||
/** |
|||
* 企业状态 |
|||
*/ |
|||
private String yyzt; |
|||
|
|||
/** |
|||
* 商事主体类型 |
|||
*/ |
|||
private String ssztlx; |
|||
|
|||
/** |
|||
* 年度报告信息 |
|||
*/ |
|||
private String ndbgxx; |
|||
|
|||
/** |
|||
* 备用字段1 |
|||
*/ |
|||
private String byzd1; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String bz; |
|||
|
|||
/** |
|||
* 注册号 |
|||
*/ |
|||
private String zch; |
|||
|
|||
/** |
|||
* 成立日期 |
|||
*/ |
|||
private String clrq; |
|||
|
|||
/** |
|||
* 年检情况 |
|||
*/ |
|||
private String njqk; |
|||
|
|||
/** |
|||
* 经营场所 |
|||
*/ |
|||
private String jycs; |
|||
|
|||
/** |
|||
* 组织机构代码 |
|||
*/ |
|||
private String zzjgdm; |
|||
|
|||
/** |
|||
* 币种 |
|||
*/ |
|||
private String bizhong; |
|||
|
|||
/** |
|||
* 行业代码 |
|||
*/ |
|||
private String hydm; |
|||
|
|||
/** |
|||
* 备用字段3 |
|||
*/ |
|||
private String byzd3; |
|||
|
|||
/** |
|||
* 备用字段2 |
|||
*/ |
|||
private String byzd2; |
|||
|
|||
/** |
|||
* 核准/备案日期 |
|||
*/ |
|||
private String hzrq; |
|||
|
|||
/** |
|||
* 经营期限起 |
|||
*/ |
|||
private String jyqxq; |
|||
|
|||
/** |
|||
* 经营期限止 |
|||
*/ |
|||
private String jyqxz; |
|||
|
|||
/** |
|||
* 统一社会信用代码 |
|||
*/ |
|||
private String tyshxydm; |
|||
|
|||
/** |
|||
* 申报实收资本 |
|||
*/ |
|||
private Long sbsszb; |
|||
|
|||
/** |
|||
* 身份证号 |
|||
*/ |
|||
private String swzh; |
|||
|
|||
/** |
|||
* 法定代表人/负责人 |
|||
*/ |
|||
private String fddbr; |
|||
|
|||
/** |
|||
* 隶属企业注册号 |
|||
*/ |
|||
private String lsqyzch; |
|||
|
|||
/** |
|||
* 隶属企业名称 |
|||
*/ |
|||
private String lsqymc; |
|||
|
|||
/** |
|||
* 行业门类 |
|||
*/ |
|||
private String hyml; |
|||
|
|||
/** |
|||
* 企业名称 |
|||
*/ |
|||
private String qymc; |
|||
|
|||
/** |
|||
* 唯一编码 |
|||
*/ |
|||
private String recordid; |
|||
|
|||
/** |
|||
* 登记机构代号 |
|||
*/ |
|||
private String djjgdh; |
|||
|
|||
/** |
|||
* 主体身份代码 |
|||
*/ |
|||
private String pripid; |
|||
|
|||
/** |
|||
* 系统内部INS |
|||
*/ |
|||
private Long ins; |
|||
|
|||
/** |
|||
* 系统内部SEQ |
|||
*/ |
|||
private Long seq; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private Long updatestatus; |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
package com.zdxt.enforcementcode.domain.bo; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
import org.dromara.common.mybatis.core.domain.BaseEntity; |
|||
|
|||
import java.io.Serial; |
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 企业端-企业信息对象 enterprise_information |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-04-10 |
|||
*/ |
|||
@Data |
|||
public class QueryEnterpriseInformationListBo implements Serializable { |
|||
|
|||
/** |
|||
* 企业名称 |
|||
*/ |
|||
private String enterpriseName; |
|||
|
|||
/** |
|||
* 企业纳税识别号 |
|||
*/ |
|||
private String enterpriseNumber; |
|||
|
|||
|
|||
/** |
|||
* 综合搜索字段 |
|||
*/ |
|||
private String searchValue; |
|||
} |
|||
@ -0,0 +1,199 @@ |
|||
package com.zdxt.enforcementcode.domain.bo; |
|||
|
|||
|
|||
import com.zdxt.enforcementcode.domain.bean.SsztJbxx110497New; |
|||
import org.dromara.common.mybatis.core.domain.BaseEntity; |
|||
import org.dromara.common.core.validate.AddGroup; |
|||
import org.dromara.common.core.validate.EditGroup; |
|||
import io.github.linpeilie.annotations.AutoMapper; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import jakarta.validation.constraints.*; |
|||
|
|||
/** |
|||
* 【请填写功能名称】业务对象 sszt_jbxx110497_new |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-20 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@AutoMapper(target = SsztJbxx110497New.class, reverseConvertGenerate = false) |
|||
public class SsztJbxx110497NewBo extends BaseEntity { |
|||
|
|||
/** |
|||
* 经营范围 |
|||
*/ |
|||
private String jyfw; |
|||
|
|||
/** |
|||
* 注册资本 |
|||
*/ |
|||
private Long zczb; |
|||
|
|||
/** |
|||
* 房屋编码 |
|||
*/ |
|||
private String fwbm; |
|||
|
|||
/** |
|||
* 企业状态 |
|||
*/ |
|||
private String yyzt; |
|||
|
|||
/** |
|||
* 商事主体类型 |
|||
*/ |
|||
private String ssztlx; |
|||
|
|||
/** |
|||
* 年度报告信息 |
|||
*/ |
|||
private String ndbgxx; |
|||
|
|||
/** |
|||
* 备用字段1 |
|||
*/ |
|||
private String byzd1; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String bz; |
|||
|
|||
/** |
|||
* 注册号 |
|||
*/ |
|||
private String zch; |
|||
|
|||
/** |
|||
* 成立日期 |
|||
*/ |
|||
private String clrq; |
|||
|
|||
/** |
|||
* 年检情况 |
|||
*/ |
|||
private String njqk; |
|||
|
|||
/** |
|||
* 经营场所 |
|||
*/ |
|||
private String jycs; |
|||
|
|||
/** |
|||
* 组织机构代码 |
|||
*/ |
|||
private String zzjgdm; |
|||
|
|||
/** |
|||
* 币种 |
|||
*/ |
|||
private String bizhong; |
|||
|
|||
/** |
|||
* 行业代码 |
|||
*/ |
|||
private String hydm; |
|||
|
|||
/** |
|||
* 备用字段3 |
|||
*/ |
|||
private String byzd3; |
|||
|
|||
/** |
|||
* 备用字段2 |
|||
*/ |
|||
private String byzd2; |
|||
|
|||
/** |
|||
* 核准/备案日期 |
|||
*/ |
|||
private String hzrq; |
|||
|
|||
/** |
|||
* 经营期限起 |
|||
*/ |
|||
private String jyqxq; |
|||
|
|||
/** |
|||
* 经营期限止 |
|||
*/ |
|||
private String jyqxz; |
|||
|
|||
/** |
|||
* 统一社会信用代码 |
|||
*/ |
|||
private String tyshxydm; |
|||
|
|||
/** |
|||
* 申报实收资本 |
|||
*/ |
|||
private Long sbsszb; |
|||
|
|||
/** |
|||
* 身份证号 |
|||
*/ |
|||
private String swzh; |
|||
|
|||
/** |
|||
* 法定代表人/负责人 |
|||
*/ |
|||
private String fddbr; |
|||
|
|||
/** |
|||
* 隶属企业注册号 |
|||
*/ |
|||
private String lsqyzch; |
|||
|
|||
/** |
|||
* 隶属企业名称 |
|||
*/ |
|||
private String lsqymc; |
|||
|
|||
/** |
|||
* 行业门类 |
|||
*/ |
|||
private String hyml; |
|||
|
|||
/** |
|||
* 企业名称 |
|||
*/ |
|||
private String qymc; |
|||
|
|||
/** |
|||
* 唯一编码 |
|||
*/ |
|||
@NotBlank(message = "唯一编码不能为空", groups = { AddGroup.class, EditGroup.class }) |
|||
private String recordid; |
|||
|
|||
/** |
|||
* 登记机构代号 |
|||
*/ |
|||
private String djjgdh; |
|||
|
|||
/** |
|||
* 主体身份代码 |
|||
*/ |
|||
private String pripid; |
|||
|
|||
/** |
|||
* 系统内部INS |
|||
*/ |
|||
@NotNull(message = "系统内部INS不能为空", groups = { AddGroup.class, EditGroup.class }) |
|||
private Long ins; |
|||
|
|||
/** |
|||
* 系统内部SEQ |
|||
*/ |
|||
@NotNull(message = "系统内部SEQ不能为空", groups = { AddGroup.class, EditGroup.class }) |
|||
private Long seq; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class }) |
|||
private Long updatestatus; |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,243 @@ |
|||
package com.zdxt.enforcementcode.domain.vo; |
|||
|
|||
|
|||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated; |
|||
import cn.idev.excel.annotation.ExcelProperty; |
|||
import com.zdxt.enforcementcode.domain.bean.SsztJbxx110497New; |
|||
import org.dromara.common.excel.annotation.ExcelDictFormat; |
|||
import org.dromara.common.excel.convert.ExcelDictConvert; |
|||
import io.github.linpeilie.annotations.AutoMapper; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serial; |
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
|
|||
/** |
|||
* 【请填写功能名称】视图对象 sszt_jbxx110497_new |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-20 |
|||
*/ |
|||
@Data |
|||
@ExcelIgnoreUnannotated |
|||
@AutoMapper(target = SsztJbxx110497New.class) |
|||
public class SsztJbxx110497NewVo implements Serializable { |
|||
|
|||
@Serial |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 经营范围 |
|||
*/ |
|||
@ExcelProperty(value = "经营范围") |
|||
private String jyfw; |
|||
|
|||
/** |
|||
* 注册资本 |
|||
*/ |
|||
@ExcelProperty(value = "注册资本") |
|||
private Long zczb; |
|||
|
|||
/** |
|||
* 房屋编码 |
|||
*/ |
|||
@ExcelProperty(value = "房屋编码") |
|||
private String fwbm; |
|||
|
|||
/** |
|||
* 企业状态 |
|||
*/ |
|||
@ExcelProperty(value = "企业状态") |
|||
private String yyzt; |
|||
|
|||
/** |
|||
* 商事主体类型 |
|||
*/ |
|||
@ExcelProperty(value = "商事主体类型") |
|||
private String ssztlx; |
|||
|
|||
/** |
|||
* 年度报告信息 |
|||
*/ |
|||
@ExcelProperty(value = "年度报告信息") |
|||
private String ndbgxx; |
|||
|
|||
/** |
|||
* 备用字段1 |
|||
*/ |
|||
@ExcelProperty(value = "备用字段1") |
|||
private String byzd1; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
@ExcelProperty(value = "备注") |
|||
private String bz; |
|||
|
|||
/** |
|||
* 注册号 |
|||
*/ |
|||
@ExcelProperty(value = "注册号") |
|||
private String zch; |
|||
|
|||
/** |
|||
* 成立日期 |
|||
*/ |
|||
@ExcelProperty(value = "成立日期") |
|||
private String clrq; |
|||
|
|||
/** |
|||
* 年检情况 |
|||
*/ |
|||
@ExcelProperty(value = "年检情况") |
|||
private String njqk; |
|||
|
|||
/** |
|||
* 经营场所 |
|||
*/ |
|||
@ExcelProperty(value = "经营场所") |
|||
private String jycs; |
|||
|
|||
/** |
|||
* 组织机构代码 |
|||
*/ |
|||
@ExcelProperty(value = "组织机构代码") |
|||
private String zzjgdm; |
|||
|
|||
/** |
|||
* 币种 |
|||
*/ |
|||
@ExcelProperty(value = "币种") |
|||
private String bizhong; |
|||
|
|||
/** |
|||
* 行业代码 |
|||
*/ |
|||
@ExcelProperty(value = "行业代码") |
|||
private String hydm; |
|||
|
|||
/** |
|||
* 备用字段3 |
|||
*/ |
|||
@ExcelProperty(value = "备用字段3") |
|||
private String byzd3; |
|||
|
|||
/** |
|||
* 备用字段2 |
|||
*/ |
|||
@ExcelProperty(value = "备用字段2") |
|||
private String byzd2; |
|||
|
|||
/** |
|||
* 核准/备案日期 |
|||
*/ |
|||
@ExcelProperty(value = "核准/备案日期 ") |
|||
private String hzrq; |
|||
|
|||
/** |
|||
* 经营期限起 |
|||
*/ |
|||
@ExcelProperty(value = "经营期限起") |
|||
private String jyqxq; |
|||
|
|||
/** |
|||
* 经营期限止 |
|||
*/ |
|||
@ExcelProperty(value = "经营期限止") |
|||
private String jyqxz; |
|||
|
|||
/** |
|||
* 统一社会信用代码 |
|||
*/ |
|||
@ExcelProperty(value = "统一社会信用代码") |
|||
private String tyshxydm; |
|||
|
|||
/** |
|||
* 申报实收资本 |
|||
*/ |
|||
@ExcelProperty(value = "申报实收资本") |
|||
private Long sbsszb; |
|||
|
|||
/** |
|||
* 身份证号 |
|||
*/ |
|||
@ExcelProperty(value = "身份证号") |
|||
private String swzh; |
|||
|
|||
/** |
|||
* 法定代表人/负责人 |
|||
*/ |
|||
@ExcelProperty(value = "法定代表人/负责人") |
|||
private String fddbr; |
|||
|
|||
/** |
|||
* 隶属企业注册号 |
|||
*/ |
|||
@ExcelProperty(value = "隶属企业注册号") |
|||
private String lsqyzch; |
|||
|
|||
/** |
|||
* 隶属企业名称 |
|||
*/ |
|||
@ExcelProperty(value = "隶属企业名称") |
|||
private String lsqymc; |
|||
|
|||
/** |
|||
* 行业门类 |
|||
*/ |
|||
@ExcelProperty(value = "行业门类") |
|||
private String hyml; |
|||
|
|||
/** |
|||
* 企业名称 |
|||
*/ |
|||
@ExcelProperty(value = "企业名称") |
|||
private String qymc; |
|||
|
|||
/** |
|||
* 唯一编码 |
|||
*/ |
|||
@ExcelProperty(value = "唯一编码") |
|||
private String recordid; |
|||
|
|||
/** |
|||
* 登记机构代号 |
|||
*/ |
|||
@ExcelProperty(value = "登记机构代号") |
|||
private String djjgdh; |
|||
|
|||
/** |
|||
* 主体身份代码 |
|||
*/ |
|||
@ExcelProperty(value = "主体身份代码") |
|||
private String pripid; |
|||
|
|||
/** |
|||
* 系统内部INS |
|||
*/ |
|||
@ExcelProperty(value = "系统内部INS") |
|||
private Long ins; |
|||
|
|||
/** |
|||
* 系统内部SEQ |
|||
*/ |
|||
@ExcelProperty(value = "系统内部SEQ") |
|||
private Long seq; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
@ExcelProperty(value = "") |
|||
private Long updatestatus; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
@ExcelProperty(value = "") |
|||
private String updatetime; |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.zdxt.enforcementcode.mapper; |
|||
|
|||
import com.zdxt.enforcementcode.domain.bean.SsztJbxx110497New; |
|||
import com.zdxt.enforcementcode.domain.vo.SsztJbxx110497NewVo; |
|||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; |
|||
|
|||
/** |
|||
* 【请填写功能名称】Mapper接口 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-20 |
|||
*/ |
|||
public interface SsztJbxx110497NewMapper extends BaseMapperPlus<SsztJbxx110497New, SsztJbxx110497NewVo> { |
|||
|
|||
} |
|||
@ -0,0 +1,76 @@ |
|||
package com.zdxt.enforcementcode.service; |
|||
|
|||
import com.zdxt.enforcementcode.domain.vo.SsztJbxx110497NewVo; |
|||
import com.zdxt.enforcementcode.domain.bo.SsztJbxx110497NewBo; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
|
|||
import java.util.Collection; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 【请填写功能名称】Service接口 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-20 |
|||
*/ |
|||
public interface ISsztJbxx110497NewService { |
|||
|
|||
/** |
|||
* 查询【请填写功能名称】 |
|||
* |
|||
* @param jyfw 主键 |
|||
* @return 【请填写功能名称】 |
|||
*/ |
|||
SsztJbxx110497NewVo queryById(String jyfw); |
|||
|
|||
/** |
|||
* 分页查询【请填写功能名称】列表 |
|||
* |
|||
* @param bo 查询条件 |
|||
* @param pageQuery 分页参数 |
|||
* @return 【请填写功能名称】分页列表 |
|||
*/ |
|||
TableDataInfo<SsztJbxx110497NewVo> queryPageList(SsztJbxx110497NewBo bo, PageQuery pageQuery); |
|||
|
|||
/** |
|||
* 查询符合条件的【请填写功能名称】列表 |
|||
* |
|||
* @param bo 查询条件 |
|||
* @return 【请填写功能名称】列表 |
|||
*/ |
|||
List<SsztJbxx110497NewVo> queryList(SsztJbxx110497NewBo bo); |
|||
|
|||
/** |
|||
* 根据统一社会信用代码查询企业信息 |
|||
* |
|||
* @param tyshxydm 统一社会信用代码 |
|||
* @return 企业信息 |
|||
*/ |
|||
List<SsztJbxx110497NewVo> queryByTyshxydm(String tyshxydm); |
|||
|
|||
/** |
|||
* 新增【请填写功能名称】 |
|||
* |
|||
* @param bo 【请填写功能名称】 |
|||
* @return 是否新增成功 |
|||
*/ |
|||
Boolean insertByBo(SsztJbxx110497NewBo bo); |
|||
|
|||
/** |
|||
* 修改【请填写功能名称】 |
|||
* |
|||
* @param bo 【请填写功能名称】 |
|||
* @return 是否修改成功 |
|||
*/ |
|||
Boolean updateByBo(SsztJbxx110497NewBo bo); |
|||
|
|||
/** |
|||
* 校验并批量删除【请填写功能名称】信息 |
|||
* |
|||
* @param ids 待删除的主键集合 |
|||
* @param isValid 是否进行有效性校验 |
|||
* @return 是否删除成功 |
|||
*/ |
|||
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); |
|||
} |
|||
@ -0,0 +1,191 @@ |
|||
package com.zdxt.enforcementcode.service.impl; |
|||
|
|||
import com.zdxt.enforcementcode.domain.bean.SsztJbxx110497New; |
|||
import com.zdxt.enforcementcode.mapper.SsztJbxx110497NewMapper; |
|||
import org.dromara.common.core.utils.MapstructUtils; |
|||
import org.dromara.common.core.utils.StringUtils; |
|||
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|||
import org.dromara.common.mybatis.core.page.PageQuery; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import com.zdxt.enforcementcode.domain.bo.SsztJbxx110497NewBo; |
|||
import com.zdxt.enforcementcode.domain.vo.SsztJbxx110497NewVo; |
|||
import com.zdxt.enforcementcode.service.ISsztJbxx110497NewService; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
import java.util.Collection; |
|||
|
|||
/** |
|||
* 【请填写功能名称】Service业务层处理 |
|||
* |
|||
* @author Lion Li |
|||
* @date 2026-05-20 |
|||
*/ |
|||
@Slf4j |
|||
@RequiredArgsConstructor |
|||
@Service |
|||
public class SsztJbxx110497NewServiceImpl implements ISsztJbxx110497NewService { |
|||
|
|||
private final SsztJbxx110497NewMapper baseMapper; |
|||
|
|||
/** |
|||
* 查询【请填写功能名称】 |
|||
* |
|||
* @param jyfw 主键 |
|||
* @return 【请填写功能名称】 |
|||
*/ |
|||
@Override |
|||
public SsztJbxx110497NewVo queryById(String jyfw){ |
|||
return baseMapper.selectVoById(jyfw); |
|||
} |
|||
|
|||
/** |
|||
* 分页查询【请填写功能名称】列表 |
|||
* |
|||
* @param bo 查询条件 |
|||
* @param pageQuery 分页参数 |
|||
* @return 【请填写功能名称】分页列表 |
|||
*/ |
|||
@Override |
|||
public TableDataInfo<SsztJbxx110497NewVo> queryPageList(SsztJbxx110497NewBo bo, PageQuery pageQuery) { |
|||
LambdaQueryWrapper<SsztJbxx110497New> lqw = buildQueryWrapper(bo); |
|||
Page<SsztJbxx110497NewVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); |
|||
return TableDataInfo.build(result); |
|||
} |
|||
|
|||
/** |
|||
* 查询符合条件的【请填写功能名称】列表 |
|||
* |
|||
* @param bo 查询条件 |
|||
* @return 【请填写功能名称】列表 |
|||
*/ |
|||
@Override |
|||
public List<SsztJbxx110497NewVo> queryList(SsztJbxx110497NewBo bo) { |
|||
LambdaQueryWrapper<SsztJbxx110497New> lqw = buildQueryWrapper(bo); |
|||
return baseMapper.selectVoList(lqw); |
|||
} |
|||
|
|||
/** |
|||
* 根据统一社会信用代码查询企业信息(市监数据可能存在重复数据) |
|||
* |
|||
* @param tyshxydm 统一社会信用代码 |
|||
* @return 企业信息 |
|||
*/ |
|||
@Override |
|||
public List<SsztJbxx110497NewVo> queryByTyshxydm(String tyshxydm) { |
|||
if (StringUtils.isBlank(tyshxydm)) { |
|||
log.warn("统一社会信用代码不能为空"); |
|||
return null; |
|||
} |
|||
|
|||
LambdaQueryWrapper<SsztJbxx110497New> lqw = Wrappers.lambdaQuery(); |
|||
lqw.eq(SsztJbxx110497New::getTyshxydm, tyshxydm.trim()); |
|||
|
|||
List<SsztJbxx110497NewVo> result = baseMapper.selectVoList(lqw); |
|||
|
|||
if (result != null) { |
|||
log.info("根据统一社会信用代码[{}]查询到企业信息", tyshxydm); |
|||
} else { |
|||
log.info("根据统一社会信用代码[{}]未查询到企业信息", tyshxydm); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
|
|||
private LambdaQueryWrapper<SsztJbxx110497New> buildQueryWrapper(SsztJbxx110497NewBo bo) { |
|||
Map<String, Object> params = bo.getParams(); |
|||
LambdaQueryWrapper<SsztJbxx110497New> lqw = Wrappers.lambdaQuery(); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getJyfw()), SsztJbxx110497New::getJyfw, bo.getJyfw()); |
|||
lqw.eq(bo.getZczb() != null, SsztJbxx110497New::getZczb, bo.getZczb()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getFwbm()), SsztJbxx110497New::getFwbm, bo.getFwbm()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getYyzt()), SsztJbxx110497New::getYyzt, bo.getYyzt()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getSsztlx()), SsztJbxx110497New::getSsztlx, bo.getSsztlx()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getNdbgxx()), SsztJbxx110497New::getNdbgxx, bo.getNdbgxx()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getByzd1()), SsztJbxx110497New::getByzd1, bo.getByzd1()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getBz()), SsztJbxx110497New::getBz, bo.getBz()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getZch()), SsztJbxx110497New::getZch, bo.getZch()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getClrq()), SsztJbxx110497New::getClrq, bo.getClrq()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getNjqk()), SsztJbxx110497New::getNjqk, bo.getNjqk()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getJycs()), SsztJbxx110497New::getJycs, bo.getJycs()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getZzjgdm()), SsztJbxx110497New::getZzjgdm, bo.getZzjgdm()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getBizhong()), SsztJbxx110497New::getBizhong, bo.getBizhong()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getHydm()), SsztJbxx110497New::getHydm, bo.getHydm()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getByzd3()), SsztJbxx110497New::getByzd3, bo.getByzd3()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getByzd2()), SsztJbxx110497New::getByzd2, bo.getByzd2()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getHzrq()), SsztJbxx110497New::getHzrq, bo.getHzrq()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getJyqxq()), SsztJbxx110497New::getJyqxq, bo.getJyqxq()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getJyqxz()), SsztJbxx110497New::getJyqxz, bo.getJyqxz()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getTyshxydm()), SsztJbxx110497New::getTyshxydm, bo.getTyshxydm()); |
|||
lqw.eq(bo.getSbsszb() != null, SsztJbxx110497New::getSbsszb, bo.getSbsszb()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getSwzh()), SsztJbxx110497New::getSwzh, bo.getSwzh()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getFddbr()), SsztJbxx110497New::getFddbr, bo.getFddbr()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getLsqyzch()), SsztJbxx110497New::getLsqyzch, bo.getLsqyzch()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getLsqymc()), SsztJbxx110497New::getLsqymc, bo.getLsqymc()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getHyml()), SsztJbxx110497New::getHyml, bo.getHyml()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getQymc()), SsztJbxx110497New::getQymc, bo.getQymc()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getRecordid()), SsztJbxx110497New::getRecordid, bo.getRecordid()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getDjjgdh()), SsztJbxx110497New::getDjjgdh, bo.getDjjgdh()); |
|||
lqw.eq(StringUtils.isNotBlank(bo.getPripid()), SsztJbxx110497New::getPripid, bo.getPripid()); |
|||
lqw.eq(bo.getIns() != null, SsztJbxx110497New::getIns, bo.getIns()); |
|||
lqw.eq(bo.getSeq() != null, SsztJbxx110497New::getSeq, bo.getSeq()); |
|||
lqw.eq(bo.getUpdatestatus() != null, SsztJbxx110497New::getUpdatestatus, bo.getUpdatestatus()); |
|||
return lqw; |
|||
} |
|||
|
|||
/** |
|||
* 新增【请填写功能名称】 |
|||
* |
|||
* @param bo 【请填写功能名称】 |
|||
* @return 是否新增成功 |
|||
*/ |
|||
@Override |
|||
public Boolean insertByBo(SsztJbxx110497NewBo bo) { |
|||
SsztJbxx110497New add = MapstructUtils.convert(bo, SsztJbxx110497New.class); |
|||
validEntityBeforeSave(add); |
|||
boolean flag = baseMapper.insert(add) > 0; |
|||
if (flag) { |
|||
bo.setJyfw(add.getJyfw()); |
|||
} |
|||
return flag; |
|||
} |
|||
|
|||
/** |
|||
* 修改【请填写功能名称】 |
|||
* |
|||
* @param bo 【请填写功能名称】 |
|||
* @return 是否修改成功 |
|||
*/ |
|||
@Override |
|||
public Boolean updateByBo(SsztJbxx110497NewBo bo) { |
|||
SsztJbxx110497New update = MapstructUtils.convert(bo, SsztJbxx110497New.class); |
|||
validEntityBeforeSave(update); |
|||
return baseMapper.updateById(update) > 0; |
|||
} |
|||
|
|||
/** |
|||
* 保存前的数据校验 |
|||
*/ |
|||
private void validEntityBeforeSave(SsztJbxx110497New entity){ |
|||
//TODO 做一些数据校验,如唯一约束
|
|||
} |
|||
|
|||
/** |
|||
* 校验并批量删除【请填写功能名称】信息 |
|||
* |
|||
* @param ids 待删除的主键集合 |
|||
* @param isValid 是否进行有效性校验 |
|||
* @return 是否删除成功 |
|||
*/ |
|||
@Override |
|||
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { |
|||
if(isValid){ |
|||
//TODO 做一些业务上的校验,判断是否需要校验
|
|||
} |
|||
return baseMapper.deleteByIds(ids) > 0; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue