Commit 3cbe2a72 authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev-chw' into dev-chw

# Conflicts:
#	ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/PublicController.java
parents 1c047011 0814a199
......@@ -30,5 +30,7 @@ public class CompanySearchDTO extends PageParam implements DataInter {
Integer bizType;
Integer goodsType;
}
......@@ -19,4 +19,21 @@ public class UserCommentFindDTO extends PageParam{
private Integer soureId;
private Integer rootParentId;
private Integer userId;
private Integer isGoods;
private Long startTime;
private Long endTime;
private Integer soureType;
private String name;
private Integer isShow;
private Integer isDesc;
}
......@@ -38,6 +38,10 @@ public class BranchCompany {
@ApiModelProperty("简称")
private String shortName;
@Column(name = "business_scope")
@ApiModelProperty("经营范围(逗号隔开)")
private String businessScope;
/**
* 分支机构类型
*/
......
......@@ -32,9 +32,14 @@ public class UserComment {
* 资源ID
*/
@Column(name = "soure_id")
private Integer soureId;
private String soureId;
/**
* 资源类型:1-活动;
* 资源用户id/或店铺id
*/
@Column(name = "soure_user_id")
private Integer soureUserId;
/**
* 资源类型:1-活动;2-商品
*/
@Column(name = "soure_type")
private Integer soureType;
......@@ -43,7 +48,11 @@ public class UserComment {
*/
@Column(name = "user_id")
private Integer userId;
/**
* 店铺id
*/
@Column(name = "company_id")
private Integer companyId;
/**
* 用户ID
*/
......@@ -69,11 +78,17 @@ public class UserComment {
*/
@Column(name = "create_time")
private Date createTime;
/**
* 是否可见:0-否;1是
*/
@Column(name = "is_show")
private Integer isShow;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
private Integer isDel;
@Transient
private Integer isCompany;
}
......@@ -20,7 +20,14 @@ public class UserCommentVo extends UserComment {
@ApiModelProperty("用户名称")
private String userName;
@ApiModelProperty("公司名称")
private String companyName;
@ApiModelProperty("公司封面")
private String companyPic;
@ApiModelProperty("用户头像")
private String headimgurl;
@ApiModelProperty("用户名称")
private String toUserName;
......@@ -28,4 +35,6 @@ public class UserCommentVo extends UserComment {
private PageDataVO<UserCommentVo> childer;
}
......@@ -8,6 +8,7 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.wxiaoqi.security.admin.dto.BaseUserDTO;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.mapper.MenuMapper;
import com.github.wxiaoqi.security.admin.mapper.UserMapper;
import com.github.wxiaoqi.security.admin.vo.BaseUserVo;
......@@ -17,6 +18,7 @@ import com.github.wxiaoqi.security.common.constant.UserConstant;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
......@@ -61,6 +63,9 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
@Autowired
private GroupBiz groupBiz;
@Autowired
BranchCompanyBiz branchCompanyBiz;
@Override
public void insertSelective(User entity) {
String password = new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(entity.getPassword());
......@@ -229,6 +234,27 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
}
public ObjectRestResponse userinfoByAppUserIdV2(Integer appUserId){
User user = getUserByAppUserId(appUserId);
if (user == null) {
return ObjectRestResponse.createFailedResult(ResultCode.USER_NOTEXIST_CODE, ResultCode.getMsg(ResultCode.USER_NOTEXIST_CODE));
}
if (user.getDataCorporation() != null){
com.github.wxiaoqi.security.admin.dto.CompanySearchDTO companySearchDTO =new com.github.wxiaoqi.security.admin.dto.CompanySearchDTO();
companySearchDTO.setDataCorporationIds(Arrays.asList(user.getDataCorporation().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList()));
List<com.github.wxiaoqi.security.admin.vo.CompanySearchVO> companySearchVOList=branchCompanyBiz.getList(companySearchDTO);
if(companySearchVOList != null && companySearchVOList.size() > 0){
List<Integer> companyIds = companySearchVOList.stream().map(com.github.wxiaoqi.security.admin.vo.CompanySearchVO::getId).distinct().collect(Collectors.toList());
user.setCompanyIds(companyIds);
}
}else if (user.getDataCompany() != null ){
List<Integer> companyIds = Arrays.asList(user.getDataCompany().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
user.setCompanyIds(companyIds);
}
return new ObjectRestResponse<User>().rel(true).data(user);
}
public List<BaseUserVo> getList(BaseUserDTO baseUserDTO){
return mapper.selectList(baseUserDTO);
}
......
......@@ -48,17 +48,20 @@ public class UserCommentBiz extends BaseBiz<UserCommentMapper, UserComment>{
throw new BaseException("参数不能为空", ResultCode.FAILED_CODE);
}
Integer parentId = userComment.getParentId() == null ? 0 : userComment.getParentId();
Integer rootParentId = userComment.getRootParentId() == null ? 0 : userComment.getRootParentId();
if (parentId > 0){
UserComment parentComment = selectById(parentId);
if (parentComment == null ){
throw new BaseException("该评论不存在", ResultCode.FAILED_CODE);
}
rootParentId=parentComment.getRootParentId();
userComment.setSoureId(parentComment.getSoureId());
userComment.setSoureUserId(parentComment.getSoureUserId());
userComment.setSoureType(parentComment.getSoureType());
userComment.setToUserId(parentComment.getUserId());
userComment.setRootParentId(parentComment.getRootParentId());
userComment.setRootParentId(rootParentId);
}else {
if (userComment.getSoureId() == null || userComment.getSoureId() == 0){
if (StringUtils.isBlank(userComment.getSoureId())){
throw new BaseException("资源ID不能为空", ResultCode.FAILED_CODE);
}
}
......@@ -66,7 +69,6 @@ public class UserCommentBiz extends BaseBiz<UserCommentMapper, UserComment>{
insertSelective(userComment);
Integer id = userComment.getId();
if (id > 0 ){
Integer rootParentId = userComment.getRootParentId() == null ? 0 : userComment.getRootParentId();
if (rootParentId == 0){
UserComment userComment1=new UserComment();
userComment1.setId(id);
......@@ -106,4 +108,26 @@ public class UserCommentBiz extends BaseBiz<UserCommentMapper, UserComment>{
}
public PageDataVO<UserCommentVo> selectListByToUserId(UserCommentFindDTO userCommentFindDTO){
PageHelper.startPage(userCommentFindDTO.getPage(), userCommentFindDTO.getLimit());
PageInfo<UserCommentVo> pageInfo = new PageInfo<>(getListByToUserId(userCommentFindDTO));
PageDataVO<UserCommentVo> dataVO = PageDataVO.pageInfo(pageInfo);
return dataVO;
}
public List<UserCommentVo> getListByToUserId(UserCommentFindDTO commentFindDTO){
return mapper.selectListByToUserId(commentFindDTO);
}
public PageDataVO<UserCommentVo> selectListV2(UserCommentFindDTO userCommentFindDTO){
PageHelper.startPage(userCommentFindDTO.getPage(), userCommentFindDTO.getLimit());
PageInfo<UserCommentVo> pageInfo = new PageInfo<>(getList(userCommentFindDTO));
PageDataVO<UserCommentVo> dataVO = PageDataVO.pageInfo(pageInfo);
return dataVO;
}
}
......@@ -18,4 +18,7 @@ public interface UserCommentMapper extends Mapper<UserComment>, SelectByIdListMa
List<UserCommentVo> selectList(UserCommentFindDTO commentFindDTO);
List<UserCommentVo> selectListByToUserId(UserCommentFindDTO commentFindDTO);
}
\ No newline at end of file
package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.BranchCompanyBiz;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoApplyBiz;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoOrderBiz;
import com.github.wxiaoqi.security.admin.dto.CompanySearchDTO;
import com.github.wxiaoqi.security.admin.entity.CompanyInfo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
......@@ -20,18 +20,26 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("app/branchCompany")
@RequiredArgsConstructor(onConstructor_ = {@Autowired})
@Api(tags = {"商家"})
public class AppBranchCompanyController extends BaseController<CompanyInfoApplyBiz> {
public class AppBranchCompanyController extends BaseController<BranchCompanyBiz> {
@Autowired
BranchCompanyBiz branchCompanyBiz;
@GetMapping("getHotCompany")
@ApiModelProperty("获取热门商家")
public ObjectRestResponse getHotCompany(@RequestParam("page") Integer page,
@RequestParam("limit") Integer limit) {
return ObjectRestResponse.succ(branchCompanyBiz.getHotCompany(page,limit));
return ObjectRestResponse.succ(baseBiz.getHotCompany(page,limit));
}
@GetMapping("app/unauth/selectList")
@ApiModelProperty("店铺列表")
@IgnoreUserToken
public ObjectRestResponse selectList(CompanySearchDTO companySearchDTO) {
return ObjectRestResponse.succ( baseBiz.search(companySearchDTO));
}
}
......@@ -13,6 +13,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author Administrator
*/
......@@ -38,13 +40,39 @@ public class AppUserCommentController extends BaseController<UserCommentBiz> {
@PostMapping("send")
@ApiModelProperty("商家入驻申请")
@ApiModelProperty("评论")
public ObjectRestResponse apply(@RequestBody UserComment userComment) {
userComment.setUserId(getCurrentUserIdInt());
Integer isCompany = userComment.getIsCompany() == null ? 0 : userComment.getIsCompany();
if (isCompany == 1 && (userComment.getCompanyId() == null || userComment.getCompanyId() == 0)){
List<Integer> companyIds = getCompanyIds();
if (companyIds != null && companyIds.size() > 0){
userComment.setCompanyId(companyIds.get(0));
}
}
baseBiz.addOrUpd(userComment);
return ObjectRestResponse.succ();
}
@GetMapping("selectListByToUserId")
@ApiModelProperty("列表")
public ObjectRestResponse selectListByToUserId(UserCommentFindDTO commentFindDTO) {
commentFindDTO.setUserId(getCurrentUserIdInt());
return ObjectRestResponse.succ( baseBiz.selectListByToUserId(commentFindDTO));
}
@PostMapping("del")
@ApiModelProperty("评论删除")
public ObjectRestResponse del(@RequestBody UserComment userComment) {
userComment.setIsShow(0);
baseBiz.updateSelectiveById(userComment);
return ObjectRestResponse.succ();
}
}
package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
@Slf4j
public class BaseController<Biz extends BaseBiz> extends CommonBaseController {
......@@ -20,6 +25,9 @@ public class BaseController<Biz extends BaseBiz> extends CommonBaseController {
@Autowired
private UserAuthUtil userAuthUtil;
@Autowired
private UserBiz userBiz;
public String getUserName()throws Exception{ return userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getUniqueName(); }
......@@ -29,4 +37,19 @@ public class BaseController<Biz extends BaseBiz> extends CommonBaseController {
public String getUserId()throws Exception{ return userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId(); }
public List<Integer> getCompanyIds(){
Integer currentUserIdInt = getCurrentUserIdInt();
if (currentUserIdInt != null && currentUserIdInt > 0 ){
ObjectRestResponse<User> restResponse = userBiz.userinfoByAppUserIdV2(currentUserIdInt);
if (restResponse.getData() != null){
User userDTO =restResponse.getData();
if (userDTO != null){
return userDTO.getCompanyIds();
}
}
}
return null;
}
}
......@@ -111,23 +111,7 @@ public class PublicController {
// @RequestMapping(value = "v2/userinfo-by-appUserId", method = RequestMethod.GET)
// public @ResponseBody
// ObjectRestResponse userinfoByAppUserIdV2(Integer appUserId){
// User user = userBiz.getUserByAppUserId(appUserId);
// if (user == null) {
// return ObjectRestResponse.createFailedResult(ResultCode.USER_NOTEXIST_CODE, ResultCode.getMsg(ResultCode.USER_NOTEXIST_CODE));
// }
// if (user.getDataCorporation() != null){
// com.github.wxiaoqi.security.admin.dto.CompanySearchDTO companySearchDTO =new com.github.wxiaoqi.security.admin.dto.CompanySearchDTO();
// companySearchDTO.setDataCorporationIds(Arrays.asList(user.getDataCorporation().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList()));
// List<com.github.wxiaoqi.security.admin.vo.CompanySearchVO> companySearchVOList=branchCompanyBiz.getList(companySearchDTO);
// if(companySearchVOList != null && companySearchVOList.size() > 0){
// List<Integer> companyIds = companySearchVOList.stream().map(com.github.wxiaoqi.security.admin.vo.CompanySearchVO::getId).distinct().collect(Collectors.toList());
// user.setCompanyIds(companyIds);
// }
// }else if (user.getDataCompany() != null ){
// List<Integer> companyIds = Arrays.asList(user.getDataCompany().split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
// user.setCompanyIds(companyIds);
// }
// return new ObjectRestResponse<User>().rel(true).data(user);
// return userBiz.userinfoByAppUserIdV2(appUserId);
// }
@RequestMapping(value = "business/userinfo-by-mobilePhone", method = RequestMethod.GET)
......
package com.github.wxiaoqi.security.admin.rest.admin;
import com.github.wxiaoqi.security.admin.biz.UserCommentBiz;
import com.github.wxiaoqi.security.admin.dto.UserCommentFindDTO;
import com.github.wxiaoqi.security.admin.entity.UserComment;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author Administrator
*/
@Slf4j
@RestController
@RequestMapping("backstage/comment")
@Api(tags = {"评论"})
public class AdminUserCommentController extends BaseController<UserCommentBiz,UserComment> implements UserRestInterface {
@Autowired
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@GetMapping("selectList")
@ApiModelProperty("列表")
@IgnoreUserToken
public ObjectRestResponse selectList(UserCommentFindDTO commentFindDTO) {
commentFindDTO.setIsDesc(1);
return ObjectRestResponse.succ( baseBiz.selectListV2(commentFindDTO));
}
@PostMapping("del")
@ApiModelProperty("评论删除")
public ObjectRestResponse del(@RequestBody UserComment userComment) {
baseBiz.updateSelectiveById(userComment);
return ObjectRestResponse.succ();
}
}
......@@ -24,7 +24,11 @@
<select id="search" parameterType="com.github.wxiaoqi.security.admin.dto.CompanySearchDTO" resultType="com.github.wxiaoqi.security.admin.vo.CompanySearchVO">
select c.*,i.name as companyName,l.name as levelName
<if test="lon != null and lat != null">
, st_distance_sphere(point(#{lon}, #{lat}), point(c.longitude, c.latitude)) as distance
, ROUND(( (2 * ASIN( SQRT( POW( SIN((latitude * PI() / 180.0
-${lat} * PI() / 180.0)/2), 2)
+COS( latitude * PI() / 180.0)*COS(${lat} * PI() / 180.0)
*POW(SIN((longitude * PI() / 180.0 - ${lon} * PI() /
180.0)/2),2))))*6378.137)*10000)/10000 as distance
</if>
from branch_company c
LEFT JOIN company_info i on c.company_id=i.id
......@@ -37,6 +41,10 @@
<if test="addrCity != null">
and (c.addr_city = #{addrCity} or c.addr_province = #{addrCity} or c.addr_town = #{addrCity})
</if>
<if test="goodsType != null">
and FIND_IN_SET(#{goodsType},business_scope)
</if>
<if test="addrProvince != null">
and c.addr_province = #{addrProvince}
</if>
......@@ -76,7 +84,7 @@
</where>
<choose>
<when test="lon != null and lat != null">
order by c.distance asc
order by distance asc
</when>
<otherwise>
order by c.id desc
......
......@@ -7,19 +7,72 @@
SELECT
c.*,
IFNULL(d1.realname,d1.nickname) as userName,
IFNULL(d2.realname,d2.nickname) as toUserName
IFNULL(d2.realname,d2.nickname) as toUserName,
b.`name`as companyName
FROM user_comment c
LEFT JOIN app_user_detail d1 ON c.user_id=d1.userid
LEFT JOIN app_user_detail d2 ON c.to_user_id=d2.userid
LEFT JOIN branch_company b ON c.company_id=b.id
<where>
c.soure_id=#{soureId}
<if test="soureId != null ">
AND c.soure_id=#{soureId}
</if>
<if test="parentId != null ">
AND c.`parent_id`= #{parentId}
</if>
<if test="rootParentId != null and rootParentId > 0 ">
AND ( c.`parent_id` > 0 and c.root_parent_id = #{rootParentId} )
</if>
<if test="startTime != null and startTime > 0">
AND UNIX_TIMESTAMP(c.`create_time`) >= #{startTime}
</if>
<if test="endTime != null and endTime > 0">
AND UNIX_TIMESTAMP(c.`create_time`) &lt;= #{endTime}
</if>
<if test="soureType != null and soureType > 0">
AND c.`soure_type`= #{soureType}
</if>
<if test="isShow != null ">
AND c.`is_show`= #{isShow}
</if>
<if test="name != null and name != '' ">
AND IFNULL(d1.realname,d1.nickname) like concat('%', #{name}, '%')
</if>
</where>
<choose>
<when test="isDesc != null and isDesc == 1">
order by c.create_time desc
</when>
<otherwise>
order by c.create_time ASC
</otherwise>
</choose>
</select>
<select id="selectListByToUserId" resultType="com.github.wxiaoqi.security.admin.vo.UserCommentVo" parameterType="com.github.wxiaoqi.security.admin.dto.UserCommentFindDTO">
SELECT
c.*,
b.`name`as companyName,
b.company_pic as companyPic,
IFNULL(d.realname,d.nickname) as userName,
d.headimgurl
FROM
(
SELECT * FROM user_comment
WHERE id in (SELECT MAX(id) FROM user_comment
WHERE is_show =1
<choose>
<when test="isGoods != null and isGoods == 1">
and to_user_id=#{userId}
</when>
<otherwise>
and ((soure_type =1 and soure_user_id=#{userId} and parent_id = 0) or to_user_id=#{userId})
</otherwise>
</choose>
GROUP BY soure_id,to_user_id )
) c
LEFT JOIN branch_company b ON c.company_id=b.id
LEFT JOIN app_user_detail d ON c.user_id=d.userid
order by c.create_time DESC
</select>
</mapper>
\ No newline at end of file
......@@ -20,8 +20,8 @@ import java.util.Date;
@NoArgsConstructor
public class ActivityDTO extends PageParam {
private Date startTime;
private Date endTime;
private Long startTime;
private Long endTime;
private Integer goodsType;
}
......@@ -158,4 +158,25 @@ public class CouponBiz extends BaseBiz<CouponMapper, Coupon> {
}
return couponDTOS;
}
public List<Coupon> getList(CouponFindDTO couponFindDTO){
Example example = new Example(Coupon.class);
Example.Criteria criteria = example.createCriteria();
if (org.apache.commons.lang3.StringUtils.isNotBlank(couponFindDTO.getTitle())){
criteria.andLike("title",String.format("%%%s%%",couponFindDTO.getTitle()));
}
if (Objects.nonNull(couponFindDTO.getChannel())){
criteria.andEqualTo("channel",couponFindDTO.getChannel());
}
if (Objects.nonNull(couponFindDTO.getType())){
criteria.andEqualTo("type",couponFindDTO.getType());
}
if (Objects.nonNull(couponFindDTO.getStatus())){
criteria.andEqualTo("status",couponFindDTO.getStatus());
}
criteria.andEqualTo("isDel",0);
example.setOrderByClause("crt_time DESC");
return mapper.selectByExample(example);
}
}
\ No newline at end of file
......@@ -102,4 +102,11 @@ public class CouponAdminController implements UserRestInterface {
return false;
}
@ApiOperation("优惠券列表")
@GetMapping("/getList")
public ObjectRestResponse<List<Coupon>> getList(CouponFindDTO couponFindDTO) {
return ObjectRestResponse.succ(couponBiz.getList(couponFindDTO));
}
}
......@@ -38,6 +38,11 @@ public class BranchCompany {
@ApiModelProperty("简称")
private String shortName;
@Column(name = "business_scope")
@ApiModelProperty("经营范围(逗号隔开)")
private String businessScope;
/**
* 分支机构类型
*/
......
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