Commit 0e5e1235 authored by muhong's avatar muhong

Merge branch 'master' into applet-dev

parents d63790c3 6fd7d644
...@@ -4,18 +4,26 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,18 +4,26 @@ import com.alibaba.fastjson.JSONObject;
import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc; import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc;
import com.wwdz.ch.admin.service.AdminUserService; import com.wwdz.ch.admin.service.AdminUserService;
import com.wwdz.ch.admin.util.AuthSupport; import com.wwdz.ch.admin.util.AuthSupport;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.ResponseUtil; import com.wwdz.ch.core.util.ResponseUtil;
import com.wwdz.ch.core.validator.Order; import com.wwdz.ch.core.validator.Order;
import com.wwdz.ch.core.validator.Sort; import com.wwdz.ch.core.validator.Sort;
import com.wwdz.ch.db.domain.Admin;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import org.apache.commons.collections.map.AbstractMapDecorator;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import java.util.ArrayList;
import org.springframework.web.bind.annotation.RestController; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("/admin/user") @RequestMapping("/admin/user")
...@@ -44,5 +52,26 @@ public class AdminUserController { ...@@ -44,5 +52,26 @@ public class AdminUserController {
} }
return ResponseUtil.fail(); return ResponseUtil.fail();
} }
@RequiresPermissions("admin:user:findList")
@RequiresPermissionsDesc(menu = { "邀请码管理", "下拉框会员列表" }, button = "查询")
@PostMapping("/findList")
public Result findList(@RequestBody UserSearchRequestDto dto) {
try {
List<Map<String, Object>> mapList = new ArrayList<>();
List<User> list = adminUserService.findList(dto);
list.forEach(user -> {
Map<String, Object> map = new HashMap<>();
map.put("id", user.getId());
map.put("name", user.getNickname());
mapList.add(map);
});
return Result.success(mapList);
} catch (Exception e) {
logger.error("邀请码管理->下拉框会员列表->查询 error:{]",e);
}
return Result.failed();
}
} }
...@@ -38,7 +38,7 @@ public class InvitationCodeController { ...@@ -38,7 +38,7 @@ public class InvitationCodeController {
public Result create(@RequestBody InvitationCodeRequestDto invitationCodeRequestDto) { public Result create(@RequestBody InvitationCodeRequestDto invitationCodeRequestDto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 邀请码管理->生成邀请码->新增,请求参数:parma:{}", invitationCodeRequestDto); logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 邀请码管理->生成邀请码->新增,请求参数:parma:{}", invitationCodeRequestDto);
Validator validator = new Validator(FormHandler.ofEntity(invitationCodeRequestDto)); Validator validator = new Validator(FormHandler.ofEntity(invitationCodeRequestDto));
validator.set("effectiveStartTime", "有效期起始时间").must().string() validator.set("effectiveStartTime", "有效期起始时间").sometimes().string()
.set("effectiveEndTime", "有效期结束时间").must().string() .set("effectiveEndTime", "有效期结束时间").must().string()
.set("enabledNum", "可使用的人数").must().integer() .set("enabledNum", "可使用的人数").must().integer()
.set("applicant", "申请人").must().number() .set("applicant", "申请人").must().number()
......
...@@ -33,6 +33,11 @@ public class InvitationCodeVo implements Entity { ...@@ -33,6 +33,11 @@ public class InvitationCodeVo implements Entity {
*/ */
private Integer enabledNum; private Integer enabledNum;
/**
* 使用人数
*/
private Integer usedNum;
/** /**
* 申请人 * 申请人
*/ */
...@@ -75,4 +80,6 @@ public class InvitationCodeVo implements Entity { ...@@ -75,4 +80,6 @@ public class InvitationCodeVo implements Entity {
*/ */
private String remark; private String remark;
} }
...@@ -5,6 +5,7 @@ import com.wwdz.ch.admin.controller.AdminUserController; ...@@ -5,6 +5,7 @@ import com.wwdz.ch.admin.controller.AdminUserController;
import com.wwdz.ch.admin.service.AdminUserService; import com.wwdz.ch.admin.service.AdminUserService;
import com.wwdz.ch.db.dao.dts.DtsUserDao; import com.wwdz.ch.db.dao.dts.DtsUserDao;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -31,4 +32,10 @@ public class AdminUserServiceImpl implements AdminUserService { ...@@ -31,4 +32,10 @@ public class AdminUserServiceImpl implements AdminUserService {
data.put("items", userList); data.put("items", userList);
return data; return data;
} }
@Override
public List<User> findList(UserSearchRequestDto dto) {
return dtsUserDao.querySelective(dto.getNickname(), null, 1, 1000, "update_time", "desc");
}
} }
...@@ -50,7 +50,7 @@ public class CategoryServiceImpl implements CategoryService { ...@@ -50,7 +50,7 @@ public class CategoryServiceImpl implements CategoryService {
@Override @Override
public List<CategoryVo> querySelective(String id, String name, Integer page, Integer size, String sort, String order) { public List<CategoryVo> querySelective(String id, String name, Integer page, Integer size, String sort, String order) {
List<Category> collectList = categoryDao.querySelective(id, name, page, size, sort, order); List<Category> collectList = categoryDao.querySelective(id, name, page, size, sort, order);
List<CategoryVo> data = collectList.parallelStream().map(a -> new CategoryVo(a)).collect(Collectors.toList()); List<CategoryVo> data = collectList.stream().map(a -> new CategoryVo(a)).collect(Collectors.toList());
return data; return data;
} }
......
...@@ -5,11 +5,13 @@ import com.wwdz.ch.admin.entity.vo.InvitationCodeVo; ...@@ -5,11 +5,13 @@ import com.wwdz.ch.admin.entity.vo.InvitationCodeVo;
import com.wwdz.ch.admin.entity.vo.InviteRecordVo; import com.wwdz.ch.admin.entity.vo.InviteRecordVo;
import com.wwdz.ch.admin.service.InvitationCodeService; import com.wwdz.ch.admin.service.InvitationCodeService;
import com.wwdz.ch.admin.service.InviteRecordService; import com.wwdz.ch.admin.service.InviteRecordService;
import com.wwdz.ch.admin.util.AuthSupport;
import com.wwdz.ch.core.consts.InvitationCodeStateEnum; import com.wwdz.ch.core.consts.InvitationCodeStateEnum;
import com.wwdz.ch.core.type.PageSearchResult; import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil; import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.CharUtil; import com.wwdz.ch.core.util.CharUtil;
import com.wwdz.ch.core.util.DateTimeUtil;
import com.wwdz.ch.db.dao.InvitationCodeDao; import com.wwdz.ch.db.dao.InvitationCodeDao;
import com.wwdz.ch.db.domain.InvitationCode; import com.wwdz.ch.db.domain.InvitationCode;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto; import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
...@@ -21,12 +23,18 @@ import org.slf4j.LoggerFactory; ...@@ -21,12 +23,18 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@Service @Service
public class InvitationCodeServiceImpl implements InvitationCodeService { public class InvitationCodeServiceImpl implements InvitationCodeService {
private static final Logger logger = LoggerFactory.getLogger(InvitationCodeServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(InvitationCodeServiceImpl.class);
@Autowired @Autowired
InvitationCodeDao invitationCodeDao; InvitationCodeDao invitationCodeDao;
...@@ -42,10 +50,13 @@ public class InvitationCodeServiceImpl implements InvitationCodeService { ...@@ -42,10 +50,13 @@ public class InvitationCodeServiceImpl implements InvitationCodeService {
Date now = new Date(); Date now = new Date();
InvitationCode invitationCode = new InvitationCode(); InvitationCode invitationCode = new InvitationCode();
EntityMapper.copyAttribute(invitationCodeRequestDto, invitationCode); EntityMapper.copyAttribute(invitationCodeRequestDto, invitationCode);
invitationCode.setEffectiveStartTime(DateUtils.parseString(invitationCodeRequestDto.getEffectiveStartTime())); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
invitationCode.setEffectiveEndTime(DateUtils.parseString(invitationCodeRequestDto.getEffectiveEndTime())); String currentDate = sdf.format(now);
invitationCode.setEffectiveStartTime(DateTimeUtil.getDateWithMinTime(currentDate));
invitationCode.setEffectiveEndTime(DateTimeUtil.getDateWithMaxTime(invitationCodeRequestDto.getEffectiveEndTime()));
invitationCode.setCreateTime(now); invitationCode.setCreateTime(now);
invitationCode.setUpdateTime(now); invitationCode.setUpdateTime(now);
invitationCode.setCreator(AuthSupport.adminId());
String code = CharUtil.getInvitationCode(6); String code = CharUtil.getInvitationCode(6);
if (invitationCodeDao.isExisted(code)) { if (invitationCodeDao.isExisted(code)) {
logger.info("邀请码 : {} 已经存在,", code); logger.info("邀请码 : {} 已经存在,", code);
...@@ -95,7 +106,27 @@ public class InvitationCodeServiceImpl implements InvitationCodeService { ...@@ -95,7 +106,27 @@ public class InvitationCodeServiceImpl implements InvitationCodeService {
invitationCodeList.forEach(invitationCode -> { invitationCodeList.forEach(invitationCode -> {
InvitationCodeVo invitationCodeVo = new InvitationCodeVo(); InvitationCodeVo invitationCodeVo = new InvitationCodeVo();
EntityMapper.copyAttribute(invitationCode, invitationCodeVo); EntityMapper.copyAttribute(invitationCode, invitationCodeVo);
Date effectEndTime = invitationCode.getEffectiveEndTime();
Date now = new Date();
int comparison = effectEndTime.compareTo(now);
if (comparison <= 0) {
//设置邀请码状态为已过期
if (invitationCode.getState() == InvitationCodeStateEnum.NOT_USED.getCode() || invitationCode.getState() == InvitationCodeStateEnum.PART_USED.getCode()) {
invitationCodeDao.updateState(invitationCode.getCode(), InvitationCodeStateEnum.EXPIRED.getCode());
invitationCode.setState(InvitationCodeStateEnum.EXPIRED.getCode());
invitationCodeVo.setState(InvitationCodeStateEnum.EXPIRED.getCode());
}
}
invitationCodeVo.setStateName(InvitationCodeStateEnum.getNameByCode(invitationCode.getState())); invitationCodeVo.setStateName(InvitationCodeStateEnum.getNameByCode(invitationCode.getState()));
InviteRecordRequestDto inviteRecordRequestDto = new InviteRecordRequestDto();
inviteRecordRequestDto.setInvitationCode(invitationCode.getCode());
List<InviteRecordVo> inviteRecordVoList = inviteRecordService.findList(inviteRecordRequestDto);
if (CollectionUtils.isEmpty(inviteRecordVoList)) {
invitationCodeVo.setUsedNum(0);
} else {
invitationCodeVo.setUsedNum(inviteRecordVoList.size());
}
invitationCodeVoList.add(invitationCodeVo); invitationCodeVoList.add(invitationCodeVo);
}); });
return Result.success(PageSearchResult.of(pageInfo, invitationCodeVoList)); return Result.success(PageSearchResult.of(pageInfo, invitationCodeVoList));
...@@ -120,6 +151,7 @@ public class InvitationCodeServiceImpl implements InvitationCodeService { ...@@ -120,6 +151,7 @@ public class InvitationCodeServiceImpl implements InvitationCodeService {
invitationCodeVo.setCreatorName(cacheUtil.getSystemUserNameById(invitationCodeVo.getCreator())); invitationCodeVo.setCreatorName(cacheUtil.getSystemUserNameById(invitationCodeVo.getCreator()));
invitationCodeVo.setStateName(InvitationCodeStateEnum.getNameByCode(invitationCode.getState())); invitationCodeVo.setStateName(InvitationCodeStateEnum.getNameByCode(invitationCode.getState()));
InviteRecordRequestDto inviteRecordRequestDto = new InviteRecordRequestDto(); InviteRecordRequestDto inviteRecordRequestDto = new InviteRecordRequestDto();
inviteRecordRequestDto.setInvitationCode(invitationCodeRequestDto.getCode());
List<InviteRecordVo> inviteRecordVoList = inviteRecordService.findList(inviteRecordRequestDto); List<InviteRecordVo> inviteRecordVoList = inviteRecordService.findList(inviteRecordRequestDto);
map.put("invitationCodeVo", invitationCodeVo); map.put("invitationCodeVo", invitationCodeVo);
map.put("record", inviteRecordVoList); map.put("record", inviteRecordVoList);
......
...@@ -150,7 +150,7 @@ public class ItemServiceImpl implements ItemService { ...@@ -150,7 +150,7 @@ public class ItemServiceImpl implements ItemService {
paramMap.put("topImage", url); paramMap.put("topImage", url);
item.setTopImage(url); item.setTopImage(url);
} }
item.setState(ItemStateEnum.FINISH.getCode()); item.setState(coinRequestDto.getState());
itemDao.setCoin(item); itemDao.setCoin(item);
//记录钱币设置的操作日志 //记录钱币设置的操作日志
......
package com.wwdz.ch.admin.service; package com.wwdz.ch.admin.service;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import java.util.List; import java.util.List;
public interface AdminUserService { public interface AdminUserService {
Object findList(String username, String mobile, Integer page, Integer size, String sort, String order); Object findList(String username, String mobile, Integer page, Integer size, String sort, String order);
List<User> findList(UserSearchRequestDto dto);
} }
...@@ -108,7 +108,8 @@ public class ElasticSearchConfig { ...@@ -108,7 +108,8 @@ public class ElasticSearchConfig {
HttpClientConfigCallback callback = httpAsyncClientBuilder -> httpAsyncClientBuilder HttpClientConfigCallback callback = httpAsyncClientBuilder -> httpAsyncClientBuilder
.setSSLContext(buildSSLContext()) .setSSLContext(buildSSLContext())
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.setDefaultCredentialsProvider(credentialsProvider); .setDefaultCredentialsProvider(credentialsProvider)
.setKeepAliveStrategy((response, context) -> 180 * 1000);
// 用builder创建RestClient对象 // 用builder创建RestClient对象
RestClient client = RestClient RestClient client = RestClient
......
package com.wwdz.ch.core.util; package com.wwdz.ch.core.util;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
...@@ -42,4 +46,33 @@ public class DateTimeUtil { ...@@ -42,4 +46,33 @@ public class DateTimeUtil {
return null; return null;
} }
} }
public static Date getDateWithMinTime(String dateString) {
try {
LocalDate localDate = LocalDate.parse(dateString);
LocalDateTime startOfDay = localDate.atTime(LocalTime.MIN);
Date startDate = Date.from(startOfDay.atZone(java.time.ZoneId.systemDefault()).toInstant());
return startDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static Date getDateWithMaxTime(String dateString) {
try {
LocalDate localDate = LocalDate.parse(dateString);
LocalDateTime endOfDay = localDate.atTime(LocalTime.MAX);
Date endDate = Date.from(endOfDay.atZone(java.time.ZoneId.systemDefault()).toInstant());
return endDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
} }
...@@ -19,6 +19,8 @@ public interface CategoryDao { ...@@ -19,6 +19,8 @@ public interface CategoryDao {
List<Category> queryByPid(Integer pid); List<Category> queryByPid(Integer pid);
List<Category> queryByPids(List<Integer> pidList);
Category findById(Integer id); Category findById(Integer id);
/** /**
......
...@@ -3,6 +3,7 @@ package com.wwdz.ch.db.dao.dts; ...@@ -3,6 +3,7 @@ package com.wwdz.ch.db.dao.dts;
import com.wwdz.ch.db.bean.DayStatis; import com.wwdz.ch.db.bean.DayStatis;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.UserVo; import com.wwdz.ch.db.domain.UserVo;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import java.util.List; import java.util.List;
......
...@@ -291,7 +291,7 @@ public class InvitationCodeExample { ...@@ -291,7 +291,7 @@ public class InvitationCodeExample {
} }
public Criteria andCodeEqualTo(String value) { public Criteria andCodeEqualTo(String value) {
addCriterion("code =", value, "code"); addCriterion("binary code =", value, "code");
return (Criteria) this; return (Criteria) this;
} }
...@@ -308,7 +308,7 @@ public class InvitationCodeExample { ...@@ -308,7 +308,7 @@ public class InvitationCodeExample {
} }
public Criteria andCodeNotEqualTo(String value) { public Criteria andCodeNotEqualTo(String value) {
addCriterion("code <>", value, "code"); addCriterion("binary code <>", value, "code");
return (Criteria) this; return (Criteria) this;
} }
...@@ -403,12 +403,12 @@ public class InvitationCodeExample { ...@@ -403,12 +403,12 @@ public class InvitationCodeExample {
} }
public Criteria andCodeIn(List<String> values) { public Criteria andCodeIn(List<String> values) {
addCriterion("code in", values, "code"); addCriterion("binary code in", values, "code");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCodeNotIn(List<String> values) { public Criteria andCodeNotIn(List<String> values) {
addCriterion("code not in", values, "code"); addCriterion("binary code not in", values, "code");
return (Criteria) this; return (Criteria) this;
} }
......
...@@ -829,7 +829,7 @@ public class InviteRecordExample { ...@@ -829,7 +829,7 @@ public class InviteRecordExample {
} }
public Criteria andInvitationCodeEqualTo(String value) { public Criteria andInvitationCodeEqualTo(String value) {
addCriterion("invitation_code =", value, "invitationCode"); addCriterion("binary invitation_code =", value, "invitationCode");
return (Criteria) this; return (Criteria) this;
} }
...@@ -846,7 +846,7 @@ public class InviteRecordExample { ...@@ -846,7 +846,7 @@ public class InviteRecordExample {
} }
public Criteria andInvitationCodeNotEqualTo(String value) { public Criteria andInvitationCodeNotEqualTo(String value) {
addCriterion("invitation_code <>", value, "invitationCode"); addCriterion("binary invitation_code <>", value, "invitationCode");
return (Criteria) this; return (Criteria) this;
} }
...@@ -941,12 +941,12 @@ public class InviteRecordExample { ...@@ -941,12 +941,12 @@ public class InviteRecordExample {
} }
public Criteria andInvitationCodeIn(List<String> values) { public Criteria andInvitationCodeIn(List<String> values) {
addCriterion("invitation_code in", values, "invitationCode"); addCriterion("binary invitation_code in", values, "invitationCode");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andInvitationCodeNotIn(List<String> values) { public Criteria andInvitationCodeNotIn(List<String> values) {
addCriterion("invitation_code not in", values, "invitationCode"); addCriterion("binary invitation_code not in", values, "invitationCode");
return (Criteria) this; return (Criteria) this;
} }
......
...@@ -98,4 +98,9 @@ public class CoinRequestDto extends BaseRequestDto implements Entity { ...@@ -98,4 +98,9 @@ public class CoinRequestDto extends BaseRequestDto implements Entity {
private Double price; private Double price;
/**
* 状态
*/
private Integer state;
} }
...@@ -42,8 +42,6 @@ public class ItemEsDao { ...@@ -42,8 +42,6 @@ public class ItemEsDao {
//来源中国,排除2,7,尚未去除水印的 //来源中国,排除2,7,尚未去除水印的
private final static List<String> SOURCE_LIST = Arrays.asList("1", "3", "8", "11", "1000"); private final static List<String> SOURCE_LIST = Arrays.asList("1", "3", "8", "11", "1000");
@Resource(name="clientByPasswd") @Resource(name="clientByPasswd")
ElasticsearchClient elasticsearchClient; ElasticsearchClient elasticsearchClient;
...@@ -151,7 +149,8 @@ public class ItemEsDao { ...@@ -151,7 +149,8 @@ public class ItemEsDao {
List<BulkOperation> opts = new ArrayList<>(); List<BulkOperation> opts = new ArrayList<>();
for (Item item : itemList) { for (Item item : itemList) {
CreateOperation<Item> optObj = new CreateOperation.Builder<Item>() CreateOperation<Item> optObj = new CreateOperation.Builder<Item>()
.index(INDEX) .index("quanku_prod_temp")
// .index(INDEX)
.id(String.valueOf(item.getId())) .id(String.valueOf(item.getId()))
.document(item) .document(item)
.build(); .build();
......
...@@ -55,7 +55,7 @@ public class BidRecordDaoImpl implements BidRecordDao { ...@@ -55,7 +55,7 @@ public class BidRecordDaoImpl implements BidRecordDao {
criteria.andCidEqualTo(dto.getCid()).andIsDeletedEqualTo(0); criteria.andCidEqualTo(dto.getCid()).andIsDeletedEqualTo(0);
JdbcHelper.ifPresent(dto.getStartBidTime(), criteria::andBidTimeGreaterThanOrEqualTo); JdbcHelper.ifPresent(dto.getStartBidTime(), criteria::andBidTimeGreaterThanOrEqualTo);
JdbcHelper.ifPresent(dto.getEndBidTime(), criteria::andBidTimeLessThanOrEqualTo); JdbcHelper.ifPresent(dto.getEndBidTime(), criteria::andBidTimeLessThanOrEqualTo);
example.setOrderByClause("update_time asc"); example.setOrderByClause("bid_time asc");
return bidRecordMapper.selectByExample(example); return bidRecordMapper.selectByExample(example);
} }
......
...@@ -47,15 +47,26 @@ public class CategoryDaoImpl implements CategoryDao { ...@@ -47,15 +47,26 @@ public class CategoryDaoImpl implements CategoryDao {
criteria.andNameLike("%" + dto.getName() + "%"); criteria.andNameLike("%" + dto.getName() + "%");
} }
criteria.andIsDeletedEqualTo(false); criteria.andIsDeletedEqualTo(false);
return categoryMapper.selectByExample(example); return categoryMapper.selectByExampleWithBLOBs(example);
} }
public List<Category> queryByPid(Integer pid) { public List<Category> queryByPid(Integer pid) {
CategoryExample example = new CategoryExample(); CategoryExample example = new CategoryExample();
example.or().andPidEqualTo(pid).andIsDeletedEqualTo(false); example.or().andPidEqualTo(pid).andIsDeletedEqualTo(false);
return categoryMapper.selectByExampleWithBLOBs(example);
}
@Override
public List<Category> queryByPids(List<Integer> pidList) {
CategoryExample example = new CategoryExample();
CategoryExample.Criteria criteria = example.createCriteria();
criteria.andPidIn(pidList).andIsDeletedEqualTo(false);
return categoryMapper.selectByExample(example); return categoryMapper.selectByExample(example);
} }
public Category findById(Integer id) { public Category findById(Integer id) {
return categoryMapper.selectByPrimaryKey(id); return categoryMapper.selectByPrimaryKey(id);
} }
...@@ -63,7 +74,7 @@ public class CategoryDaoImpl implements CategoryDao { ...@@ -63,7 +74,7 @@ public class CategoryDaoImpl implements CategoryDao {
public Category findByName(String name) { public Category findByName(String name) {
CategoryExample example = new CategoryExample(); CategoryExample example = new CategoryExample();
example.or().andNameEqualTo(name).andIsDeletedEqualTo(false); example.or().andNameEqualTo(name).andIsDeletedEqualTo(false);
return categoryMapper.selectOneByExample(example); return categoryMapper.selectOneByExampleWithBLOBs(example);
} }
@Override @Override
......
...@@ -66,6 +66,7 @@ public class InvitationCodeDaoImpl implements InvitationCodeDao { ...@@ -66,6 +66,7 @@ public class InvitationCodeDaoImpl implements InvitationCodeDao {
public PageInfo<InvitationCode> findByPage(InvitationCodeRequestDto dto) { public PageInfo<InvitationCode> findByPage(InvitationCodeRequestDto dto) {
InvitationCodeExample invitationCodeExample = new InvitationCodeExample(); InvitationCodeExample invitationCodeExample = new InvitationCodeExample();
InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria(); InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria();
invitationCodeExample.setOrderByClause(" update_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit()); PageHelper.startPage(dto.getPage(), dto.getLimit());
List<InvitationCode> list = invitationCodeMapper.selectByExample(invitationCodeExample); List<InvitationCode> list = invitationCodeMapper.selectByExample(invitationCodeExample);
return new PageInfo<>(list); return new PageInfo<>(list);
......
...@@ -6,9 +6,11 @@ import com.wwdz.ch.db.dao.dts.DtsUserDao; ...@@ -6,9 +6,11 @@ import com.wwdz.ch.db.dao.dts.DtsUserDao;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.UserExample; import com.wwdz.ch.db.domain.UserExample;
import com.wwdz.ch.db.domain.UserVo; import com.wwdz.ch.db.domain.UserVo;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import com.wwdz.ch.db.mapper.UserAccountObsoleteMapper; import com.wwdz.ch.db.mapper.UserAccountObsoleteMapper;
import com.wwdz.ch.db.mapper.UserMapper; import com.wwdz.ch.db.mapper.UserMapper;
import com.wwdz.ch.db.mapper.ex.StatMapper; import com.wwdz.ch.db.mapper.ex.StatMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
...@@ -132,6 +134,7 @@ public class DtsUserDaoImpl implements DtsUserDao { ...@@ -132,6 +134,7 @@ public class DtsUserDaoImpl implements DtsUserDao {
return userMapper.selectByExample(example); return userMapper.selectByExample(example);
} }
@Override @Override
public List<DayStatis> recentCount(int statisDaysRang) { public List<DayStatis> recentCount(int statisDaysRang) {
return statMapper.statisIncreaseUserCnt(statisDaysRang); return statMapper.statisIncreaseUserCnt(statisDaysRang);
......
package com.wwdz.ch.wx.entity;
import com.wwdz.ch.db.domain.Category;
import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class TransverseCategory implements Entity {
private Integer id;
private String name;
private Integer pid;
private Integer level;
private Boolean isLeaf;
public TransverseCategory() {
}
public TransverseCategory(Integer id, String name, Integer pid, Integer level, Boolean isLeaf) {
this.id = id;
this.name = name;
this.pid = pid;
this.level = level;
this.isLeaf = isLeaf;
}
public static TransverseCategory ofTitle(Category category) {
TransverseCategory transverseCategory = new TransverseCategory();
transverseCategory.setId(category.getId());
transverseCategory.setName(category.getName());
transverseCategory.setLevel(category.getLevel());
transverseCategory.setIsLeaf(category.getIsLeaf());
transverseCategory.setPid(category.getPid());
return transverseCategory;
}
}
...@@ -10,4 +10,5 @@ public class CategoryRequestDto implements Entity { ...@@ -10,4 +10,5 @@ public class CategoryRequestDto implements Entity {
private Integer page; private Integer page;
private Integer size; private Integer size;
private String name; private String name;
private Integer pid;
} }
...@@ -185,6 +185,15 @@ public class CategoryVo implements Serializable { ...@@ -185,6 +185,15 @@ public class CategoryVo implements Serializable {
return new CategoryVo(category); return new CategoryVo(category);
} }
public static CategoryVo ofTitle(Category category) {
CategoryVo categoryVo = new CategoryVo();
categoryVo.setId(category.getId());
categoryVo.setName(category.getName());
categoryVo.setLevel(category.getLevel());
categoryVo.setIsLeaf(category.getIsLeaf());
return categoryVo;
}
public Integer getId() { public Integer getId() {
return id; return id;
} }
......
package com.wwdz.ch.wx.entity.vo;
import com.wwdz.ch.wx.entity.TransverseCategory;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* 横向类目展示
*/
@Data
public class TransverseCategoryVo {
private List<TransverseCategory> firstCategory;
private List<Map<String, Object>> childCategory;
}
...@@ -5,8 +5,11 @@ import com.wwdz.ch.core.type.Result; ...@@ -5,8 +5,11 @@ import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.CategoryDao; import com.wwdz.ch.db.dao.CategoryDao;
import com.wwdz.ch.db.domain.Category; import com.wwdz.ch.db.domain.Category;
import com.wwdz.ch.db.dto.request.CategorySearchRequestDto; import com.wwdz.ch.db.dto.request.CategorySearchRequestDto;
import com.wwdz.ch.wx.entity.TransverseCategory;
import com.wwdz.ch.wx.entity.request.CategoryRequestDto; import com.wwdz.ch.wx.entity.request.CategoryRequestDto;
import com.wwdz.ch.wx.entity.vo.CategoryResponseVo; import com.wwdz.ch.wx.entity.vo.CategoryResponseVo;
import com.wwdz.ch.wx.entity.vo.CategoryVo;
import com.wwdz.ch.wx.entity.vo.TransverseCategoryVo;
import com.wwdz.ch.wx.service.CategoryService; import com.wwdz.ch.wx.service.CategoryService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -21,6 +24,9 @@ import java.util.stream.Collectors; ...@@ -21,6 +24,9 @@ import java.util.stream.Collectors;
@Service @Service
public class CategoryServiceImpl implements CategoryService { public class CategoryServiceImpl implements CategoryService {
private static final Logger logger = LoggerFactory.getLogger(CategoryServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(CategoryServiceImpl.class);
private static final Integer TOP_PID = 0;
@Autowired @Autowired
private CategoryDao categoryDao; private CategoryDao categoryDao;
...@@ -168,4 +174,38 @@ public class CategoryServiceImpl implements CategoryService { ...@@ -168,4 +174,38 @@ public class CategoryServiceImpl implements CategoryService {
vo.setIsChosen(0); vo.setIsChosen(0);
return vo; return vo;
} }
@Override
public Result findCategoryByTransverse(CategoryRequestDto dto) {
try {
TransverseCategoryVo transverseCategoryVo = new TransverseCategoryVo();
//查询所有的第一级类目
List<Category> categoryList = categoryDao.queryByPid(TOP_PID);
List<TransverseCategory> firstCategoryVoList = categoryList.stream().map(e -> TransverseCategory.ofTitle(e)).collect(Collectors.toList());
transverseCategoryVo.setFirstCategory(firstCategoryVoList);
List<Map<String, Object>> childList = new ArrayList<>();
categoryList.forEach(firstCategory -> {
int firstCategoryId = firstCategory.getId();
//查询第二级类目
List<Category> secondCategoryList = categoryDao.queryByPid(firstCategoryId);
List<Integer> secondCategoryIdList = secondCategoryList.stream().map(Category::getId).collect(Collectors.toList());
//查询三级类目
List<Category> thirdCategoryList = categoryDao.queryByPids(secondCategoryIdList);
List<TransverseCategory> secondCategoryVoList = secondCategoryList.stream().map(e -> TransverseCategory.ofTitle(e)).collect(Collectors.toList());
List<TransverseCategory> thirdCategoryVoList = thirdCategoryList.stream().map(e -> TransverseCategory.ofTitle(e)).collect(Collectors.toList());
Map<String, Object> valueMap = new HashMap<>();
valueMap.put("firstCategoryId", firstCategory.getId());
valueMap.put("secondCategory", secondCategoryVoList);
valueMap.put("thirdCategory", thirdCategoryVoList);
childList.add(valueMap);
});
transverseCategoryVo.setChildCategory(childList);
return Result.success(transverseCategoryVo);
} catch (Exception e) {
logger.error("获取类目横向展示出错:{}", e);
}
return Result.failed();
}
} }
...@@ -42,4 +42,12 @@ public interface CategoryService { ...@@ -42,4 +42,12 @@ public interface CategoryService {
* @return * @return
*/ */
Result findNames(CategoryRequestDto dto); Result findNames(CategoryRequestDto dto);
/**
* 查价页面横向展示类目
* @param dto
* @return
*/
Result findCategoryByTransverse(CategoryRequestDto dto);
} }
...@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON; ...@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode; import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.BidRecordRequestDto; import com.wwdz.ch.db.dto.request.BidRecordRequestDto;
import com.wwdz.ch.wx.entity.request.CategoryRequestDto;
import com.wwdz.ch.wx.entity.request.QueryPriceRequestDto; import com.wwdz.ch.wx.entity.request.QueryPriceRequestDto;
import com.wwdz.ch.wx.service.CategoryService;
import com.wwdz.ch.wx.service.QueryPriceService; import com.wwdz.ch.wx.service.QueryPriceService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -26,6 +28,9 @@ public class QueryPriceController { ...@@ -26,6 +28,9 @@ public class QueryPriceController {
@Autowired @Autowired
QueryPriceService queryPriceService; QueryPriceService queryPriceService;
@Autowired
CategoryService categoryService;
@ApiOperation(value = "查价价格详情") @ApiOperation(value = "查价价格详情")
@PostMapping("/findDetails") @PostMapping("/findDetails")
public Result findDetails(@RequestBody QueryPriceRequestDto dto) { public Result findDetails(@RequestBody QueryPriceRequestDto dto) {
...@@ -45,4 +50,11 @@ public class QueryPriceController { ...@@ -45,4 +50,11 @@ public class QueryPriceController {
} }
return queryPriceService.findBidRecord(dto); return queryPriceService.findBidRecord(dto);
} }
@ApiOperation(value = "横向类目查询")
@PostMapping("/findTransverseCategory")
public Result findTransverseCategory(@RequestBody CategoryRequestDto dto) {
return categoryService.findCategoryByTransverse(dto);
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment