Commit 61fe5781 authored by hanfeng's avatar hanfeng

Merge remote-tracking branch 'origin/base-modify' into base-modify

# Conflicts:
#	.gitignore
#	xx-uccn/xx-uccn-server/src/main/resources/mapper/ArticleMapper.xml
parents 72a5afac d499d621
...@@ -37,4 +37,6 @@ public class GoodDataVO{ ...@@ -37,4 +37,6 @@ public class GoodDataVO{
@ApiModelProperty(value = "纬度") @ApiModelProperty(value = "纬度")
private Double latitude; private Double latitude;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -214,7 +214,7 @@ BOOKED_FAILED_CODE = 4007 ...@@ -214,7 +214,7 @@ BOOKED_FAILED_CODE = 4007
4007=车辆预定失败,请重试! 4007=车辆预定失败,请重试!
ONLY_BOOK_FROM_TODAY = 4008 ONLY_BOOK_FROM_TODAY = 4008
4008=取消或预定时间不能小于当前时间 4008=预定时间不能小于当前时间
ADD_VEHICLE_FAIL = 4009 ADD_VEHICLE_FAIL = 4009
4009 = 添加车辆失败,请重试 4009 = 添加车辆失败,请重试
...@@ -226,7 +226,7 @@ DATE_TIME_IS_NULL = 4011 ...@@ -226,7 +226,7 @@ DATE_TIME_IS_NULL = 4011
4011 = 预定时间不能为空 4011 = 预定时间不能为空
ONLY_BOOK_TWO_MONTH = 4012 ONLY_BOOK_TWO_MONTH = 4012
4012 = 只能预定两月内的车辆 4012 = 最多提前三个月预约
ONLY_UNBOOK_TWO_MONTH = 4013 ONLY_UNBOOK_TWO_MONTH = 4013
4013 = 只能取消预定两月内的车辆 4013 = 只能取消预定两月内的车辆
......
...@@ -121,6 +121,9 @@ public class UserController extends CommonBaseController { ...@@ -121,6 +121,9 @@ public class UserController extends CommonBaseController {
@RequestMapping(value = "/front/menus", method = RequestMethod.GET) @RequestMapping(value = "/front/menus", method = RequestMethod.GET)
public @ResponseBody public @ResponseBody
List<MenuTree> getMenusByUsername(String token,String state) throws Exception { List<MenuTree> getMenusByUsername(String token,String state) throws Exception {
if (StringUtils.isBlank(state)){
state="0,1";
}
return permissionService.getMenusByUsername(token,state); return permissionService.getMenusByUsername(token,state);
} }
......
...@@ -177,7 +177,7 @@ public class PermissionService { ...@@ -177,7 +177,7 @@ public class PermissionService {
} }
User user = userBiz.getUserByUsername(username); User user = userBiz.getUserByUsername(username);
List<Menu> menus = menuBiz.getUserAuthorityMenuByUserId(user.getId()); List<Menu> menus = menuBiz.getUserAuthorityMenuByUserId(user.getId());
menus=menus.stream().filter(a->state.contains(a.getState())).collect(Collectors.toList()); menus=menus.stream().filter(a->state.contains(a.getState()==null?"1":a.getState())).collect(Collectors.toList());
return getMenuTree(menus,AdminCommonConstant.ROOT); return getMenuTree(menus,AdminCommonConstant.ROOT);
} }
} }
...@@ -110,4 +110,9 @@ public class Banner { ...@@ -110,4 +110,9 @@ public class Banner {
* 平台 0:APP 1:欣欣房车官网 2:滴房车官网 * 平台 0:APP 1:欣欣房车官网 2:滴房车官网
*/ */
private Integer platform; private Integer platform;
/**
* html 标签悬浮显示 seo 需要
*/
private String alt;
} }
...@@ -23,4 +23,9 @@ public class BannerVo { ...@@ -23,4 +23,9 @@ public class BannerVo {
* 跳转链接地址 * 跳转链接地址
*/ */
private String url; private String url;
/**
* seo html标签优化
*/
private String alt;
} }
...@@ -30,6 +30,7 @@ public class BannerBiz extends BaseBiz<BannerMapper,Banner> { ...@@ -30,6 +30,7 @@ public class BannerBiz extends BaseBiz<BannerMapper,Banner> {
bannerVo.setUrl(banner.getUrl()); bannerVo.setUrl(banner.getUrl());
bannerVo.setTitle(banner.getTitle()); bannerVo.setTitle(banner.getTitle());
bannerVo.setId(banner.getId()); bannerVo.setId(banner.getId());
bannerVo.setAlt(banner.getAlt());
bannerVos.add(bannerVo); bannerVos.add(bannerVo);
}); });
return bannerVos; return bannerVos;
......
...@@ -165,4 +165,7 @@ public class CampsiteShopAdminDTO { ...@@ -165,4 +165,7 @@ public class CampsiteShopAdminDTO {
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -76,4 +76,8 @@ public class CampsiteShopDetailDTO { ...@@ -76,4 +76,8 @@ public class CampsiteShopDetailDTO {
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -213,4 +213,7 @@ public class CampsiteShop implements Serializable { ...@@ -213,4 +213,7 @@ public class CampsiteShop implements Serializable {
@Column(name = "poster_background") @Column(name = "poster_background")
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -172,4 +172,7 @@ public class CampsiteShopAdminVO { ...@@ -172,4 +172,7 @@ public class CampsiteShopAdminVO {
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -32,11 +32,12 @@ ...@@ -32,11 +32,12 @@
<result property="isDel" column="is_del"/> <result property="isDel" column="is_del"/>
<result property="hot" column="hot"/> <result property="hot" column="hot"/>
<result property="saleState" column="sale_state"/> <result property="saleState" column="sale_state"/>
<result property="alt" column="alt"/>
</resultMap> </resultMap>
<!--根据类型查询全部--> <!--根据类型查询全部-->
<select id="findAllCampsiteShopsByTypeOrCode" resultType="com.xxfc.platform.campsite.dto.CampsiteShopPageDTO"> <select id="findAllCampsiteShopsByTypeOrCode" resultType="com.xxfc.platform.campsite.dto.CampsiteShopPageDTO">
select cs.id as `id`,cs.name as `name`,cs.logo as `logo`,cs.url as `url`,cs.province_name as `provinceName`,cs.city_name as `cityName`,cs.service_phone as `phone`, select cs.id as `id`,cs.name as `name`,cs.logo as `logo`,cs.url as `url`,cs.province_name as `provinceName`,cs.city_name as `cityName`,cs.service_phone as `phone`,cs.alt
cs.longitude as `longitude`,cs.latitude as `latitude`,`address` as `address`,cs.hot as `hot`,cs.crt_time as `crtTime`,cs.concat as `concat`,ct.id as `storeId`,ct.name as `storeTypeName` cs.longitude as `longitude`,cs.latitude as `latitude`,`address` as `address`,cs.hot as `hot`,cs.crt_time as `crtTime`,cs.concat as `concat`,ct.id as `storeId`,ct.name as `storeTypeName`
FROM `campsite_shop_tag` cst FROM `campsite_shop_tag` cst
left JOIN `campsite_shop` cs on cst.shop_id=cs.id left JOIN `campsite_shop` cs on cst.shop_id=cs.id
...@@ -56,7 +57,7 @@ ...@@ -56,7 +57,7 @@
<!--首页查询全部--> <!--首页查询全部-->
<select id="findAllByHome" resultType="com.github.wxiaoqi.security.common.vo.GoodDataVO"> <select id="findAllByHome" resultType="com.github.wxiaoqi.security.common.vo.GoodDataVO">
select cs.id as `id`,cs.name as `name`,cs.logo as `imgUrl`,cs.province_name as `name1`,cs.longitude,cs.latitude select cs.id as `id`,cs.name as `name`,cs.logo as `imgUrl`,cs.province_name as `name1`,cs.longitude,cs.latitude,cs.alt
FROM `campsite_shop` cs FROM `campsite_shop` cs
where cs.sale_state=1 and cs.is_del=0 where cs.sale_state=1 and cs.is_del=0
order by cs.hot desc order by cs.hot desc
...@@ -64,7 +65,7 @@ ...@@ -64,7 +65,7 @@
</select> </select>
<select id="findAll" resultType="com.github.wxiaoqi.security.common.vo.GoodDataVO"> <select id="findAll" resultType="com.github.wxiaoqi.security.common.vo.GoodDataVO">
select cs.id as `id`,cs.name as `name`,cs.logo as `imgUrl`,cs.province_name as `name1`,cs.longitude,cs.latitude select cs.id as `id`,cs.name as `name`,cs.logo as `imgUrl`,cs.province_name as `name1`,cs.longitude,cs.latitude,cs.alt
FROM `campsite_shop` cs FROM `campsite_shop` cs
where cs.sale_state=1 and cs.is_del=0 where cs.sale_state=1 and cs.is_del=0
order by cs.hot desc order by cs.hot desc
...@@ -73,7 +74,7 @@ ...@@ -73,7 +74,7 @@
<!--根据id查询详情--> <!--根据id查询详情-->
<select id="findCampsiteShopDetailById" resultType="com.xxfc.platform.campsite.dto.CampsiteShopDetailDTO"> <select id="findCampsiteShopDetailById" resultType="com.xxfc.platform.campsite.dto.CampsiteShopDetailDTO">
select `name` as `name`,`province_name` as `provinceName`,`city_name` as `cityName`,`address` as `address`,`service_phone` as `phone`,`logo` as `logo`,`poster_background` as `posterBackground` , select `name` as `name`,`province_name` as `provinceName`,`city_name` as `cityName`,`address` as `address`,`service_phone` as `phone`,`logo` as `logo`,`poster_background` as `posterBackground` ,
`content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude` from `campsite_shop` where `id`=#{id} `content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude`,`alt` from `campsite_shop` where `id`=#{id}
</select> </select>
<!--根据查询条件分页查询--> <!--根据查询条件分页查询-->
......
package com.xxfc.platform.im.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/5 10:35
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class CustomerServiceDTO {
private static final long serialVersionUID = 1L;
private String id;
/**
* 客服名称
*/
private String name;
/**
* 帐号
*/
private String account;
/**
* 密码
*/
private String password;
/**
* 客服头像
*/
private String icon;
/**
* App id
*/
private Integer appUserId;
/**
* im id
*/
private String imUserId;
/**
* 区域id
*/
private Integer areaId;
/**
* 区域名称
*/
private String areaName;
/**
* 问候语句
*/
private String greeting;
/**
* 客服类型
*/
private Integer type;
/**
* 客服电话
*/
private String telphone;
}
package com.xxfc.platform.im.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.mongodb.morphia.annotations.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
/**
* @author libin
* @version 1.0
* @description 客服
* @data 2019/9/5 9:27
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
@Document(collection = "customer_service")
public class CustomerService {
private static final long serialVersionUID = 1L;
@Id
private String id;
/**
* 客服名称
*/
private String name;
/**
* 客服头像
*/
private String icon;
/**
* App id
*/
@Field("app_user_id")
private Integer appUserId;
/**
* im id
*/
@Field("im_user_id")
private Integer imUserId;
/**
* 区域id
*/
@Field("area_id")
private Integer areaId;
/**
* 区域名称
*/
@Field("area_name")
private String areaName;
/**
* 问候语句
*/
private String greeting;
/**
* 客服类型
*/
private Integer type;
/**
* 客服电话
*/
private String telphone;
/**
* 是事删除 true:删除状态 1:正常
*/
@Field("is_del")
private Boolean isDel;
@Field("create_time")
private Long createTime;
@Field("update_time")
private Long updateTime;
}
package com.xxfc.platform.im.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/5 10:37
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class CustomerServiceVO implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
/**
* 客服名称
*/
private String name;
/**
* 密码
*/
private String password;
/**
* 客服头像
*/
private String icon;
/**
* App id
*/
private Integer appUserId;
/**
* im id
*/
private Integer imUserId;
/**
* 区域id
*/
private Integer areaId;
/**
* 区域名称
*/
private String areaName;
/**
* 问候语句
*/
private String greeting;
/**
* 客服类型
*/
private Integer type;
/**
* 客服电话
*/
private String telphone;
private Long createTime;
private Long updateTime;
}
package com.xxfc.platform.im.biz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.constant.UserConstant;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.mongodb.client.result.UpdateResult;
import com.xxfc.platform.im.dto.CustomerServiceDTO;
import com.xxfc.platform.im.model.CustomerService;
import com.xxfc.platform.im.model.User;
import com.xxfc.platform.im.repos.CustomerServiceRepository;
import com.xxfc.platform.im.vo.CustomerServiceVO;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import java.time.Instant;
import java.util.*;
import java.util.stream.Collectors;
import static org.springframework.data.mongodb.core.query.Query.query;
import static org.springframework.data.mongodb.core.query.Update.update;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/5 9:49
*/
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CustomerServiceBiz {
private final static String INIT_PASSWORD="12345678";
private final static String NICK_PRE_NAME="XXKF";
private final CustomerServiceRepository customerServiceRepository;
private final MongoTemplate mongoTemplate;
private final UserBiz userBiz;
public CustomerServiceVO findById(String id){
CustomerServiceVO customerServiceVO = new CustomerServiceVO();
customerServiceRepository.findById(id).ifPresent(customerService -> {
BeanUtils.copyProperties(customerService,customerServiceVO);
});
Map<Integer, User> imMap = userBiz.findAllByImUserIds(Arrays.asList(customerServiceVO.getImUserId()));
User user = imMap.get(customerServiceVO.getImUserId());
customerServiceVO.setPassword(user.getPassword());
return customerServiceVO;
}
/**
* 添加客服
* @param customerServiceDTO
*/
public void addCustomerService(CustomerServiceDTO customerServiceDTO){
CustomerService customerService = new CustomerService();
BeanUtils.copyProperties(customerServiceDTO,customerService);
customerService.setCreateTime(Instant.now().toEpochMilli());
String password = new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(INIT_PASSWORD);
customerService.setName(String.format("%s%s",NICK_PRE_NAME,customerServiceDTO.getTelphone()));
customerService.setIsDel(false);
Map<String,Object> imMap = new HashMap<>(2);
imMap.put("telephone",customerServiceDTO.getTelphone());
imMap.put("password",password);
imMap.put("nickname",customerService.getName());
BaseResponse imResponse = userBiz.register(imMap);
String imResult = imResponse.getMessage();
JSONObject jsonObject = JSON.parseObject(imResult);
Map<String,Object> data = (Map<String, Object>) jsonObject.get("data");
Object userId = data.get("userId");
if (Objects.isNull(userId)){
throw new BaseException("注册失败");
}
customerService.setImUserId((Integer)userId);
customerServiceRepository.save(customerService);
}
public List<CustomerServiceVO> findAll() {
List<CustomerServiceVO> customerServiceVOS = new ArrayList<>();
// List<CustomerService> customerServices = mongoTemplate.find(Query.query(Criteria.where("isDel").is(false)), CustomerService.class);
List<CustomerService> customerServices = customerServiceRepository.findByIsDelEquals(false);
CustomerServiceVO customerServiceVO;
if (CollectionUtils.isNotEmpty(customerServices)){
List<Integer> imUserIds = customerServices.stream().map(CustomerService::getImUserId).collect(Collectors.toList());
Map<Integer, User> imMap = userBiz.findAllByImUserIds(imUserIds);
for (CustomerService customerService : customerServices) {
customerServiceVO = new CustomerServiceVO();
BeanUtils.copyProperties(customerService,customerServiceVO);
User user = imMap.get(customerService.getImUserId());
if (Objects.nonNull(user)){
customerServiceVO.setPassword(user.getPassword());
}
customerServiceVOS.add(customerServiceVO);
}
}
return customerServiceVOS;
}
/**
* 删除客服
* @param id
* @param imUserId
*/
public void updateCustomerServiceIsDelToTrue(String id,Integer imUserId){
Query query = query(Criteria.where("_id").is(id));
Update update = update("is_del", true).set("update_time",Instant.now().toEpochMilli());
UpdateResult customer_service = mongoTemplate.updateFirst(query, update, Map.class, "customer_service");
userBiz.deleteById(imUserId);
}
}
...@@ -4,12 +4,14 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,12 +4,14 @@ import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.ImiVo; import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.constant.UserConstant;
import com.github.wxiaoqi.security.common.msg.BaseResponse; import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import com.xxfc.platform.im.model.User; import com.xxfc.platform.im.model.User;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -17,6 +19,7 @@ import org.springframework.data.mongodb.core.MongoTemplate; ...@@ -17,6 +19,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.mongodb.core.query.Update;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
...@@ -27,7 +30,10 @@ import java.net.HttpURLConnection; ...@@ -27,7 +30,10 @@ import java.net.HttpURLConnection;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@Component @Component
@Slf4j @Slf4j
...@@ -229,4 +235,38 @@ public class UserBiz { ...@@ -229,4 +235,38 @@ public class UserBiz {
return imiVo; return imiVo;
} }
/**
*根据 id 批量查询
* @param imUserIds
* @return
*/
public Map<Integer,User> findAllByImUserIds(List<Integer> imUserIds) {
Map<Integer,User> imUserMap = new HashMap<>(imUserIds.size());
List<User> users = mongoTemplate.find(Query.query(Criteria.where("id").in(imUserIds)), User.class);
if (CollectionUtils.isEmpty(users)){
return imUserMap;
}
imUserMap = users.stream().collect(Collectors.toMap(User::getId, Function.identity()));
return imUserMap;
}
/**
* 更新Im 密码
* @param telphone
* @param password
*/
public void updatePasswordByPhone(String telphone,String password){
Query query = Query.query(Criteria.where("phone").is(telphone));
password = new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(password);
Update update = Update.update("password", password);
mongoTemplate.updateFirst(query,update,Map.class,"user");
}
/**
* 删除 im
* @param imUserId
*/
public void deleteById(Integer imUserId) {
mongoTemplate.remove(Query.query(Criteria.where("id").is(imUserId)),User.class);
}
} }
package com.xxfc.platform.im.repos;
import com.xxfc.platform.im.model.CustomerService;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/5 10:55
*/
@Repository
public interface CustomerServiceRepository extends MongoRepository<CustomerService,String> {
/**
* 查询客服
* @param isDel 删除状态
* @return
*/
List<CustomerService> findByIsDelEquals(Boolean isDel);
}
package com.xxfc.platform.im.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.im.biz.CustomerServiceBiz;
import com.xxfc.platform.im.vo.CustomerServiceVO;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/5 10:31
*/
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@RequestMapping("/app/unauth/customer_service")
public class CustomerServiceController {
private final CustomerServiceBiz customerServiceBiz;
@GetMapping("/list")
public ObjectRestResponse<List<CustomerServiceVO>> findAll(){
List<CustomerServiceVO> customerServiceVOS = customerServiceBiz.findAll();
return ObjectRestResponse.succ(customerServiceVOS);
}
@GetMapping("/{id}")
public ObjectRestResponse<CustomerServiceVO> findById(@PathVariable(value = "id") String id){
CustomerServiceVO customerServiceVO = customerServiceBiz.findById(id);
return ObjectRestResponse.succ(customerServiceVO);
}
}
package com.xxfc.platform.im.rest.admin;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.im.biz.CustomerServiceBiz;
import com.xxfc.platform.im.biz.UserBiz;
import com.xxfc.platform.im.dto.CustomerServiceDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/5 10:32
*/
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@RequestMapping("/admin/customer_service")
public class CustomerServiceAdminController {
private final CustomerServiceBiz customerServiceBiz;
private final UserBiz userBiz;
@PostMapping("/add")
public ObjectRestResponse<Void> addCustomerService(@RequestBody CustomerServiceDTO customerServiceDTO){
customerServiceBiz.addCustomerService(customerServiceDTO);
return ObjectRestResponse.succ();
}
@PutMapping("/update_password/{telphone}/{password}")
public ObjectRestResponse<Void> updateCustomerService(@PathVariable(value = "telphone") String telphone,
@PathVariable(value = "password") String password){
userBiz.updatePasswordByPhone(telphone,password);
return ObjectRestResponse.succ();
}
@DeleteMapping("/delete/{id}/{imUserId}")
public ObjectRestResponse<Void> deleteCustomerService(@PathVariable(value = "id") String id,
@PathVariable(value = "imUserId") Integer imUserId){
customerServiceBiz.updateCustomerServiceIsDelToTrue(id,imUserId);
return ObjectRestResponse.succ();
}
}
...@@ -112,4 +112,7 @@ public class TourGoodDTO { ...@@ -112,4 +112,7 @@ public class TourGoodDTO {
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -134,4 +134,7 @@ public class TourGood implements Serializable { ...@@ -134,4 +134,7 @@ public class TourGood implements Serializable {
@Column(name = "poster_background") @Column(name = "poster_background")
@ApiModelProperty(value = "海报背景") @ApiModelProperty(value = "海报背景")
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -129,6 +129,8 @@ public class TourGoodDetailVo { ...@@ -129,6 +129,8 @@ public class TourGoodDetailVo {
List<GoodTagDTO> tagDTOS; List<GoodTagDTO> tagDTOS;
private String posterBackground; private String posterBackground;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
package com.xxfc.platform.uccn.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:47
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class FriendLinkDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 连接地址
*/
private String linkUrl;
/**
* 名称
*/
private String name;
/**
* 简要说明
*/
private String brief;
/**
* 排序
*/
private Integer rank;
/**
* 创建者id
*/
private Integer crtUser;
/**
* 上架状态 上架:true 下架:false
*/
private Boolean onState;
/**
* 平台 1:欣新房车官网 2:滴房车官网 0:无限制
*/
private Integer platform;
}
package com.xxfc.platform.uccn.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 12:05
*/
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class FriendLinkFindDTO extends PageParam {
private String name;
private Boolean onState;
}
...@@ -103,4 +103,7 @@ public class SummitActivitySaveDTO implements Serializable { ...@@ -103,4 +103,7 @@ public class SummitActivitySaveDTO implements Serializable {
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
private Integer rank; private Integer rank;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -3,14 +3,12 @@ package com.xxfc.platform.uccn.entity; ...@@ -3,14 +3,12 @@ package com.xxfc.platform.uccn.entity;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import tk.mybatis.mapper.annotation.KeySql; import tk.mybatis.mapper.annotation.KeySql;
import tk.mybatis.mapper.code.IdentityDialect; import tk.mybatis.mapper.code.IdentityDialect;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.Date; import java.util.Date;
...@@ -139,4 +137,6 @@ public class Article { ...@@ -139,4 +137,6 @@ public class Article {
@ApiModelProperty(value = "上架时间") @ApiModelProperty(value = "上架时间")
private Date addTime; private Date addTime;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
package com.xxfc.platform.uccn.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
/**
* @author libin
* @version 1.0
* @description 友情连接
* @data 2019/9/6 10:40
*/
@Data
@Entity
@Table(name = "friend_link")
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class FriendLink implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "JDBC")
private Long id;
/**
* 连接地址
*/
@Column(name = "link_url")
private String linkUrl;
/**
* 名称
*/
private String name;
/**
* 简要说明
*/
private String brief;
/**
* 排序
*/
private Integer rank;
/**
* 创建时间
*/
@Column(name = "crt_time")
private Long crtTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
private Long updTime;
/**
* 发布时间
*/
@Column(name = "publish_time")
private Long publishTime;
/**
* 删除状态 true:正常 1:删除
*/
@Column(name = "is_del")
private Boolean isDel;
/**
* 创建者id
*/
@Column(name = "crt_user")
private Integer crtUser;
/**
* 上架状态 上架:true 下架:false
*/
@Column(name = "on_state")
private Boolean onState;
/**
* 平台 1:欣新房车官网 2:滴房车官网 0:无限制
*/
private Integer platform;
}
...@@ -241,4 +241,7 @@ public class SummitActivity implements Serializable { ...@@ -241,4 +241,7 @@ public class SummitActivity implements Serializable {
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
private Integer rank; private Integer rank;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
package com.xxfc.platform.uccn.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:53
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class FriendLinkAdminVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 连接地址
*/
private String linkUrl;
/**
* 名称
*/
private String name;
/**
* 简要说明
*/
private String brief;
/**
* 排序
*/
private Integer rank;
/**
* 创建时间
*/
private Long crtTime;
/**
* 发布时间
*/
private Long publishTime;
/**
* 创建者id
*/
private Integer crtUser;
/**
* 上架状态 上架:true 下架:false
*/
private Boolean onState;
/**
* 平台 1:欣新房车官网 2:滴房车官网 0:无限制
*/
private Integer platform;
}
package com.xxfc.platform.uccn.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:51
*/
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class FriendLinkVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 连接地址
*/
private String linkUrl;
/**
* 名称
*/
private String name;
/**
* 简要说明
*/
private String brief;
}
...@@ -122,4 +122,7 @@ public class SummitActivityAdminVo implements Serializable { ...@@ -122,4 +122,7 @@ public class SummitActivityAdminVo implements Serializable {
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
private Integer rank; private Integer rank;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -83,4 +83,6 @@ public class SummitActivityDetailVo implements Serializable { ...@@ -83,4 +83,6 @@ public class SummitActivityDetailVo implements Serializable {
@JsonIgnore @JsonIgnore
private Integer willNum; private Integer willNum;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -58,4 +58,7 @@ public class SummitActivityVo implements Serializable { ...@@ -58,4 +58,7 @@ public class SummitActivityVo implements Serializable {
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
@JsonIgnore @JsonIgnore
private Integer rank; private Integer rank;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
package com.xxfc.platform.uccn.vo; package com.xxfc.platform.uccn.vo;
import lombok.Data;
public enum TypeEnum { public enum TypeEnum {
VEHICLE(1, "车型"), VEHICLE(1, "车型"),
TOUR(2, "旅游"), TOUR(2, "旅游"),
......
package com.xxfc.platform.uccn.biz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.uccn.dto.FriendLinkDTO;
import com.xxfc.platform.uccn.dto.FriendLinkFindDTO;
import com.xxfc.platform.uccn.entity.FriendLink;
import com.xxfc.platform.uccn.mapper.FriendLinkMapper;
import com.xxfc.platform.uccn.vo.FriendLinkAdminVO;
import com.xxfc.platform.uccn.vo.FriendLinkVO;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:57
*/
@Service
public class FriendLinkBiz extends BaseBiz<FriendLinkMapper, FriendLink> {
/**
* 保存编辑
* @param friendLinkDTO
*/
public void saveFriendLink(FriendLinkDTO friendLinkDTO) {
FriendLink friendLink = new FriendLink();
BeanUtils.copyProperties(friendLinkDTO, friendLink);
if (Objects.isNull(friendLinkDTO.getId())) {
friendLink.setCrtTime(Instant.now().toEpochMilli());
friendLink.setIsDel(false);
mapper.insertSelective(friendLink);
}else {
friendLink.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(friendLink);
}
}
/**
* 上下架
* @param id
*/
public void updateFriendLinkOnStateById(Long id,Boolean onState){
FriendLink friendLink = FriendLink.builder().id(id).onState(onState).updTime(Instant.now().toEpochMilli()).build();
if (onState){
friendLink.setPublishTime(Instant.now().toEpochMilli());
}
mapper.updateByPrimaryKeySelective(friendLink);
}
/**
* 删除
* @param id
*/
public void deleteFriendLinkById(Long id){
FriendLink friendLink = FriendLink.builder().id(id).updTime(Instant.now().toEpochMilli()).isDel(true).build();
mapper.updateByPrimaryKeySelective(friendLink);
}
/**
* 根据id查询
* @param id
* @return
*/
public FriendLinkDTO findFriendLinkById(Long id){
FriendLinkDTO friendLinkDTO = FriendLinkDTO.builder().build();
FriendLink friendLink = mapper.selectByPrimaryKey(id);
if (Objects.isNull(friendLink)){
return friendLinkDTO;
}
BeanUtils.copyProperties(friendLink,friendLinkDTO);
return friendLinkDTO;
}
public List<FriendLinkVO> listFriendLinkByPlatform(Integer platform){
List<FriendLinkVO> friendLinkVOS = new ArrayList<>();
Example example = new Example(FriendLink.class);
example.setOrderByClause("rank DESC,publish_time DESC");
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel",0);
criteria.andEqualTo("onState",true);
criteria.andIn("platform", Arrays.asList(platform,0));
criteria.andNotEqualTo("linkUrl","");
List<FriendLink> friendLinks = mapper.selectByExample(example);
if (CollectionUtils.isEmpty(friendLinks)){
return friendLinkVOS;
}
friendLinkVOS = JSON.parseObject(JSON.toJSONString(friendLinks), new TypeReference<List<FriendLinkVO>>() {
});
return friendLinkVOS;
}
public PageDataVO<FriendLinkAdminVO> listFriendLinkWithPage(FriendLinkFindDTO friendLinkFindDTO){
PageDataVO<FriendLinkAdminVO> pageDataVO = new PageDataVO<>();
Example example = new Example(FriendLink.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel",0);
if (!StringUtils.isEmpty(friendLinkFindDTO.getName())){
criteria.andLike("name",String.format("%%%s%%",friendLinkFindDTO.getName().trim()));
}
if (Objects.nonNull(friendLinkFindDTO.getOnState())){
criteria.andEqualTo("onState",friendLinkFindDTO.getOnState());
}
PageDataVO<FriendLink> friendLinkPageDataVO = PageDataVO.pageInfo(friendLinkFindDTO.getPage(),friendLinkFindDTO.getLimit(),()->mapper.selectByExample(example));
List<FriendLink> data = friendLinkPageDataVO.getData();
if (CollectionUtils.isEmpty(data)){
return pageDataVO;
}
List<FriendLinkAdminVO> friendLinkAdminVOS = new ArrayList<>();
FriendLinkAdminVO friendLinkAdminVO;
for (FriendLink friendLink : data) {
friendLinkAdminVO = new FriendLinkAdminVO();
BeanUtils.copyProperties(friendLink,friendLinkAdminVO);
friendLinkAdminVOS.add(friendLinkAdminVO);
}
pageDataVO.setData(friendLinkAdminVOS);
pageDataVO.setPageSize(friendLinkPageDataVO.getPageSize());
pageDataVO.setPageNum(friendLinkPageDataVO.getPageNum());
pageDataVO.setTotalPage(friendLinkPageDataVO.getTotalPage());
pageDataVO.setTotalCount(friendLinkPageDataVO.getTotalCount());
return pageDataVO;
}
}
...@@ -187,9 +187,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -187,9 +187,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
if (summitActivities.size() <= num) { if (summitActivities.size() <= num) {
for (SummitActivity summitActivity : summitActivities) { for (SummitActivity summitActivity : summitActivities) {
summitActivityVo = new SummitActivityVo(); summitActivityVo = new SummitActivityVo();
summitActivityVo.setId(summitActivity.getId()); BeanUtils.copyProperties(summitActivity,summitActivityVo);
summitActivityVo.setBanner(summitActivity.getBanner());
summitActivityVo.setTitle(summitActivity.getTitle());
summitActivityVos.add(summitActivityVo); summitActivityVos.add(summitActivityVo);
} }
} else { } else {
...@@ -198,9 +196,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -198,9 +196,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
for (Integer i : resultSet) { for (Integer i : resultSet) {
summitActivityVo = new SummitActivityVo(); summitActivityVo = new SummitActivityVo();
SummitActivity summitActivity = summitActivities.get(i); SummitActivity summitActivity = summitActivities.get(i);
summitActivityVo.setId(summitActivity.getId()); BeanUtils.copyProperties(summitActivity,summitActivityVo);
summitActivityVo.setBanner(summitActivity.getBanner());
summitActivityVo.setTitle(summitActivity.getTitle());
summitActivityVos.add(summitActivityVo); summitActivityVos.add(summitActivityVo);
} }
} }
......
package com.xxfc.platform.uccn.mapper;
import com.xxfc.platform.uccn.entity.FriendLink;
import tk.mybatis.mapper.common.Mapper;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:58
*/
public interface FriendLinkMapper extends Mapper<FriendLink> {
}
package com.xxfc.platform.uccn.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.uccn.biz.FriendLinkBiz;
import com.xxfc.platform.uccn.vo.FriendLinkVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:59
*/
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@RequestMapping("/app/unauth/friend_link")
@Api(tags = "友情链接*官网")
public class FriendLinkController {
private final FriendLinkBiz friendLinkBiz;
@ApiOperation("查询链接列表")
@GetMapping("/list")
public ObjectRestResponse<List<FriendLinkVO>> listFriendLink(@RequestParam(value = "platform",required = false,defaultValue = "1") Integer platform){
List<FriendLinkVO> friendLinkVOS = friendLinkBiz.listFriendLinkByPlatform(platform);
return ObjectRestResponse.succ(friendLinkVOS);
}
}
package com.xxfc.platform.uccn.rest.admin;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.uccn.biz.FriendLinkBiz;
import com.xxfc.platform.uccn.dto.FriendLinkDTO;
import com.xxfc.platform.uccn.dto.FriendLinkFindDTO;
import com.xxfc.platform.uccn.vo.FriendLinkAdminVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/9/6 10:59
*/
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@RequestMapping("/admin/friend_link")
@Api(tags = "友情链接*后台")
public class FriendLinkAdminController {
private final FriendLinkBiz friendLinkBiz;
@ApiOperation("分页")
@PostMapping("/page")
public ObjectRestResponse<PageDataVO<FriendLinkAdminVO>> listFriendLinkWithPage(@RequestBody FriendLinkFindDTO friendLinkFindDTO){
PageDataVO<FriendLinkAdminVO> pageDataVO = friendLinkBiz.listFriendLinkWithPage(friendLinkFindDTO);
return ObjectRestResponse.succ(pageDataVO);
}
@ApiOperation("根据id查询")
@GetMapping("/{id}")
public ObjectRestResponse<FriendLinkDTO> findFriendLink(@PathVariable(value = "id") Long id){
FriendLinkDTO friendLinkDTO = friendLinkBiz.findFriendLinkById(id);
return ObjectRestResponse.succ(friendLinkDTO);
}
@ApiOperation("编辑或保存")
@PostMapping("/save")
public ObjectRestResponse<Void> saveFriendLink(@RequestBody FriendLinkDTO friendLinkDTO){
friendLinkBiz.saveFriendLink(friendLinkDTO);
return ObjectRestResponse.succ();
}
@ApiOperation("上下架")
@PutMapping("/on_state/{id}/{state}")
public ObjectRestResponse<Void> updateFriendLinkOnstate(@PathVariable(value = "id") Long id,@PathVariable(value = "state") Boolean state){
friendLinkBiz.updateFriendLinkOnStateById(id,state);
return ObjectRestResponse.succ();
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public ObjectRestResponse<Void> deleteFriendLink(@PathVariable(value = "id") Long id){
friendLinkBiz.deleteFriendLinkById(id);
return ObjectRestResponse.succ();
}
}
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<mapper namespace="com.xxfc.platform.uccn.mapper.ArticleMapper"> <mapper namespace="com.xxfc.platform.uccn.mapper.ArticleMapper">
<select id="getArticleList" resultType="com.xxfc.platform.uccn.entity.Article"> <select id="getArticleList" resultType="com.xxfc.platform.uccn.entity.Article">
select id, title,epitome,add_time,cover_image from article select id, title,epitome,add_time,cover_image,`alt` from article
where where
is_del=0 is_del=0
and status=1 and status=1
......
...@@ -61,6 +61,14 @@ public class UploadController{ ...@@ -61,6 +61,14 @@ public class UploadController{
return JsonResultUtil.createSuccessResultWithObj(uploadService.uploadFile(file,prefix)); return JsonResultUtil.createSuccessResultWithObj(uploadService.uploadFile(file,prefix));
} }
@RequestMapping(value = "/app/unauth/uploadVideo", method = RequestMethod.POST)
public JSONObject uploadVideo(
@RequestParam("file") MultipartFile file,
@RequestParam(value = "prefix",defaultValue = "app")String prefix
)throws Exception {
return JsonResultUtil.createSuccessResultWithObj(uploadService.uploadFile(file,prefix));
}
@RequestMapping(value = "/app/unauth/admin/upload", method = RequestMethod.POST) @RequestMapping(value = "/app/unauth/admin/upload", method = RequestMethod.POST)
public JSONObject uploads( public JSONObject uploads(
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
......
...@@ -31,7 +31,7 @@ public enum ResCode { ...@@ -31,7 +31,7 @@ public enum ResCode {
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"), VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
VEHICLE_DEPARTURE_VEHICLE_DELETE(104007,"车辆已下架"), VEHICLE_DEPARTURE_VEHICLE_DELETE(104007,"车辆已下架"),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"), VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"),
VEHICLE_DEPARTURE_DATE_IS_NOT_ABLED(104006,"车辆不在出车范围内,请按照预定日期出车!"), VEHICLE_DEPARTURE_DATE_IS_NOT_ABLED(104006,"请按照预定的日期出车!"),
VEHICLE_BOOK_RECORD_IS_NOT_EXIST(104004, "预约记录不存在"), VEHICLE_BOOK_RECORD_IS_NOT_EXIST(104004, "预约记录不存在"),
VEHICLE_UNBOOK_FAIL(104005, "取消预定失败!"), VEHICLE_UNBOOK_FAIL(104005, "取消预定失败!"),
......
package com.xxfc.platform.vehicle.entity; package com.xxfc.platform.vehicle.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
/** /**
...@@ -164,4 +166,7 @@ public class VehicleModel implements Serializable { ...@@ -164,4 +166,7 @@ public class VehicleModel implements Serializable {
@Column(name = "intro") @Column(name = "intro")
@ApiModelProperty(value = "简介") @ApiModelProperty(value = "简介")
private String intro; private String intro;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
...@@ -53,4 +53,7 @@ public class VehicleModelVo extends VehicleModel implements Serializable { ...@@ -53,4 +53,7 @@ public class VehicleModelVo extends VehicleModel implements Serializable {
*/ */
List<VehiclePlatCata> UccnCataList; List<VehiclePlatCata> UccnCataList;
@ApiModelProperty("seo*html标签优化")
private String alt;
} }
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