package com.dsh.guns.modular.system.controller.code; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.activity.HuiminCardClient; import com.dsh.course.feignClient.activity.model.THuiminCard; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.page.PageInfoBT; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.service.ITSiteService; import com.dsh.guns.modular.system.service.TOperatorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; /** * 惠民卡控制器 * * @author fengshuonan * @Date 2025-03-29 17:41:25 */ @Controller @RequestMapping("/tHuiminCard") public class THuiminCardController extends BaseController { private String PREFIX = "/system/tHuiminCard/"; @Autowired private HuiminCardClient huiminCardClient; @Autowired private IStoreService storeService; @Autowired private TOperatorService operatorService; @Autowired private ITSiteService tSiteService; /** * 跳转到惠民卡首页 */ @RequestMapping("") public String index() { return PREFIX + "tHuiminCard.html"; } /** * 跳转到添加惠民卡 */ @RequestMapping("/tHuiminCard_add") public String tHuiminCardAdd() { return PREFIX + "tHuiminCard_add.html"; } /** * 跳转到详情页面 */ @RequestMapping("/tHuiminCard_detail/{id}") public String tHuiminCardDetail(@PathVariable("id") Integer id) { return PREFIX + "tHuiminCard_detail.html"; } /** * 获取惠民卡详情 */ @RequestMapping("/getDetail") @ResponseBody public THuiminCard getDetail(Integer id) { return huiminCardClient.getById(id); } /** * 获取惠民卡列表 * @return */ @RequestMapping(value = "/list") @ResponseBody public PageInfoBT list(Page page,THuiminCard tHuiminCard) { return super.packForBT(huiminCardClient.queryPage(page, tHuiminCard)); } /** * 获取门店列表 */ @RequestMapping(value = "/storeList") @ResponseBody public Object storeList(Page page, HuiminCardStoreQuery query) { String storeIds = query.getStoreIds(); String[] ids = {}; if (!StringUtils.isEmpty(storeIds)){ ids = storeIds.split(","); } Page storePage = storeService.page(page, new LambdaQueryWrapper() .in(ids.length > 0, TStore::getId, Arrays.asList(ids)) .eq(!StringUtils.isEmpty(query.getProvinceCode()), TStore::getProvinceCode, query.getProvinceCode()) .eq(!StringUtils.isEmpty(query.getCityCode()), TStore::getCityCode, query.getCityCode()) .eq(query.getOperatorId() != null, TStore::getOperatorId, query.getOperatorId()) .like(!StringUtils.isEmpty(query.getStoreName()), TStore::getName, query.getStoreName()) .orderByDesc(TStore::getCreateTime)); return storePage.convert(tStore -> { HuiminCardStoreVO huiminCardStoreVO = new HuiminCardStoreVO(); huiminCardStoreVO.setStoreId(tStore.getId()); huiminCardStoreVO.setProvince(tStore.getProvince()); huiminCardStoreVO.setStoreName(tStore.getName()); huiminCardStoreVO.setIds(tStore.getIds()); TOperator operator = operatorService.getById(tStore.getOperatorId()); if (operator != null){ huiminCardStoreVO.setOperatorName(operator.getName()); } return huiminCardStoreVO; }); } /** * 获取场地列表 */ @RequestMapping(value = "/siteList") @ResponseBody public Object siteList(Page page, HuiminCardStoreQuery query) { String storeName = query.getStoreName(); List storeIds = new ArrayList<>(); if (!StringUtils.isEmpty(storeName)){ List storeIdsByName = storeService.listObjs(new LambdaQueryWrapper() .select(TStore::getId) .eq(TStore::getName, storeName), String::valueOf); if (storeIdsByName != null && !storeIdsByName.isEmpty()){ storeIds.addAll(storeIdsByName); }else { return null; } } Integer operatorId = query.getOperatorId(); if (operatorId != null){ List storeIdsByOperatorId = storeService.listObjs(new LambdaQueryWrapper() .select(TStore::getId) .eq(TStore::getOperatorId, operatorId), String::valueOf); if (storeIdsByOperatorId != null && !storeIdsByOperatorId.isEmpty()){ storeIds.addAll(storeIdsByOperatorId); }else { return null; } } Page sitePage = tSiteService.page(page, new LambdaQueryWrapper() .eq(!StringUtils.isEmpty(query.getProvinceCode()), TSite::getProvinceCode, query.getProvinceCode()) .eq(!StringUtils.isEmpty(query.getCityCode()), TSite::getCityCode, query.getCityCode()) .in(!storeIds.isEmpty(), TSite::getStoreId, storeIds)); return sitePage.convert(tSite -> { HuiminCardSiteVO huiminCardSiteVO = new HuiminCardSiteVO(); huiminCardSiteVO.setSiteId(tSite.getId()); huiminCardSiteVO.setProvince(tSite.getProvince()); huiminCardSiteVO.setSiteName(tSite.getName()); huiminCardSiteVO.setIds(tSite.getIds()); TStore store = storeService.getById(tSite.getStoreId()); if (store != null){ huiminCardSiteVO.setStoreName(store.getName()); } TOperator operator = operatorService.getById(tSite.getOperatorId()); if (operator != null){ huiminCardSiteVO.setOperatorName(operator.getName()); } return huiminCardSiteVO; }); } @PostMapping(value = "/add") @ResponseBody public Object add(THuiminCard tHuiminCard) { int a = 0; if (tHuiminCard.getUseScope()==1){ tHuiminCard.setStoreIds(tHuiminCard.getUseIds()); }else{ StringBuilder storeIds = new StringBuilder(); for (String s : tHuiminCard.getUseIds().split(",")) { TSite site = tSiteService.getById(s); if (site!=null){ storeIds.append(site.getStoreId()).append(","); } } StringBuilder stringBuilder = storeIds.deleteCharAt(storeIds.length() - 1); tHuiminCard.setStoreIds(stringBuilder.toString()); } huiminCardClient.save(tHuiminCard); return SUCCESS_TIP; } @RequestMapping(value = "/update") @ResponseBody public Object update(THuiminCard tHuiminCard) { if (tHuiminCard.getUseScope()==1){ tHuiminCard.setStoreIds(tHuiminCard.getUseIds()); }else{ StringBuilder storeIds = new StringBuilder(); for (String s : tHuiminCard.getUseIds().split(",")) { TSite site = tSiteService.getById(s); if (site!=null){ storeIds.append(site.getStoreId()).append(","); } } StringBuilder stringBuilder = storeIds.deleteCharAt(storeIds.length() - 1); tHuiminCard.setStoreIds(stringBuilder.toString()); } huiminCardClient.updateById(tHuiminCard); return SUCCESS_TIP; } @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam String ids) { if (StringUtils.isEmpty(ids)) { throw new IllegalArgumentException("参数ids不能为空"); } String[] idStrings = ids.split(","); List idList = new ArrayList<>(idStrings.length); for (String idStr : idStrings) { idStr = idStr.trim(); if (!idStr.isEmpty()) { idList.add(Integer.parseInt(idStr)); } } huiminCardClient.deleteBatchIds(idList); return SUCCESS_TIP; } /** * 上下架状态修改 */ @RequestMapping(value = "/changeState") @ResponseBody public Object changeState(Integer id, Integer status) { String s = huiminCardClient.changeState(id, status); System.out.println(s); return SUCCESS_TIP; } /* *//** * 跳转到修改惠民卡 *//* @RequestMapping("/tHuiminCard_update/{tHuiminCardId}") public String tHuiminCardUpdate(@PathVariable Integer tHuiminCardId, Model model) { THuiminCard tHuiminCard = huiminCardClient.selectById(tHuiminCardId); model.addAttribute("item",tHuiminCard); LogObjectHolder.me().set(tHuiminCard); return PREFIX + "tHuiminCard_edit.html"; } *//** * 获取惠民卡列表 *//* @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { return huiminCardClient.selectList(null); } *//** * 修改惠民卡 *//* @RequestMapping(value = "/update") @ResponseBody public Object update(THuiminCard tHuiminCard) { huiminCardClient.updateById(tHuiminCard); return SUCCESS_TIP; } *//** * 惠民卡详情 *//* @RequestMapping(value = "/detail/{tHuiminCardId}") @ResponseBody public Object detail(@PathVariable("tHuiminCardId") Integer tHuiminCardId) { return huiminCardClient.selectById(tHuiminCardId); }*/ }