package cc.mrbird.febs.ai.controller.productQuestion; import cc.mrbird.febs.ai.entity.AiProductPoint; import cc.mrbird.febs.ai.entity.AiProductQuestion; import cc.mrbird.febs.ai.entity.AiProductQuestionItem; import cc.mrbird.febs.ai.service.AiProductQuestionItemService; import cc.mrbird.febs.ai.service.AiProductQuestionService; import cc.mrbird.febs.common.entity.FebsConstant; import cc.mrbird.febs.common.utils.FebsUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; /** * @author Administrator */ @Controller("AiProductQuestionView") @RequestMapping(FebsConstant.VIEW_PREFIX + "modules/ai/productQuestion") @RequiredArgsConstructor public class ViewController { private final AiProductQuestionService aiProductQuestionService; private final AiProductQuestionItemService aiProductQuestionItemService; @GetMapping("list") @RequiresPermissions("productQuestionList:view") public String pointList() { return FebsUtil.view("modules/ai/productQuestion/list"); } @GetMapping(value = "/add") @RequiresPermissions("productQuestionList:add") public String artAdd() { return FebsUtil.view("modules/ai/productQuestion/add"); } @GetMapping("info/{id}") @RequiresPermissions("productQuestionList:info") public String artInfo(@PathVariable String id, Model model) { AiProductQuestion entity = aiProductQuestionService.getById(id); LambdaQueryWrapper query = Wrappers.lambdaQuery(AiProductQuestionItem.class); query.eq(AiProductQuestionItem::getProductQuestionId, id); query.orderByAsc(AiProductQuestionItem::getCreatedTime); List aiProductQuestionItems = aiProductQuestionItemService.getListByQuery(query); entity.setAiProductQuestionItems(aiProductQuestionItems); model.addAttribute("aiProductQuestion", entity); return FebsUtil.view("modules/ai/productQuestion/info"); } }