Explorar o código

Merge remote-tracking branch 'origin/master'

lix hai 2 semanas
pai
achega
a2ee33ab4b
Modificáronse 12 ficheiros con 82 adicións e 21 borrados
  1. 4 2
      national-motion-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
  2. 17 4
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/AppHomeController.java
  3. 18 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java
  4. 8 4
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/UserServiceImpl.java
  5. 0 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/PlaceInfoVO.java
  6. 4 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/SearchVO.java
  7. 13 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/CUserInfoController.java
  8. 3 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/FindPageCUserInfoRequestDTO.java
  9. 3 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/ReplyStatusEnum.java
  10. 1 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppSiteMapper.xml
  11. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  12. 10 4
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

+ 4 - 2
national-motion-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java

@@ -75,8 +75,10 @@ public interface CommonConstant {
 	 * 操作日志类型: 导出
 	 */
 	int OPERATE_TYPE_6 = 6;
-	
-	
+
+     /** 小程序用户注册关联orgCode */
+     String REGISTER_ORG_CODE = "A02A03";
+
 	/** {@code 500 Server Error} (HTTP/1.0 - RFC 1945) */
     Integer SC_INTERNAL_SERVER_ERROR_500 = 500;
     /** {@code 404 Not Found} (HTTP/1.0 - RFC 1945) */

+ 17 - 4
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/AppHomeController.java

@@ -9,11 +9,9 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.app.dto.GetPlaceListDTO;
 import org.jeecg.modules.app.dto.SearchDTO;
 import org.jeecg.modules.app.service.IAppHomeService;
+import org.jeecg.modules.app.service.IDetailService;
 import org.jeecg.modules.app.service.IUserService;
-import org.jeecg.modules.app.vo.HomeVO;
-import org.jeecg.modules.app.vo.MsgInfoVO;
-import org.jeecg.modules.app.vo.MsgVO;
-import org.jeecg.modules.app.vo.PlaceVO;
+import org.jeecg.modules.app.vo.*;
 import org.jeecg.modules.system.app.entity.AppSearchHot;
 import org.springframework.web.bind.annotation.*;
 
@@ -29,6 +27,8 @@ public class AppHomeController {
     private IAppHomeService appHomeService;
     @Resource
     private IUserService userService;
+    @Resource
+    private IDetailService detailService;
 
     @GetMapping("/homeInfo")
     @Operation(summary = "首页基础数据查询")
@@ -97,4 +97,17 @@ public class AppHomeController {
     public Result<List<AppSearchHot>> getHotSearch(){
         return Result.ok(appHomeService.getHotSearch());
     }
+
+    /**
+     * @Author SheepHy
+     * @Description 门店详情信息查询
+     * @Date 19:41 2025/7/7
+     * @Param id 门店id
+     * @return PlaceInfoVO {@link PlaceInfoVO}
+     **/
+    @GetMapping("/getPlaceInfo")
+    @Operation(summary = "门店详情信息查询")
+    public Result<PlaceInfoVO> getPlaceInfo(@RequestParam @Schema(description="门店ID") String id){
+        return Result.ok(detailService.getPlaceInfo(id));
+    }
 }

+ 18 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java

@@ -3,30 +3,43 @@ package org.jeecg.modules.app.service.impl;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.modules.app.service.IDetailService;
 import org.jeecg.modules.app.vo.PlaceInfoVO;
+import org.jeecg.modules.system.app.entity.AppInstructor;
 import org.jeecg.modules.system.app.entity.AppOrderProduct;
 import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.entity.AppSitePriceRules;
 import org.jeecg.modules.system.app.mapper.*;
+import org.springframework.beans.BeanUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 
 public class DetailServiceImpl implements IDetailService {
     @Resource
     private AppSiteMapper appSiteMapper;
     @Resource
-    private AppCoursesMapper appCoursesMapper;
-    @Resource
     private AppCoursesPriceRulesMapper appCoursesPriceRulesMapper;
     @Resource
     private AppOrderProductMapper appOrderProductMapper;
     @Resource
     private AppSitePriceRulesMapper appSitePriceRulesMapper;
+    @Resource
+    private AppInstructorMapper appInstructorMapper;
 
     @Override
     public PlaceInfoVO getPlaceInfo(String id) {
         AppSite appSite = appSiteMapper.selectById(id);
         PlaceInfoVO placeInfo = appSiteMapper.getPlaceInfo(id);
+        List<PlaceInfoVO.InstructorVO> instructorVOList = new ArrayList<>();
+        List<AppInstructor> appInstructors = appInstructorMapper.selectList(Wrappers.<AppInstructor>lambdaQuery()
+                .eq(AppInstructor::getOrgCode, appSite.getOrgCode()));
+        if (appInstructors != null) {
+            for (AppInstructor instructor : appInstructors) {
+                PlaceInfoVO.InstructorVO vo = new PlaceInfoVO.InstructorVO();
+                BeanUtils.copyProperties(vo, instructor); // 注意参数顺序
+                instructorVOList.add(vo);
+            }
+        }
         AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectOne(Wrappers.<AppSitePriceRules>lambdaQuery()
                 .eq(AppSitePriceRules::getSiteId, id)
                 .eq(AppSitePriceRules::getStatus, 0)
@@ -36,6 +49,9 @@ public class DetailServiceImpl implements IDetailService {
                 .setSales(getPlaceSales(id))
                 .setOriginalPrice(appSitePriceRules.getOriginalPrice())
                 .setSellingPrice(appSitePriceRules.getSellingPrice());
+        placeInfo.setInstructorVOList(instructorVOList)
+                .setPlaceInfoMsgVO(placeInfoMsgVO);
+        //todo 评价查询待添加
         return placeInfo;
     }
 

+ 8 - 4
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/UserServiceImpl.java

@@ -16,6 +16,8 @@ import org.jeecg.modules.app.service.IUserService;
 import org.jeecg.modules.app.vo.LoginUserVO;
 import org.jeecg.modules.app.vo.MsgInfoVO;
 import org.jeecg.modules.app.vo.MsgVO;
+import org.jeecg.modules.system.app.entity.FamilyMembers;
+import org.jeecg.modules.system.app.mapper.FamilyMembersMapper;
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.*;
 import org.springframework.beans.BeanUtils;
@@ -26,8 +28,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
-import static org.jeecg.common.constant.CommonConstant.PREFIX_USER_TOKEN;
-import static org.jeecg.common.constant.CommonConstant.SC_INTERNAL_SERVER_ERROR_500;
+import static org.jeecg.common.constant.CommonConstant.*;
 
 @Service
 @Log4j2
@@ -45,6 +46,8 @@ public class UserServiceImpl implements IUserService {
     @Resource
     private SysUserDepartMapper sysUserDepartMapper;
     @Resource
+    private FamilyMembersMapper familyMembersMapper;
+    @Resource
     private RedisUtil redisUtil;
 
     @Override
@@ -68,8 +71,9 @@ public class UserServiceImpl implements IUserService {
                             .setCreateBy("admin")
                             .setRealname("微信用户")
                             .setUsername("微信用户_" + UUID.randomUUID())
-                            .setOrgCode("A03");
-                SysDepart sysDepart = sysDepartMapper.selectOne(Wrappers.<SysDepart>lambdaQuery().eq(SysDepart::getOrgCode, "A03"));
+                            .setOrgCode(REGISTER_ORG_CODE);
+                familyMembersMapper.insert(new FamilyMembers().setDelFlag(0).setUserId(user.getId()).setUserType(0).setRealNameStatus(0));
+                SysDepart sysDepart = sysDepartMapper.selectOne(Wrappers.<SysDepart>lambdaQuery().eq(SysDepart::getOrgCode, REGISTER_ORG_CODE));
                 sysUserDepartMapper.insert(new SysUserDepart(user.getId(),sysDepart.getId()));
                 boolean result = sysUserMapper.insert(user) > 0;
                     if (!result) {

+ 0 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/PlaceInfoVO.java

@@ -97,7 +97,5 @@ public class PlaceInfoVO {
         private String avatar;
         @Schema(description = "擅长说明")
         private String excelMsg;
-        @Schema(description = "教练数量")
-        private int count;
     }
 }

+ 4 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/SearchVO.java

@@ -118,6 +118,8 @@ public class SearchVO{
         private BigDecimal sellingPrice;
         @Schema(description = "销售数量")
         private int sales;
+        @Schema(description = "图片")
+        private String cover;
         @Schema(description = "好评率")
         private BigDecimal goodRate;
         @Schema(description = "评论数")
@@ -149,6 +151,8 @@ public class SearchVO{
         private String comments;
         @Schema(description = "地址")
         private String address;
+        @Schema(description = "图片")
+        private String cover;
         @Schema(description = "距离(KM)")
         private double km;
         @Schema(description = "类目")

+ 13 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/CUserInfoController.java

@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.subject.Subject;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoRequestDTO;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO;
 import org.jeecg.modules.system.service.ISysUserService;
@@ -38,6 +41,16 @@ public class CUserInfoController {
                                                                      @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                                      @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                                                      HttpServletRequest req) {
+        Subject subject = SecurityUtils.getSubject();
+        LoginUser loginUser =null;
+        if (subject.isAuthenticated()) {
+            // 获取当前登录的用户信息
+            loginUser= (LoginUser) subject.getPrincipal();
+        }
+        if (loginUser==null){
+            return Result.error("当前未登录,请先登录;或者未获取到用户信息,请联系管理员");
+        }
+        findPageCUserInfoRequestDTO.setOrgCode(loginUser.getOrgCode());
         return Result.OK(iSysUserService.findByCUserInfo(pageNo,pageSize,findPageCUserInfoRequestDTO));
     }
 }

+ 3 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/FindPageCUserInfoRequestDTO.java

@@ -25,5 +25,8 @@ public class FindPageCUserInfoRequestDTO {
     @Schema(description = "实名状态 0-未实名 ;1-已实名")
     private Integer realNameStatus;
 
+    @Schema(description = "部门编码")
+    private String orgCode;
+
 
 }

+ 3 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/ReplyStatusEnum.java

@@ -8,8 +8,9 @@ import org.jeecg.common.system.annotation.EnumDict;
 @EnumDict("ReplyStatus")
 public enum ReplyStatusEnum {
 //   0-投诉吐槽;1-功能异常;2-用户体验;3-功能建议;4-其他
-    REPLIED(0, "已回复"),
-    NO_REPLY(1, "未回复");
+    NO_REPLY(0, "未回复"),
+    REPLIED(1, "已回复"),
+    ;
 
     Integer code;
     String name;

+ 1 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppSiteMapper.xml

@@ -40,6 +40,7 @@
         a.name,
         a.good_rate AS goodRate,
         a.address,
+        a.cover,
         a.category_id,
         CASE
         WHEN EXISTS (

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -234,6 +234,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	 **/
 	List<String> getUserIdListByRoleId(@Param("roleCode") String roleCode);
 
-    IPage<FindPageCUserInfoResponseDTO> findPage(Page<FindPageCUserInfoResponseDTO> page, FindPageCUserInfoRequestDTO findPageCUserInfoRequestDTO);
+    IPage<FindPageCUserInfoResponseDTO> findPage(@Param("page")Page<FindPageCUserInfoResponseDTO> page, @Param("findPageCUserInfoRequestDTO") FindPageCUserInfoRequestDTO findPageCUserInfoRequestDTO);
 
 }

+ 10 - 4
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -306,11 +306,17 @@
     <select id="findPage" resultType="org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO">
 		select * from (
 		select su.id,su.username,su.avatar,su.phone,su.create_time,fm.real_name_status from sys_user su
-		left join  nm_family_members fm on su.id=fm.userId
-		where su.del_flag=0 and su.org_code='A03' and fm.del_flag=0 and fm.user_type=0 ) t
+		left join  nm_family_members fm on su.id=fm.user_id
+		where su.del_flag=0 and su.org_code like CONCAT('',#{findPageCUserInfoRequestDTO.orgCode},'%')
+		<if test="findPageCUserInfoRequestDTO.username!=null  and findPageCUserInfoRequestDTO.username!=''">
+		  and su.username like CONCAT('%',#{findPageCUserInfoRequestDTO.username},'%')
+		</if>
+		<if test="findPageCUserInfoRequestDTO.realNameStatus!=null">
+			and fm.real_name_status=#{findPageCUserInfoRequestDTO.realNameStatus}
+		</if>
+		and fm.del_flag=0 and fm.user_type=0 ) t
 		left join
 		(select user_id, count(1) from nm_family_members group by  user_id ) t1 on  t.id=t1.user_id
 		order by  t.create_time desc
-
 	</select>
-</mapper>
+</mapper>