仰望星空〃 8 kuukautta sitten
vanhempi
commit
49c8d374c2
42 muutettua tiedostoa jossa 2089 lisäystä ja 0 poistoa
  1. 30 0
      bus-api/pom.xml
  2. 46 0
      bus-biz/pom.xml
  3. 20 0
      bus-biz/src/main/java/bus/mapper/BTestMapper.java
  4. 20 0
      bus-biz/src/main/java/bus/mapper/WChatUserMapper.java
  5. 52 0
      bus-biz/src/main/java/bus/service/BTestService.java
  6. 26 0
      bus-biz/src/main/java/bus/service/CommonService.java
  7. 52 0
      bus-biz/src/main/java/bus/service/WChatUserService.java
  8. 81 0
      bus-biz/src/main/java/bus/service/impl/BTestServiceImpl.java
  9. 87 0
      bus-biz/src/main/java/bus/service/impl/CommonServiceImpl.java
  10. 85 0
      bus-biz/src/main/java/bus/service/impl/WChatUserServiceImpl.java
  11. 21 0
      bus-biz/src/main/resources/mapper/BTestMapper.xml
  12. 41 0
      bus-biz/src/main/resources/mapper/WChatUserMapper.xml
  13. BIN
      bus-boot/mysql-connector-java-5.1.46.jar
  14. 153 0
      bus-boot/pom.xml
  15. 20 0
      bus-boot/src/main/java/bus/Application.java
  16. 31 0
      bus-boot/src/main/java/bus/config/SwaggerConfig.java
  17. 46 0
      bus-boot/src/main/resources/bootstrap-dev.yaml
  18. 8 0
      bus-boot/src/main/resources/bootstrap.yaml
  19. 31 0
      bus-boot/src/main/resources/generatorConfig.xml
  20. 117 0
      bus-boot/src/main/resources/logback-spring-dev.xml
  21. 64 0
      bus-boot/src/test/java/bus/CodeGenerateTest.java
  22. 36 0
      bus-common/pom.xml
  23. 17 0
      bus-common/src/main/java/bus/model/BaseEntity.java
  24. 35 0
      bus-common/src/main/java/bus/model/dto/BTestDto.java
  25. 36 0
      bus-common/src/main/java/bus/model/dto/BTestPageDto.java
  26. 23 0
      bus-common/src/main/java/bus/model/dto/CommonLoginDto.java
  27. 29 0
      bus-common/src/main/java/bus/model/dto/WChatUserDto.java
  28. 37 0
      bus-common/src/main/java/bus/model/dto/WChatUserPageDto.java
  29. 29 0
      bus-common/src/main/java/bus/model/po/BTestPo.java
  30. 36 0
      bus-common/src/main/java/bus/model/po/WChatUserPo.java
  31. 37 0
      bus-common/src/main/java/bus/model/vo/BTestVo.java
  32. 45 0
      bus-common/src/main/java/bus/model/vo/WChatUserVo.java
  33. 41 0
      bus-rpc/pom.xml
  34. 23 0
      bus-rpc/src/main/java/bus/rpc/config/FeignBasicAuthRequestInterceptor.java
  35. 35 0
      bus-rpc/src/main/java/bus/rpc/config/FeignConfiguration.java
  36. 16 0
      bus-rpc/src/main/java/bus/rpc/fallback/DemoFeignFallback.java
  37. 22 0
      bus-rpc/src/main/java/bus/rpc/service/DemoFeignService.java
  38. 50 0
      bus-web/pom.xml
  39. 95 0
      bus-web/src/main/java/bus/controller/biz/BTestController.java
  40. 213 0
      bus-web/src/main/java/bus/controller/biz/CommonController.java
  41. 95 0
      bus-web/src/main/java/bus/controller/biz/WChatUserController.java
  42. 108 0
      pom.xml

+ 30 - 0
bus-api/pom.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-api</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+</project>

+ 46 - 0
bus-biz/pom.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-biz</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>bus.bus</groupId>
+			<artifactId>bus-common</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-logging</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-data-redis</artifactId>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+
+</project>

+ 20 - 0
bus-biz/src/main/java/bus/mapper/BTestMapper.java

@@ -0,0 +1,20 @@
+package bus.mapper;
+
+import bus.model.dto.BTestPageDto;
+import bus.model.vo.BTestVo;
+import bus.model.po.*;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: bus
+ * @Date: 2025-02-24 14:39:33
+ **/
+@Mapper
+public interface BTestMapper extends BaseMapper<BTestPo> {
+
+    List<BTestVo> list(BTestPageDto dto);
+}

+ 20 - 0
bus-biz/src/main/java/bus/mapper/WChatUserMapper.java

@@ -0,0 +1,20 @@
+package bus.mapper;
+
+import bus.model.dto.WChatUserDto;
+import bus.model.dto.WChatUserPageDto;
+import bus.model.po.*;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-02-28 16:46:43
+ **/
+@Mapper
+public interface WChatUserMapper extends BaseMapper<WChatUserPo> {
+
+    List<WChatUserDto> list(WChatUserPageDto dto);
+}

+ 52 - 0
bus-biz/src/main/java/bus/service/BTestService.java

@@ -0,0 +1,52 @@
+package bus.service;
+
+import bus.model.dto.BTestDto;
+import bus.model.dto.BTestPageDto;
+import bus.model.vo.BTestVo;
+import bus.model.po.BTestPo;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: bus
+ * @Date: 2025-02-24 14:39:33
+ **/
+public interface BTestService {
+
+
+    /**
+     * 详情
+     * @param id
+     * @return
+     */
+    BTestPo getDetailById(String id);
+
+	/**
+     * 保存
+     * @param dto
+     * @return
+     */
+    void save(BTestDto dto);
+
+    /**
+    * 列表
+    * @param dto
+    * @return
+    */
+    List<BTestVo> list(BTestPageDto dto);
+
+	/**
+     * 修改
+     * @param dto
+     * @return
+     */
+    void update(BTestDto dto);
+
+	/**
+     * 删除
+     * @param id
+     * @return
+     */
+    void delete(String id);
+}

+ 26 - 0
bus-biz/src/main/java/bus/service/CommonService.java

@@ -0,0 +1,26 @@
+package bus.service;
+
+
+import com.orcas.common.model.ValueLabelObject;
+import com.orcas.common.sso.model.SsoUserAuthDto;
+import com.orcas.dictionary.common.dto.JsonAreaDto;
+import bus.model.dto.CommonLoginDto;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:43
+**/
+public interface CommonService {
+
+	List<ValueLabelObject> getDataDict(String dictCode);
+
+	SsoUserAuthDto doLogin(HttpServletRequest request, HttpServletResponse response, CommonLoginDto userLoginRequest);
+
+	List<JsonAreaDto> getAreaDict();
+}

+ 52 - 0
bus-biz/src/main/java/bus/service/WChatUserService.java

@@ -0,0 +1,52 @@
+package bus.service;
+
+import bus.model.dto.WChatUserDto;
+import bus.model.dto.WChatUserPageDto;
+import bus.model.vo.WChatUserVo;
+import bus.model.po.WChatUserPo;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-02-28 16:46:43
+ **/
+public interface WChatUserService {
+
+
+    /**
+     * 详情
+     * @param id
+     * @return
+     */
+    WChatUserPo getDetailById(String id);
+
+	/**
+     * 保存
+     * @param dto
+     * @return
+     */
+    void save(WChatUserDto dto);
+
+    /**
+    * 列表
+    * @param dto
+    * @return
+    */
+    List<WChatUserDto> list(WChatUserPageDto dto);
+
+	/**
+     * 修改
+     * @param dto
+     * @return
+     */
+    void update(WChatUserDto dto);
+
+	/**
+     * 删除
+     * @param id
+     * @return
+     */
+    void delete(String id);
+}

+ 81 - 0
bus-biz/src/main/java/bus/service/impl/BTestServiceImpl.java

@@ -0,0 +1,81 @@
+package bus.service.impl;
+
+import bus.model.dto.BTestDto;
+import bus.model.dto.BTestPageDto;
+import bus.model.vo.BTestVo;
+import bus.model.po.BTestPo;
+import bus.mapper.BTestMapper;
+
+import bus.service.BTestService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.BeanUtils;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: bus
+ * @Date: 2025-02-24 14:39:33
+ **/
+@Service
+public class BTestServiceImpl implements BTestService {
+
+    @Autowired
+    private BTestMapper bTestMapper;
+
+
+	/**
+     * 详情
+     * @param id
+     * @return
+     */
+    @Override
+    public BTestPo getDetailById(String id){
+        return this.bTestMapper.selectById(id);
+    }
+
+	/**
+     * 保存
+     * @param dto
+     * @return
+     */
+    @Override
+	public void save(BTestDto dto){
+        BTestPo po = new BTestPo();
+        BeanUtils.copyProperties(dto,po);
+		this.bTestMapper.insert(po);
+    }
+
+    /**
+    * 列表
+    * @param dto
+    * @return
+    */
+    @Override
+    public List<BTestVo> list(BTestPageDto dto){
+        return this.bTestMapper.list(dto);
+    }
+
+	/**
+     * 修改
+     * @param dto
+     * @return
+     */
+    @Override
+    public void update(BTestDto dto){
+        BTestPo po = new BTestPo();
+        BeanUtils.copyProperties(dto,po);
+		bTestMapper.updateById(po);
+    }
+
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    @Override
+    public void delete(String id){
+		bTestMapper.deleteById(id);
+    }
+}

+ 87 - 0
bus-biz/src/main/java/bus/service/impl/CommonServiceImpl.java

@@ -0,0 +1,87 @@
+package bus.service.impl;
+
+
+import com.orcas.common.model.ValueLabelObject;
+import com.orcas.common.sso.model.LoginRequest;
+import com.orcas.common.sso.model.SsoUserAuthDto;
+import com.orcas.dictionary.common.config.CodeClient;
+import com.orcas.dictionary.common.dto.JsonAreaDto;
+import com.orcas.dictionary.common.dto.JsonCodeDto;
+import com.orcas.dictionary.common.model.JsonCodeParam;
+import com.orcas.iso.service.SsoClient;
+import bus.model.dto.CommonLoginDto;
+import bus.service.CommonService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:43
+**/
+@Service
+@Transactional
+public class CommonServiceImpl implements CommonService {
+
+	@Autowired
+	private SsoClient ssoClient;
+
+	@Value("${orcas.productNo}")
+	private String productNo;
+
+	@Value("${orcas.expireMinute:30}")
+	private Integer expireMinute;
+
+	@Autowired
+	private CodeClient codeClient;
+
+	@Override
+	public List<ValueLabelObject> getDataDict(String dictCode) {
+		if (StringUtils.isBlank(dictCode)) {
+			return Collections.emptyList();
+		}
+		JsonCodeParam param = new JsonCodeParam();
+		param.setProductNo(productNo);
+		param.setBigCodeKeys(Collections.singletonList(dictCode));
+		List<JsonCodeDto> dtos = codeClient.getCodeList(param);
+		if (CollectionUtils.isEmpty(dtos) || CollectionUtils.isEmpty(dtos.get(0).getJsonCodeChildes())) {
+			return Collections.emptyList();
+		}
+		return dtos.get(0).getJsonCodeChildes().stream()
+				.map(child -> new ValueLabelObject(child.getCodeKey(), child.getCodeName()))
+				.collect(Collectors.toList());
+	}
+
+
+	@Override
+	public SsoUserAuthDto doLogin(HttpServletRequest request, HttpServletResponse response, CommonLoginDto userLoginRequest) {
+		Assert.hasText(userLoginRequest.getAccount(), "账号不能为空!");
+		Assert.hasText(userLoginRequest.getPassword(), "密码不能为空!");
+
+		LoginRequest loginRequest = new LoginRequest();
+		loginRequest.setAccountName(userLoginRequest.getAccount());
+		loginRequest.setAccountPassword(userLoginRequest.getPassword());
+		loginRequest.setExpireMinute(expireMinute);
+		loginRequest.setTimeStamp(System.currentTimeMillis()+"");
+
+		SsoUserAuthDto ssoUserAuthDto= ssoClient.doLogin(request,response,loginRequest);
+		return ssoUserAuthDto;
+	}
+
+	@Override
+	public List<JsonAreaDto> getAreaDict() {
+		return codeClient.getJsonAreaTreeList();
+	}
+}

+ 85 - 0
bus-biz/src/main/java/bus/service/impl/WChatUserServiceImpl.java

@@ -0,0 +1,85 @@
+package bus.service.impl;
+
+import bus.model.dto.WChatUserDto;
+import bus.model.dto.WChatUserPageDto;
+import bus.model.vo.WChatUserVo;
+import bus.model.po.WChatUserPo;
+import bus.mapper.WChatUserMapper;
+
+import bus.service.WChatUserService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.BeanUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-02-28 16:46:43
+ **/
+@Service
+public class WChatUserServiceImpl implements WChatUserService {
+
+    @Autowired
+    private WChatUserMapper wChatUserMapper;
+
+
+	/**
+     * 详情
+     * @param id
+     * @return
+     */
+    @Override
+    public WChatUserPo getDetailById(String id){
+        return this.wChatUserMapper.selectById(id);
+    }
+
+	/**
+     * 保存
+     * @param dto
+     * @return
+     */
+    @Override
+	public void save(WChatUserDto dto){
+        WChatUserPo po = new WChatUserPo();
+        BeanUtils.copyProperties(dto,po);
+        po.setCreateTime(new Date());
+        po.setUpdateTime(new Date());
+		this.wChatUserMapper.insert(po);
+    }
+
+    /**
+    * 列表
+    * @param dto
+    * @return
+    */
+    @Override
+    public List<WChatUserDto> list(WChatUserPageDto dto){
+        return this.wChatUserMapper.list(dto);
+    }
+
+	/**
+     * 修改
+     * @param dto
+     * @return
+     */
+    @Override
+    public void update(WChatUserDto dto){
+        WChatUserPo po = new WChatUserPo();
+        BeanUtils.copyProperties(dto,po);
+		wChatUserMapper.updateById(po);
+    }
+
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    @Override
+    public void delete(String id){
+		wChatUserMapper.deleteById(id);
+    }
+}

+ 21 - 0
bus-biz/src/main/resources/mapper/BTestMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="bus.mapper.BTestMapper">
+
+ <select id="list" parameterType="bus.model.dto.BTestPageDto" resultType="bus.model.vo.BTestVo">
+   select
+   id,
+   name,
+   create_time,
+   update_time,
+   tenant_id,
+   creator_id,
+   updater_id,
+   creator_name,
+   updater_name,
+   is_delete
+   from
+   b_test
+ </select>
+
+</mapper>

+ 41 - 0
bus-biz/src/main/resources/mapper/WChatUserMapper.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="bus.mapper.WChatUserMapper">
+
+ <select id="list" parameterType="bus.model.dto.WChatUserPageDto" resultType="bus.model.dto.WChatUserDto">
+   select
+       id,
+       wx_name,
+       wx_phone,
+       mini_open_id,
+       register_time,
+       last_login_time
+   from
+   w_chat_user
+   <where>
+     is_delete = 0
+     <if test="wxName != null and wxName != ''">
+       and wx_name like concat('%',#{wxName},'%')
+     </if>
+     <if test="wxPhone != null and wxPhone != ''">
+       and wx_phone like concat('%',#{wxPhone})
+     </if>
+     <if test="registerBeginTime != null">
+       and register_time >= #{registerBeginTime}
+     </if>
+     <if test="registerEndTime != null">
+       and register_time &lt;= #{registerEndTime}
+     </if>
+     <if test="lastLoginBeginTime != null">
+       and last_login_time >= #{lastLoginBeginTime}
+     </if>
+     <if test="lastLoginEndTime != null">
+       and last_login_time &lt;= #{lastLoginEndTime}
+     </if>
+     <if test="id != null and id != ''">
+       and id = #{id}
+     </if>
+   </where>
+ </select>
+
+</mapper>

BIN
bus-boot/mysql-connector-java-5.1.46.jar


+ 153 - 0
bus-boot/pom.xml

@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-boot</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.qzwisdom.qzframework</groupId>
+			<artifactId>qzframework-core-boot</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>org.springframework.cloud</groupId>
+					<artifactId>spring-cloud-stater-netflix-ribbon</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<!--<dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-loadbalancer</artifactId>
+        </dependency>-->
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>bus.bus</groupId>
+			<artifactId>bus-web</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-logging</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-jdbc</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-devtools</artifactId>
+			<optional>true</optional>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-data-redis</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>mysql</groupId>
+			<artifactId>mysql-connector-java</artifactId>
+			<version>8.0.20</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-loadbalancer</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.orcas</groupId>
+			<version>2.0.0-SNAPSHOT</version>
+			<artifactId>orcas-deve-tool-core</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>io.springfox</groupId>
+					<artifactId>springfox-swagger-ui</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>io.springfox</groupId>
+					<artifactId>springfox-swagger2</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>javax.validation</groupId>
+					<artifactId>validation-api</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.springframework.boot</groupId>
+					<artifactId>spring-boot-starter-parent</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<finalName>bus</finalName>
+		<defaultGoal>compile</defaultGoal>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+				<version>2.2.6.RELEASE</version>
+				<configuration>
+					<includeSystemScope>true</includeSystemScope>
+					<outputDirectory>../target</outputDirectory>
+				</configuration>
+				<executions>
+					<execution>
+						<goals>
+							<goal>repackage</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-deploy-plugin</artifactId>
+				<version>3.0.0-M1</version>
+				<configuration>
+					<skip>true</skip>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+
+
+</project>

+ 20 - 0
bus-boot/src/main/java/bus/Application.java

@@ -0,0 +1,20 @@
+package  bus;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import com.qzwisdom.qzframework.core.boot.annotation.BootApplication;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: bus
+ * @Date: 2025-02-24 14:39:32
+ **/
+@BootApplication(scanBasePackages = {"bus"})
+@MapperScan(value = "bus.mapper")
+public class Application {
+
+    public static void main(String[] args) {
+        SpringApplication.run(Application.class, args);
+    }
+}

+ 31 - 0
bus-boot/src/main/java/bus/config/SwaggerConfig.java

@@ -0,0 +1,31 @@
+package bus.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:32
+**/
+@Configuration
+@EnableSwagger2WebMvc
+public class SwaggerConfig {
+
+    @Bean
+    public Docket docket() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .select()
+                .apis(RequestHandlerSelectors.basePackage("bus.controller.biz"))
+                .paths(PathSelectors.any())
+                .build().apiInfo(new ApiInfoBuilder().title("服务接口文档").version("v1.0").build());
+    }
+
+}

+ 46 - 0
bus-boot/src/main/resources/bootstrap-dev.yaml

@@ -0,0 +1,46 @@
+server:
+  servlet:
+    context-path: /bus
+  port: 60065
+
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://matrix34.tpddns.cn:13306/bus_allot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: 9a41012499f38251
+
+mybatis-plus:
+  enabled-auto-fill: true
+  auto-fill-class-name: 11
+  enabled-optimistic-locker: true
+  enabled-logic-deleted: true
+  global-config:
+    db-config:
+      logic-delete-value: 1
+      logic-not-delete-value: 0
+      logic-delete-field: deleted
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+orcas:
+  productNo: gjgl
+  productName: 公交管理
+  microNo: gjgl
+  redis:
+    host: 58.221.153.58
+    port: 46379
+    database: 5
+    password: orcas@2024
+    expire:
+      minute: 30
+  sso:
+    server: http://58.221.153.58:48989/api-gateway
+    logout:
+      path: /logout
+    excluded:
+      paths: /swagger-ui.html,/webjars/**,/swagger-resources/**,/v2/api-docs,/**
+
+file-store:
+  go-fastdfs:
+    baseUrl: 58.221.153.58:48989

+ 8 - 0
bus-boot/src/main/resources/bootstrap.yaml

@@ -0,0 +1,8 @@
+spring:
+  application:
+    name: bus
+  profiles:
+    active: dev
+
+logging:
+  config: classpath:logback-spring-dev.xml

+ 31 - 0
bus-boot/src/main/resources/generatorConfig.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
+<generatorConfiguration>
+    <classPathEntry
+            location="/app/orcas/orcas-server/orcas-devel-tool-server-9070/mysql-connector-java-5.1.46.jar" />
+
+    <context id="statistics">
+        <commentGenerator>
+            <property name="suppressAllComments" value="true" />
+            <property name="suppressDate" value="true" />
+            <property name="useActualColumnNames" value="true"/>
+        </commentGenerator>
+        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
+                        connectionURL="jdbc:mysql://matrix34.tpddns.cn:13306/bus_allot?connectTimeout=60000&amp;socketTimeout=60000"
+                        userId="root" password="9a41012499f38251" />
+
+        <javaModelGenerator targetPackage="bus.model"
+                            targetProject="/usr/local/orcasCodeGenerate/1740379172638/bus/src/main/java" />
+        <sqlMapGenerator targetPackage="mapper"
+                         targetProject="/usr/local/orcasCodeGenerate/1740379172638/bus/src/main/resources" />
+        <javaClientGenerator targetPackage="bus.mapper"
+                             targetProject="/usr/local/orcasCodeGenerate/1740379172638/bus/src/main/java" type="XMLMAPPER" />
+			<table schema="" tableName="b_test" domainObjectName="BTest"
+				   enableCountByExample="false" enableUpdateByExample="false"
+				   enableDeleteByExample="false" enableSelectByExample="false"
+				   selectByExampleQueryId="false">
+				<property name="useActualColumnNames" value="false"/>
+			</table>
+    </context>
+
+</generatorConfiguration>

+ 117 - 0
bus-boot/src/main/resources/logback-spring-dev.xml

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="60 seconds">
+
+    <!-- 彩色日志依赖的渲染类 -->
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <!-- 彩色日志格式 -->
+    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <!-- 控制台输出 -->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
+            <charset>utf8</charset>
+        </encoder>
+    </appender>
+
+    <!-- 生成日志文件 -->
+    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>logs/log.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件输出的文件名 -->
+            <FileNamePattern>logs/info-%d{yyyy-MM-dd}.log</FileNamePattern>
+            <!-- 日志文件保留天数 -->
+            <MaxHistory>10</MaxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]  [%logger{50}] %n%-5level: %msg%n</pattern>
+        </encoder>
+        <!-- 日志文件最大的大小 -->
+        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <MaxFileSize>200MB</MaxFileSize>
+        </triggeringPolicy>
+        <!-- 打印日志级别 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+
+
+    <!-- 生成日志文件 -->
+    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>logs/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件输出的文件名 -->
+            <FileNamePattern>logs/error-%d{yyyy-MM-dd}.log</FileNamePattern>
+            <!-- 日志文件保留天数 -->
+            <MaxHistory>10</MaxHistory>
+        </rollingPolicy>
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]  [%logger{50}] %n%-5level: %msg%n</pattern>
+        </encoder>
+        <!-- 日志文件最大的大小 -->
+        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <MaxFileSize>200MB</MaxFileSize>
+        </triggeringPolicy>
+        <!-- 打印日志级别 -->
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!-- 日志输出级别 -->
+    <root level="INFO">
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="INFO" />
+        <appender-ref ref="ERROR" />
+    </root>
+
+    <logger name="druid.sql" level="INFO"/>
+
+    <!-- MyBatis log configure -->
+    <logger name="com.apache.ibatis" level="INFO"/>
+    <logger name="org.mybatis" level="DEBUG"/>
+    <logger name="java.sql.Connection" level="DEBUG"/>
+    <logger name="java.sql.Statement" level="DEBUG"/>
+    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
+
+    <!-- 减少部分debug日志 -->
+    <logger name="druid.sql" level="INFO"/>
+    <logger name="org.apache.shiro" level="INFO"/>
+    <logger name="org.mybatis.spring" level="INFO"/>
+    <logger name="org.springframework" level="INFO"/>
+    <logger name="org.springframework.context" level="WARN"/>
+    <logger name="org.springframework.beans" level="WARN"/>
+    <logger name="com.baomidou.mybatisplus" level="INFO"/>
+    <logger name="org.apache.ibatis.io" level="INFO"/>
+    <logger name="org.apache.velocity" level="INFO"/>
+    <logger name="org.eclipse.jetty" level="INFO"/>
+    <logger name="org.xnio.nio" level="INFO"/>
+    <logger name="org.thymeleaf" level="INFO"/>
+    <logger name="springfox.documentation" level="INFO"/>
+    <logger name="org.hibernate.validator" level="INFO"/>
+    <logger name="com.netflix.loadbalancer" level="INFO"/>
+    <logger name="com.netflix.hystrix" level="INFO"/>
+    <logger name="com.netflix.zuul" level="INFO"/>
+    <logger name="de.codecentric" level="INFO"/>
+    <!-- cache INFO -->
+    <logger name="org.springframework.cache" level="INFO"/>
+    <!-- cloud -->
+    <logger name="org.apache.http" level="INFO"/>
+    <logger name="com.netflix.discovery" level="INFO"/>
+    <logger name="com.netflix.eureka" level="INFO"/>
+
+    <!-- 业务日志 -->
+    <logger name="com.orcas" level="ERROR"/>
+
+    <!-- 减少nacos日志 -->
+    <logger name="com.alibaba.nacos" level="ERROR"/>
+
+
+</configuration>

+ 64 - 0
bus-boot/src/test/java/bus/CodeGenerateTest.java

@@ -0,0 +1,64 @@
+package  bus;
+
+import com.orcas.deve.tool.common.enums.ProjectType;
+import com.orcas.deve.tool.common.model.generate.GenerateConfig;
+import com.orcas.deve.tool.common.model.generate.ProjectInfo;
+import com.orcas.deve.tool.common.model.generate.TableInfo;
+import com.orcas.deve.tool.core.service.CodeGenerator;
+import com.orcas.deve.tool.core.service.strategy.StrategySelector;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@SpringBootTest(classes = {Application.class})
+public class CodeGenerateTest {
+
+	@Test
+	public void codeGenerate(){
+		GenerateConfig generateConfig = new GenerateConfig();
+		//设置输出目录
+		CodeGenerator.baseOutputDir="F:\\360MoveData\\Users\\sdy\\Desktop\\1731132063887";
+		//设置项目信息
+		ProjectInfo projectInfo = new ProjectInfo();
+		//1表示多模块0表示单模块
+		projectInfo.setType(ProjectType.multyModule.getValue());
+		projectInfo.setAuthor("zy");
+		projectInfo.setBasePackage("bus");
+		projectInfo.setProjectName("bus");
+		generateConfig.setProjectInfo(projectInfo);
+		//获取数据源信息
+		generateConfig.getDataSourceInfo().setJdbcUrl("jdbc:mysql://matrix34.tpddns.cn:13306/bus_allot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
+		generateConfig.getDataSourceInfo().setJdbcUserName("root");
+		generateConfig.getDataSourceInfo().setJdbcPassword("9a41012499f38251");
+		generateConfig.getDataSourceInfo().setJdbcDriverName("com.mysql.cj.jdbc.Driver");
+		//设置生成的表
+		List<TableInfo> tables = new ArrayList<>();
+		TableInfo tableInfo = new TableInfo();
+		tableInfo.setTableName("w_chat_user");
+		tableInfo.setTableAlias("WChatUser");
+		tables.add(tableInfo);
+		generateConfig.setTableInfos(tables);
+		//生成代码
+		StrategySelector selector = new StrategySelector();
+		//代码生成
+		try {
+			//生成控制层目录
+			String moduleName = generateConfig.getProjectInfo().getProjectName()+"-web";
+			generateConfig.getProjectInfo().setModuleName(moduleName);
+			selector.generateWeb(generateConfig,"");
+			//生成业务层目录
+			moduleName = generateConfig.getProjectInfo().getProjectName()+"-biz";
+			generateConfig.getProjectInfo().setModuleName(moduleName);
+			selector.generateBiz(generateConfig,"");
+			//生成公共实体层目录
+			moduleName = generateConfig.getProjectInfo().getProjectName()+"-common";
+			generateConfig.getProjectInfo().setModuleName(moduleName);
+			selector.generateCommon(generateConfig,"");
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+}

+ 36 - 0
bus-common/pom.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-common</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.qzwisdom.qzframework</groupId>
+			<artifactId>qzframework-core-boot</artifactId>
+		</dependency>
+	</dependencies>
+
+</project>

+ 17 - 0
bus-common/src/main/java/bus/model/BaseEntity.java

@@ -0,0 +1,17 @@
+package bus.model;
+
+import lombok.Data;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:44
+**/
+@Data
+public class BaseEntity {
+    //分页大小,默认值为10
+    private int pageSize = 10;
+
+    //页码,默认值为1
+    private int pageNum = 1;
+}

+ 35 - 0
bus-common/src/main/java/bus/model/dto/BTestDto.java

@@ -0,0 +1,35 @@
+package bus.model.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import java.util.Date;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+@Data
+public class BTestDto{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("名称")
+    private String name;
+    @ApiModelProperty("记录创建时间")
+    private Date createTime;
+    @ApiModelProperty("记录更新时间")
+    private Date updateTime;
+    @ApiModelProperty("租户id")
+    private String tenantId;
+    @ApiModelProperty("创建人id")
+    private String creatorId;
+    @ApiModelProperty("修改人id")
+    private String updaterId;
+    @ApiModelProperty("创建人姓名")
+    private String creatorName;
+    @ApiModelProperty("修改人姓名")
+    private String updaterName;
+    @ApiModelProperty("是否删除")
+    private Integer isDelete;
+}

+ 36 - 0
bus-common/src/main/java/bus/model/dto/BTestPageDto.java

@@ -0,0 +1,36 @@
+package bus.model.dto;
+
+import bus.model.BaseEntity;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import java.util.Date;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+@Data
+public class BTestPageDto extends BaseEntity{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("名称")
+    private String name;
+    @ApiModelProperty("记录创建时间")
+    private Date createTime;
+    @ApiModelProperty("记录更新时间")
+    private Date updateTime;
+    @ApiModelProperty("租户id")
+    private String tenantId;
+    @ApiModelProperty("创建人id")
+    private String creatorId;
+    @ApiModelProperty("修改人id")
+    private String updaterId;
+    @ApiModelProperty("创建人姓名")
+    private String creatorName;
+    @ApiModelProperty("修改人姓名")
+    private String updaterName;
+    @ApiModelProperty("是否删除")
+    private Integer isDelete;
+}

+ 23 - 0
bus-common/src/main/java/bus/model/dto/CommonLoginDto.java

@@ -0,0 +1,23 @@
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:44
+**/
+@ApiModel(description = "账户登陆请求实体")
+@Data
+public class CommonLoginDto {
+
+	@ApiModelProperty("账号")
+	private String account;
+
+	@ApiModelProperty("密码")
+	private String password;
+
+}

+ 29 - 0
bus-common/src/main/java/bus/model/dto/WChatUserDto.java

@@ -0,0 +1,29 @@
+package bus.model.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:44
+**/
+@Data
+public class WChatUserDto{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("微信昵称")
+    private String wxName;
+    @ApiModelProperty("微信号码")
+    private String wxPhone;
+    @ApiModelProperty("小程序openId")
+    private String miniOpenId;
+    @ApiModelProperty("注册时间")
+    private Date registerTime;
+    @ApiModelProperty("最近登录时间")
+    private Date lastLoginTime;
+}

+ 37 - 0
bus-common/src/main/java/bus/model/dto/WChatUserPageDto.java

@@ -0,0 +1,37 @@
+package bus.model.dto;
+
+import bus.model.BaseEntity;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:44
+**/
+@Data
+public class WChatUserPageDto extends BaseEntity{
+
+    @ApiModelProperty("微信昵称")
+    private String wxName;
+    @ApiModelProperty("微信号码")
+    private String wxPhone;
+    @ApiModelProperty("注册开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date registerBeginTime;
+    @ApiModelProperty("注册结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date registerEndTime;
+    @ApiModelProperty("最近登录开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date lastLoginBeginTime;
+    @ApiModelProperty("最近登录结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date lastLoginEndTime;
+}

+ 29 - 0
bus-common/src/main/java/bus/model/po/BTestPo.java

@@ -0,0 +1,29 @@
+package bus.model.po;
+
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.util.Date;
+import java.util.Date;
+
+/**
+* @Program: bus
+* @Description: 测试
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+@Data
+@TableName("b_test")
+public class BTestPo{
+    @TableId
+    private String id;
+    private String name;
+    private Date createTime;
+    private Date updateTime;
+    private String tenantId;
+    private String creatorId;
+    private String updaterId;
+    private String creatorName;
+    private String updaterName;
+    private Integer isDelete;
+}

+ 36 - 0
bus-common/src/main/java/bus/model/po/WChatUserPo.java

@@ -0,0 +1,36 @@
+package bus.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+
+/**
+* @Program: bus
+* @Description: 
+* @Author: zy
+* @Date: 2025-02-28 16:46:44
+**/
+@Data
+@TableName("w_chat_user")
+public class WChatUserPo{
+    @TableId
+    private String id;
+    private String wxName;
+    private String wxPhone;
+    private String miniOpenId;
+    private Date registerTime;
+    private Date lastLoginTime;
+    private Date createTime;
+    private Date updateTime;
+    private String creatorId;
+    private String updaterId;
+    private String creatorName;
+    private String updaterName;
+    @TableLogic
+    private Integer isDelete;
+}

+ 37 - 0
bus-common/src/main/java/bus/model/vo/BTestVo.java

@@ -0,0 +1,37 @@
+package bus.model.vo;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import com.qzwisdom.qzframework.core.tool.base.vo.AbstractBaseVO;
+import java.util.Date;
+import java.util.Date;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+@Data
+public class BTestVo extends AbstractBaseVO{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("名称")
+    private String name;
+    @ApiModelProperty("记录创建时间")
+    private Date createTime;
+    @ApiModelProperty("记录更新时间")
+    private Date updateTime;
+    @ApiModelProperty("租户id")
+    private String tenantId;
+    @ApiModelProperty("创建人id")
+    private String creatorId;
+    @ApiModelProperty("修改人id")
+    private String updaterId;
+    @ApiModelProperty("创建人姓名")
+    private String creatorName;
+    @ApiModelProperty("修改人姓名")
+    private String updaterName;
+    @ApiModelProperty("是否删除")
+    private Integer isDelete;
+}

+ 45 - 0
bus-common/src/main/java/bus/model/vo/WChatUserVo.java

@@ -0,0 +1,45 @@
+package bus.model.vo;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import com.qzwisdom.qzframework.core.tool.base.vo.AbstractBaseVO;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+import java.util.Date;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:44
+**/
+@Data
+public class WChatUserVo extends AbstractBaseVO{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("微信昵称")
+    private String wxName;
+    @ApiModelProperty("微信号码")
+    private String wxPhone;
+    @ApiModelProperty("小程序openId")
+    private String miniOpenId;
+    @ApiModelProperty("注册时间")
+    private Date registerTime;
+    @ApiModelProperty("最近登录时间")
+    private Date lastLoginTime;
+    @ApiModelProperty("记录创建时间")
+    private Date createTime;
+    @ApiModelProperty("记录更新时间")
+    private Date updateTime;
+    @ApiModelProperty("创建人id")
+    private String creatorId;
+    @ApiModelProperty("修改人id")
+    private String updaterId;
+    @ApiModelProperty("创建人姓名")
+    private String creatorName;
+    @ApiModelProperty("修改人姓名")
+    private String updaterName;
+    @ApiModelProperty("是否删除")
+    private Integer isDelete;
+}

+ 41 - 0
bus-rpc/pom.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-rpc</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.cloud</groupId>
+			<artifactId>spring-cloud-starter-openfeign</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>bus.bus</groupId>
+			<artifactId>bus-common</artifactId>
+		</dependency>
+	</dependencies>
+
+
+</project>

+ 23 - 0
bus-rpc/src/main/java/bus/rpc/config/FeignBasicAuthRequestInterceptor.java

@@ -0,0 +1,23 @@
+package bus.rpc.config;
+
+
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {
+
+    public FeignBasicAuthRequestInterceptor() {
+
+    }
+
+    @Override
+    public void apply(RequestTemplate template) {
+        template.header("Authorization","12312312");
+    }
+}

+ 35 - 0
bus-rpc/src/main/java/bus/rpc/config/FeignConfiguration.java

@@ -0,0 +1,35 @@
+package bus.rpc.config;
+
+import feign.Retryer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import static java.util.concurrent.TimeUnit.SECONDS;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+@Configuration
+public class FeignConfiguration {
+
+    /**
+    * 创建Feign请求拦截器,在发送请求前设置认证的token,各个微服务将token设置到环境变量中来达到通用
+    * @return
+    */
+    @Bean
+    public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
+        return new FeignBasicAuthRequestInterceptor();
+    }
+
+    /**
+    * 重试间隔为1000ms,最大重试时间为5s,重试次数为0次
+    * @return
+    */
+    @Bean
+    public Retryer feignRetryer() {
+        return new Retryer.Default(5000, SECONDS.toMillis(5), 0);
+    }
+}

+ 16 - 0
bus-rpc/src/main/java/bus/rpc/fallback/DemoFeignFallback.java

@@ -0,0 +1,16 @@
+package bus.rpc.fallback;
+
+
+import com.orcas.common.model.JsonResponse;
+import org.springframework.stereotype.Component;
+import bus.rpc.service.DemoFeignService;
+
+
+@Component
+public class DemoFeignFallback implements DemoFeignService {
+
+    @Override
+    public JsonResponse<String> getDemoMsg() {
+        return JsonResponse.fail("获取Demo列表RPC服务请求失败!");
+    }
+}

+ 22 - 0
bus-rpc/src/main/java/bus/rpc/service/DemoFeignService.java

@@ -0,0 +1,22 @@
+package bus.rpc.service;
+
+import com.orcas.common.model.JsonResponse;
+import bus.rpc.config.FeignConfiguration;
+import bus.rpc.fallback.DemoFeignFallback;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: bus
+* @Date: 2025-02-24 14:39:33
+**/
+@FeignClient(value = "bus", configuration = FeignConfiguration.class, fallback = DemoFeignFallback.class,
+path = "/bus/demoRpc")
+public interface DemoFeignService {
+
+    @PostMapping("/getDemoMsg")
+    JsonResponse<String> getDemoMsg();
+
+}

+ 50 - 0
bus-web/pom.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-web</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.qzwisdom.qzframework</groupId>
+			<artifactId>qzframework-core-boot</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>bus.bus</groupId>
+			<artifactId>bus-biz</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-logging</artifactId>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+
+</project>

+ 95 - 0
bus-web/src/main/java/bus/controller/biz/BTestController.java

@@ -0,0 +1,95 @@
+package bus.controller.biz;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageSerializable;
+import bus.model.dto.BTestDto;
+import bus.model.dto.BTestPageDto;
+import bus.model.vo.BTestVo;
+import bus.service.BTestService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
+
+
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: bus
+ * @Date: 2025-02-24 14:39:33
+ **/
+@Slf4j
+@CrossOrigin
+@RestController
+@Api(tags = "bTest接口")
+@RequestMapping(value="/bTest")
+public class BTestController implements BaseController {
+
+    @Autowired
+    private BTestService bTestService;
+
+
+
+    /**
+     * 详情
+     * @param id
+     * @return
+     */
+    @ApiOperation("详情")
+    @GetMapping(value = "getDetailById")
+    public BTestVo getDetailById(@RequestParam String id){
+        return doSingle(bTestService.getDetailById(id),BTestVo::new);
+    }
+
+	/**
+     * 保存
+     * @param dto
+     * @return
+     */
+    @ApiOperation("保存")
+    @PostMapping(value = "save")
+    public String save(@RequestBody BTestDto dto){
+		bTestService.save(dto);
+        return "保存成功";
+    }
+
+    /**
+    * 列表
+    * @param dto
+    * @return
+    */
+    @ApiOperation("列表")
+    @PostMapping(value = "list")
+    public PageSerializable<BTestVo> list(@RequestBody BTestPageDto dto){
+       PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
+       return new PageSerializable<>(bTestService.list(dto));
+    }
+
+	/**
+     * 修改
+     * @param dto
+     * @return
+     */
+    @ApiOperation("修改")
+    @PostMapping(value = "update")
+    public String update(@RequestBody BTestDto dto){
+		bTestService.update(dto);
+        return "修改成功";
+    }
+
+	/**
+     * 删除
+     * @param id
+     * @return
+     */
+    @ApiOperation("删除")
+    @GetMapping(value = "deleteById")
+    public String deleteById(@RequestParam String id){
+		bTestService.delete(id);
+        return "删除成功";
+    }
+
+}

+ 213 - 0
bus-web/src/main/java/bus/controller/biz/CommonController.java

@@ -0,0 +1,213 @@
+package bus.controller.biz;
+
+import com.orcas.common.enums.YesOrNo;
+import com.orcas.common.enums.sso.UserSateResponse;
+import com.orcas.common.model.ValueLabelObject;
+import com.orcas.common.sso.model.*;
+import com.orcas.common.usercenter.model.*;
+import com.orcas.dictionary.common.dto.JsonAreaDto;
+import com.orcas.fileclient.common.entity.FileEntity;
+import com.orcas.fileclient.service.FileStoreClient;
+import com.orcas.iso.config.common.user.CurrentUserHolder;
+import com.orcas.iso.service.MenuClient;
+import com.orcas.iso.service.SsoClient;
+import com.orcas.iso.service.UserClient;
+import bus.model.dto.CommonLoginDto;
+import bus.service.CommonService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-02-28 16:46:43
+**/
+@RestController
+@RequestMapping("/common")
+@Api(tags = "公共接口")
+public class CommonController  implements BaseController {
+    @Value("${orcas.productNo}")
+    private String productNo;
+    @Value("${orcas.microNo}")
+    private String microNo;
+    @Autowired
+    private SsoClient ssoClient;
+    @Autowired
+    private UserClient userClient;
+    @Autowired
+    private MenuClient menuClient;
+    @Autowired
+    private FileStoreClient fileStoreClient;
+
+    @Autowired
+    private CommonService commonService;
+
+
+    @ApiOperation("登录")
+    @PostMapping("/doLogin")
+    @CrossOrigin
+    public Object doLogin(HttpServletRequest request, HttpServletResponse response,
+                                @RequestBody CommonLoginDto userLoginRequest){
+        //注意加了审计注解的方法需要手动捕获异常
+        try{
+            SsoUserAuthDto ssoUserAuthDto = commonService.doLogin(request,response,userLoginRequest);
+            return ssoUserAuthDto;
+        }catch (Exception e){
+            return e.getMessage();
+        }
+    }
+    @ApiOperation("登出")
+    @GetMapping("/doLoginOut")
+    @CrossOrigin
+    public String doLoginOut(HttpServletRequest request, HttpServletResponse response){
+       try{
+            Boolean flag = ssoClient.doLogout(request,response);
+            if(flag){
+                return "退出成功";
+            }else{
+                return "退出失败";
+            }
+       }catch (Exception e){
+            return e.getMessage();
+       }
+    }
+
+    @ApiOperation("注册")
+    @PostMapping("/registerUser")
+    @CrossOrigin
+    public Object registerUser(HttpServletRequest request, HttpServletResponse response,
+                                @RequestBody RegisterRequest registerRequest){
+        registerRequest.setAccountName(registerRequest.getUserPhone());
+        SsoUserResponse ssoUserResponse = ssoClient.registerUser(registerRequest);
+        if(UserSateResponse.USER_STATE_02.getCode().equals(ssoUserResponse.getUserSate())){
+            return "手机号已存在";
+        }
+        return ssoUserResponse;
+    }
+
+    @ApiOperation("获取当前人员在本应用的菜单资源")
+    @GetMapping("/getTenantMenu")
+    public List<MenuTreeNode> getTenantMenu(String gotoMicroNo){
+        MenuTreeRequest menuTreeRequest = new MenuTreeRequest();
+        menuTreeRequest.setUnitOrganizeId(CurrentUserHolder.get().getUnitOrganizeId());
+        menuTreeRequest.setUsername(CurrentUserHolder.get().getUserName());
+        menuTreeRequest.setProductNo(productNo);
+        menuTreeRequest.setGotoMicroNo(microNo);
+        menuTreeRequest.setIsAdmin(CurrentUserHolder.get().getIsAdmin());
+        menuTreeRequest.setStaffId(CurrentUserHolder.get().getStaffId());
+        menuTreeRequest.setAccountName(CurrentUserHolder.get().getAccountName());
+        List<MenuTreeNode> menuTreeNodes = menuClient.getRoleMenuList(menuTreeRequest);
+        return menuTreeNodes;
+    }
+
+    @ApiOperation("获取每个产品的门户资源菜单树")
+    @GetMapping("/getAllPortalMenus")
+    public List<ProductPortalMenu> getAllPortalMenus(){
+        MenuTreeRequest menuTreeRequest = new MenuTreeRequest();
+        menuTreeRequest.setUnitOrganizeId(CurrentUserHolder.get().getUnitOrganizeId());
+        menuTreeRequest.setUsername(CurrentUserHolder.get().getUserName());
+        menuTreeRequest.setIsAdmin(CurrentUserHolder.get().getIsAdmin());
+        menuTreeRequest.setStaffId(CurrentUserHolder.get().getStaffId());
+        menuTreeRequest.setAccountName(CurrentUserHolder.get().getAccountName());
+        List<ProductPortalMenu> productPortalMenuList = menuClient.getAllPortalMenus(menuTreeRequest);
+        return productPortalMenuList;
+    }
+
+
+    @ApiOperation("修改密码")
+    @PostMapping("/updatePassword")
+    public Object updatePwd(@RequestBody UpdatePasswordRequest request){
+        try{
+            SsoUserAuthDto ssoUserAuthDto = ssoClient.updatePassword(request);
+            return ssoUserAuthDto;
+        }catch (Exception e){
+            return e.getMessage();
+        }
+    }
+
+    @ApiOperation("新增租户组织")
+    @PostMapping("/addUnitOrganize")
+    public TenantRequest addUnitOrganize(HttpServletRequest request,@RequestBody TenantRequest tenantRequest) {
+        tenantRequest.setSsoUserId(CurrentUserHolder.get().getUserId());
+        tenantRequest.setAccountName(CurrentUserHolder.get().getAccountName());
+        tenantRequest.setUserName(CurrentUserHolder.get().getUserName());
+        tenantRequest.setUserPhone(CurrentUserHolder.get().getUserPhone());
+        TenantRequest returnTenanRequest = userClient.createTenant(tenantRequest);
+        // 新增成功后 切换组织并刷新redis缓存
+        userClient.updateSelectedTenant(request,tenantRequest.getUniformCreditCode());
+        return returnTenanRequest;
+    }
+
+    @ApiOperation("获取租户组织列表")
+    @PostMapping("/getUnitOrganize")
+    public List<TenantSimpleDto> getUnitOrganize() {
+        List<TenantSimpleDto> tenantSimpleDtoList = userClient.getTenantList(CurrentUserHolder.get().getAccountName());
+        if(!CollectionUtils.isEmpty(tenantSimpleDtoList)){
+        	for(TenantSimpleDto dto : tenantSimpleDtoList){
+        		if(dto.getUniformCreditCode().equals(CurrentUserHolder.get().getUniformCreditCode())){
+					dto.setIsSelected(YesOrNo.YES.getValue());
+					break;
+				}
+			}
+		}
+        return tenantSimpleDtoList;
+    }
+
+	@ApiOperation("选择租户组织")
+	@GetMapping("/updateSelectedTenant")
+	public String updateSelectedTenant(HttpServletRequest request,@RequestParam String uniformCreditCode) {
+		userClient.updateSelectedTenant(request,uniformCreditCode);
+		return "设置成功";
+	}
+
+
+
+    @ApiOperation("获取数据字典")
+    @PostMapping("/getDataDict")
+    public List<ValueLabelObject> getDataDict(@RequestBody String dictCode) {
+        List<ValueLabelObject> valueLabelObjectList = commonService.getDataDict(dictCode);
+        return valueLabelObjectList;
+    }
+
+    @ApiOperation("获取当前用户")
+    @GetMapping("/getCurrentUser")
+    public ExtInfo getCurrentUser() {
+        ExtInfo extInfo = CurrentUserHolder.get();
+        String accountName = CurrentUserHolder.get().getAccountName();
+        List<TenantSimpleDto> tenantSimpleDtoList = userClient.getTenantList(accountName);
+        extInfo.setTenantSimpleDtoList(tenantSimpleDtoList);
+        return extInfo;
+    }
+
+    @ApiOperation("行政区域及其子类")
+    @PostMapping("/getAreaDict")
+    public List<JsonAreaDto> getAreaDict() {
+        List<JsonAreaDto> jsonAreaDtoList = commonService.getAreaDict();
+        return jsonAreaDtoList;
+    }
+
+    @ApiOperation("文件上传")
+    @PostMapping("/addFile")
+    public FileEntity addFile(@RequestBody MultipartFile file) {
+        FileEntity fileEntity = null;
+        try {
+            fileEntity = fileStoreClient.upload(file.getBytes(),file.getOriginalFilename(),productNo);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return fileEntity;
+    }
+}

+ 95 - 0
bus-web/src/main/java/bus/controller/biz/WChatUserController.java

@@ -0,0 +1,95 @@
+package bus.controller.biz;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageSerializable;
+import bus.model.dto.WChatUserDto;
+import bus.model.dto.WChatUserPageDto;
+import bus.model.vo.WChatUserVo;
+import bus.service.WChatUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
+
+
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-02-28 16:46:43
+ **/
+@Slf4j
+@CrossOrigin
+@RestController
+@Api(tags = "微信用户接口")
+@RequestMapping(value="/wChatUser")
+public class WChatUserController implements BaseController {
+
+    @Autowired
+    private WChatUserService wChatUserService;
+
+
+
+    /**
+     * 详情
+     * @param id
+     * @return
+     */
+    @ApiOperation("详情")
+    @GetMapping(value = "getDetailById")
+    public WChatUserVo getDetailById(@RequestParam String id){
+        return doSingle(wChatUserService.getDetailById(id),WChatUserVo::new);
+    }
+
+	/**
+     * 保存
+     * @param dto
+     * @return
+     */
+    @ApiOperation("保存")
+    @PostMapping(value = "save")
+    public String save(@RequestBody WChatUserDto dto){
+		wChatUserService.save(dto);
+        return "保存成功";
+    }
+
+    /**
+    * 列表
+    * @param dto
+    * @return
+    */
+    @ApiOperation("列表")
+    @PostMapping(value = "list")
+    public PageSerializable<WChatUserDto> list(@RequestBody WChatUserPageDto dto){
+       PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
+       return new PageSerializable<>(wChatUserService.list(dto));
+    }
+
+	/**
+     * 修改
+     * @param dto
+     * @return
+     */
+    @ApiOperation("修改")
+    @PostMapping(value = "update")
+    public String update(@RequestBody WChatUserDto dto){
+		wChatUserService.update(dto);
+        return "修改成功";
+    }
+
+	/**
+     * 删除
+     * @param id
+     * @return
+     */
+    @ApiOperation("删除")
+    @GetMapping(value = "deleteById")
+    public String deleteById(@RequestParam String id){
+		wChatUserService.delete(id);
+        return "删除成功";
+    }
+
+}

+ 108 - 0
pom.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus</artifactId>
+	<packaging>pom</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<parent>
+		<artifactId>qzframework-parent</artifactId>
+		<groupId>com.qzwisdom.qzframework</groupId>
+		<version>3.0.0-SNAPSHOT</version>
+	</parent>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+		<qzframework.version>3.0.0-SNAPSHOT</qzframework.version>
+	</properties>
+
+	<modules>
+		<module>bus-common</module>
+		<module>bus-api</module>
+		<module>bus-rpc</module>
+		<module>bus-biz</module>
+		<module>bus-web</module>
+		<module>bus-boot</module>
+	</modules>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>com.qzwisdom.qzframework</groupId>
+				<artifactId>qzframework-core-boot</artifactId>
+				<version>${qzframework.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>bus.bus</groupId>
+				<artifactId>bus-common</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>bus.bus</groupId>
+				<artifactId>bus-api</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>bus.bus</groupId>
+				<artifactId>bus-rpc</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>bus.bus</groupId>
+				<artifactId>bus-biz</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>bus.bus</groupId>
+				<artifactId>bus-web</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>bus.bus</groupId>
+				<artifactId>bus-boot</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
+	<distributionManagement>
+		<repository>
+			<id>nexus-prod</id>
+			<url>http://192.168.2.177:8888/repository/maven-product-release/</url>
+		</repository>
+		<snapshotRepository>
+			<id>nexus-deve</id>
+			<url>http://192.168.2.177:8888/repository/maven-product-snapshot/</url>
+		</snapshotRepository>
+	</distributionManagement>
+
+	<repositories>
+		<repository>
+			<id>nexus-prod</id>
+			<url>http://192.168.2.177:8888/repository/maven-product-release</url>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>always</updatePolicy>
+			</snapshots>
+		</repository>
+		<repository>
+			<id>nexus-deve</id>
+			<url>http://192.168.2.177:8888/repository/maven-product-snapshot</url>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>always</updatePolicy>
+			</snapshots>
+		</repository>
+	</repositories>
+
+</project>