心灵空间

This commit is contained in:
wuchunlei
2025-02-24 17:31:57 +08:00
parent 6908c092a5
commit 91f4ccc2b1
5 changed files with 152 additions and 4 deletions

View File

@@ -131,6 +131,34 @@ public class ShopProductController {
return R.ok();
}
@RequestMapping("/bindProductAndPsycheLabel")
public R bindProductAndPsycheLabel(@RequestBody Map<String,String> map){
String[] productIds = map.get("productId").split(",");
Integer labelId = Integer.valueOf(map.get("labelId"));
shopProductService.bindProductAndPsycheLabel(productIds,labelId);
return R.ok();
}
@RequestMapping("/unbindProductAndPsycheLabel")
public R unbindProductAndPsycheLabel(@RequestBody Map<String,Integer> map){
shopProductService.unbindProductAndPsycheLabel(map.get("productId"),map.get("labelId"));
return R.ok();
}
@RequestMapping("/bindProductAndPsycheMarket")
public R bindProductAndPsycheMarket(@RequestBody Map<String,String> map){
String[] productIds = map.get("productId").split(",");
Integer marketId = Integer.valueOf(map.get("marketId"));
shopProductService.bindProductAndPsycheMarket(productIds,marketId);
return R.ok();
}
@RequestMapping("/unbindProductAndPsycheMarket")
public R unbindProductAndPsycheMarket(@RequestBody Map<String,Integer> map){
shopProductService.unbindProductAndPsycheMarket(map.get("productId"),map.get("marketId"));
return R.ok();
}
@RequestMapping("/bindProductAndMedicineLabel")
public R bindProductAndMedicineLabel(@RequestBody Map<String,String> map){
String[] productIds = map.get("productId").split(",");

View File

@@ -33,6 +33,14 @@ public interface ShopProductService extends IService<ShopProduct> {
void unbindProductAndSociologyMarket(int product,int marketId);
void bindProductAndPsycheLabel(String[] productIds,Integer labelId);
void unbindProductAndPsycheLabel(int productId,int labelId);
void bindProductAndPsycheMarket(String[] productId,int marketId);
void unbindProductAndPsycheMarket(int product,int marketId);
void bindProductAndMedicineLabel(String[] productId,int labelId);
void unbindProductAndMedicineLabel(int productId,int labelId);

View File

@@ -36,7 +36,7 @@ public class CourseMedicineServiceImpl extends ServiceImpl<CourseMedicineDao, Co
//查看绑定关系是否存在
Integer integer = toMedicalDao.selectCount(new LambdaQueryWrapper<CourseToMedicine>().eq(CourseToMedicine::getMedicalId, id));
if(integer>0){
return R.error(502,"删除失败,请先解绑课程与学标签的绑定关系");
return R.error(502,"删除失败,请先解绑课程与学标签的绑定关系");
}
this.removeById(id);
return R.ok();

View File

@@ -52,6 +52,14 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductDao, ShopProd
@Autowired
private ShopProductSociologyMarketDao shopProductSociologyMarketDao;
@Autowired
private ShopProductToPsycheLabelDao shopProductToPsycheLabelDao;
@Autowired
private ShopProductPsycheLabelDao shopProductPsycheLabelDao;
@Autowired
private ShopProductToPsycheMarketDao shopProductToPsycheMarketDao;
@Autowired
private ShopProductPsycheMarketDao shopProductPsycheMarketDao;
@Autowired
private ShopProductBookDao shopProductBookDao;
@Autowired
private BookDao bookDao;
@@ -149,6 +157,44 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductDao, ShopProd
shopProductToSociologyMarketDao.delete(new LambdaQueryWrapper<ShopProductToSociologyMarket>().eq(ShopProductToSociologyMarket::getProductId,product).eq(ShopProductToSociologyMarket::getSociologyMarketId,marketId));
}
@Override
public void bindProductAndPsycheLabel(String[] productIds, Integer labelId) {
for (String p : productIds){
Integer integer = shopProductToPsycheLabelDao.selectCount(new LambdaQueryWrapper<ShopProductToPsycheLabel>().eq(ShopProductToPsycheLabel::getProductId, Integer.valueOf(p)).eq(ShopProductToPsycheLabel::getPsycheLabelId, labelId));
if(integer>0){
continue;
}
ShopProductToPsycheLabel shopProductToPsycheLabel = new ShopProductToPsycheLabel();
shopProductToPsycheLabel.setProductId(Integer.valueOf(p));
shopProductToPsycheLabel.setPsycheLabelId(labelId);
shopProductToPsycheLabelDao.insert(shopProductToPsycheLabel);
}
}
@Override
public void unbindProductAndPsycheLabel(int productId, int labelId) {
shopProductToPsycheLabelDao.delete(new LambdaQueryWrapper<ShopProductToPsycheLabel>().eq(ShopProductToPsycheLabel::getProductId, productId).eq(ShopProductToPsycheLabel::getPsycheLabelId, labelId));
}
@Override
public void bindProductAndPsycheMarket(String[] productId, int marketId) {
for (String p:productId){
Integer integer = shopProductToPsycheMarketDao.selectCount(new LambdaQueryWrapper<ShopProductToPsycheMarket>().eq(ShopProductToPsycheMarket::getProductId, Integer.valueOf(p)).eq(ShopProductToPsycheMarket::getPsycheMarketId, marketId));
if(integer>0){
continue;
}
ShopProductToPsycheMarket shopProductToPsycheMarket = new ShopProductToPsycheMarket();
shopProductToPsycheMarket.setProductId(Integer.valueOf(p));
shopProductToPsycheMarket.setPsycheMarketId(marketId);
shopProductToPsycheMarketDao.insert(shopProductToPsycheMarket);
}
}
@Override
public void unbindProductAndPsycheMarket(int product, int marketId) {
shopProductToPsycheMarketDao.delete(new LambdaQueryWrapper<ShopProductToPsycheMarket>().eq(ShopProductToPsycheMarket::getProductId,product).eq(ShopProductToPsycheMarket::getPsycheMarketId,marketId));
}
@Override
public void bindProductAndMedicineLabel(String[] productId, int labelId) {
for (String p : productId){
@@ -405,7 +451,34 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductDao, ShopProd
return (label1.getSort() == null ? 0 : label1.getSort()) - (label2.getSort() == null ? 0 : label2.getSort());
}).collect(Collectors.toList());
flag.put("medicineMarket",medicineMarket);
//心理学标签
List<Integer> psycheLabelIds = shopProductToPsycheLabelDao.selectList(new LambdaQueryWrapper<ShopProductToPsycheLabel>().eq(ShopProductToPsycheLabel::getProductId, productId)).stream().map(ShopProductToPsycheLabel::getPsycheLabelId).collect(Collectors.toList());
List<ShopProductPsycheLabel> shopProductPsycheLabels = shopProductPsycheLabelDao.selectList(null);
List<ShopProductPsycheLabel> psycheLabel = shopProductPsycheLabels.stream().filter(m -> m.getPid() == 0)
.map((m) -> {
if (m.getIsLast() == 1) {
m.setSelect(psycheLabelIds.contains(m.getId()));
}
m.setChildren(getPsycheLabelChildrens(m, shopProductPsycheLabels, psycheLabelIds));
return m;
}).sorted((label1, label2) -> {
return (label1.getSort() == null ? 0 : label1.getSort()) - (label2.getSort() == null ? 0 : label2.getSort());
}).collect(Collectors.toList());
flag.put("psycheLabel",psycheLabel);
//心理学运营标签
List<Integer> psycheMarketIds = shopProductToPsycheMarketDao.selectList(new LambdaQueryWrapper<ShopProductToPsycheMarket>().eq(ShopProductToPsycheMarket::getProductId, productId)).stream().map(ShopProductToPsycheMarket::getPsycheMarketId).collect(Collectors.toList());
List<ShopProductPsycheMarket> shopProductPsycheMarkets = shopProductPsycheMarketDao.selectList(null);
List<ShopProductPsycheMarket> psycheMarket = shopProductPsycheMarkets.stream().filter(m -> m.getPid() == 0)
.map((m) -> {
if (m.getIsLast() == 1) {
m.setSelect(psycheMarketIds.contains(m.getId()));
}
m.setChildren(getPsycheMarketChildrens(m, shopProductPsycheMarkets, psycheMarketIds));
return m;
}).sorted((label1, label2) -> {
return (label1.getSort() == null ? 0 : label1.getSort()) - (label2.getSort() == null ? 0 : label2.getSort());
}).collect(Collectors.toList());
flag.put("psycheMarket",psycheMarket);
return flag;
}
@@ -503,4 +576,35 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductDao, ShopProd
}).collect(Collectors.toList());
return children;
}
private List<ShopProductPsycheLabel> getPsycheLabelChildrens(ShopProductPsycheLabel root,List<ShopProductPsycheLabel> all,List<Integer> ids){
List<ShopProductPsycheLabel> children = all.stream().filter((m) -> {
return m.getPid().equals(root.getId());
})
.map((m) -> {
if (m.getIsLast() == 1) {
m.setSelect(ids.contains(m.getId()));
}
m.setChildren(getPsycheLabelChildrens(m, all, ids));
return m;
}).sorted((label1, label2) -> {
return (label1.getSort() == null ? 0 : label1.getSort()) - (label2.getSort() == null ? 0 : label2.getSort());
}).collect(Collectors.toList());
return children;
}
private List<ShopProductPsycheMarket> getPsycheMarketChildrens(ShopProductPsycheMarket root,List<ShopProductPsycheMarket> all,List<Integer> ids){
List<ShopProductPsycheMarket> children = all.stream().filter((m) -> {
return m.getPid().equals(root.getId());
})
.map((m) -> {
if (m.getIsLast() == 1) {
m.setSelect(ids.contains(m.getId()));
}
m.setChildren(getPsycheMarketChildrens(m, all, ids));
return m;
}).sorted((label1, label2) -> {
return (label1.getSort() == null ? 0 : label1.getSort()) - (label2.getSort() == null ? 0 : label2.getSort());
}).collect(Collectors.toList());
return children;
}
}

View File

@@ -39,8 +39,10 @@ public class PsycheCourseController {
public R getUserCourseBuy(){
MPJLambdaWrapper<CourseEntity> wrapper = new MPJLambdaWrapper<>();
wrapper.leftJoin(CourseCatalogueEntity.class,CourseCatalogueEntity::getCourseId,CourseEntity::getId);
wrapper.leftJoin(CourseToPsyche.class,CourseToPsyche::getCourseId,CourseEntity::getId);
wrapper.leftJoin(UserCourseBuyEntity.class,UserCourseBuyEntity::getCourseId,CourseEntity::getId);
wrapper.rightJoin(CourseToPsyche.class,CourseToPsyche::getCourseId,CourseEntity::getId);
if (!userVipService.isPsycheVip()){
wrapper.leftJoin(UserCourseBuyEntity.class,UserCourseBuyEntity::getCourseId,CourseEntity::getId);
}
wrapper.eq(UserCourseBuyEntity::getUserId,ShiroUtils.getUId());
wrapper.selectAll(CourseEntity.class);
wrapper.selectAs(CourseCatalogueEntity::getId,"catalogueId");
@@ -48,6 +50,12 @@ public class PsycheCourseController {
wrapper.orderByAsc(CourseEntity::getSort);
wrapper.orderByAsc(CourseCatalogueEntity::getSort);
List<Map<String,Object>> courseList = courseService.listMaps(wrapper);
for (Map<String,Object> map:courseList){
int i = userCourseStudyingService.count(new LambdaQueryWrapper<UserCourseStudying>()
.eq(UserCourseStudying::getCourseId,map.get("id"))
.eq(UserCourseStudying::getUserId,ShiroUtils.getUId()));
map.put("isStudying",i>0?1:0);
}
return R.ok().put("courseList",courseList);
}