Commit d2cbffe2 authored by 周健威's avatar 周健威

Merge branch 'dev'

# Conflicts:
#	xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
parents d5c871b7 4188859c
......@@ -47,6 +47,7 @@ public class CommonConstants {
public static final DateTimeFormatter DATE_TIME_LINE_FORMATTER = DateTimeFormatter.ofPattern(DATE_TIME_LINE);
public static final DateTimeFormatter YMR_SLASH_FORMATTER = DateTimeFormatter.ofPattern(YMR_SLASH);
public static final org.joda.time.format.DateTimeFormatter YMR_SLASH_FORMATTER_JODA = org.joda.time.format.DateTimeFormat.forPattern(YMR_SLASH);
public static final FastDateFormat HOUR_MINUTE_FORMATTE_HUTOOL = FastDateFormat.getInstance(HOUR_MINUTE);
}
......@@ -16,6 +16,10 @@ public class ResultCode {
// 操作失败
public static int FAILED_CODE = Integer.valueOf(SystemProperty.getResultConfig("FAILED_CODE"));
//IM消息删除失败
public static int IM_DELETE_FAIL_CODE = Integer.valueOf(SystemProperty.getResultConfig("IM_DELETE_FAIL_CODE"));
public static int IM_MSG_NOT_EXIST_CODE = Integer.valueOf(SystemProperty.getResultConfig("IM_MSG_NOT_EXIST_CODE"));
// 车辆预定失败,请重试
public static int BOOKED_FAILED_CODE = Integer.valueOf(SystemProperty.getResultConfig("BOOKED_FAILED_CODE"));
//预定时间不能为空 DATE_TIME_IS_NULL
......
......@@ -39,4 +39,13 @@ public class GoodDataVO{
@ApiModelProperty("seo*html标签优化")
private String alt;
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
}
......@@ -6,6 +6,10 @@ SUCCESS_CODE=200
#操作失败
FAILED_CODE=1001
1001=操作失败
IM_DELETE_FAIL_CODE = 10011
10011 = 删除消息失败
IM_MSG_NOT_EXIST_CODE = 10012
10012 = 消息不存在
#数据已存在
EXIST_CODE=1002
1002=数据已存在
......
......@@ -26,6 +26,8 @@ public class Menu {
private String type;
private String state;
@Column(name = "order_num")
private Integer orderNum;
private String description;
......@@ -183,6 +185,20 @@ public class Menu {
this.state = state;
}
/**
* @return orderNum
*/
public Integer getOrderNum() {
return orderNum;
}
/**
* @param orderNum
*/
public void setOrderNum(Integer orderNum) {
this.orderNum = orderNum;
}
/**
* @return description
*/
......
......@@ -52,6 +52,9 @@ public interface UserFeign {
public ObjectRestResponse<AppUserDTO> userDetailById(@RequestParam("id") Integer id);
@GetMapping("/app/user/app/unauth/getUserIdByUsername")
public List<Integer> getUserIdByUsername(@RequestParam(value="keywords")String keywords);
/**
*status:0-判断是否认证过,1-认证成功后修改用户认证状态
*userId:用户登录时的id,必须
......
......@@ -144,4 +144,9 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
appUserInfoVo.setNickname(userDetail.getNickname());
return appUserInfoVo;
}
public List<Integer> getUserIdByUsername(String keywords) {
return mapper.getUserIdByUsername(keywords);
}
}
......@@ -19,4 +19,6 @@ public interface AppUserDetailMapper extends Mapper<AppUserDetail> {
void updateUserMemberStatusByUserId(@Param("userId") Integer userId,@Param("status") Integer status);
void updateUserPositionByUserId(@Param("userId") Integer id, @Param("positionId") Integer positionId);
List<Integer> getUserIdByUsername(@Param("keywords") String keywords);
}
\ No newline at end of file
......@@ -175,6 +175,22 @@ public class AppUserController extends CommonBaseController{
Integer userid=Integer.parseInt(username);
return myWaterBiz.getUserProfit(userid);
}
@ApiOperation("获取用IM密码")
@GetMapping("/im/getPwd")
public ObjectRestResponse getPwd() throws Exception{
String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId();
if (username == null) {
throw new Exception();
}
Integer userid=Integer.parseInt(username);
AppUserLogin appUserLogin=appUserLoginBiz.getUserById(userid);
String imPassword="";
if (appUserLogin!=null){
imPassword=appUserLogin.getImPassword();
}
return ObjectRestResponse.succ(imPassword);
}
/**
* 更新用户信息
* @param userVo
......@@ -289,6 +305,14 @@ public class AppUserController extends CommonBaseController{
return ObjectRestResponse.succ(appUserInfoVo);
}
@GetMapping("/app/unauth/getUserIdByUsername")
@IgnoreUserToken
@IgnoreClientToken
public List<Integer> getUserIdByUsername(@RequestParam("keywords") String keywords){
List<Integer> userIds = userDetailBiz.getUserIdByUsername(keywords);
return userIds;
}
@GetMapping("/app/unauth/test")
@IgnoreUserToken
@IgnoreClientToken
......
......@@ -23,6 +23,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
......@@ -178,6 +179,9 @@ public class PermissionService {
User user = userBiz.getUserByUsername(username);
List<Menu> menus = menuBiz.getUserAuthorityMenuByUserId(user.getId());
menus=menus.stream().filter(a->state.contains(a.getState()==null?"1":a.getState())).collect(Collectors.toList());
if (state.contains("2")){
menus.sort(Comparator.comparing(Menu::getOrderNum));
}
return getMenuTree(menus,AdminCommonConstant.ROOT);
}
}
......@@ -42,6 +42,15 @@
where d.userid = #{userId} limit 1
</select>
<select id="getUserIdByUsername" resultType="java.lang.Integer" parameterType="java.lang.String">
select d.userid from app_user_login l
left join app_user_detail d
on d.userid = l.id
where d.realname like concat("%", #{keywords}, "%") or l.username like concat("%", #{keywords}, "%")
</select>
<select id="selectAppUserManage" parameterType="com.github.wxiaoqi.security.admin.dto.AppUserManageDTO"
resultType="com.github.wxiaoqi.security.admin.vo.AppUserManageVo">
select
......
......@@ -13,6 +13,7 @@
<result column="icon" jdbcType="VARCHAR" property="icon"/>
<result column="type" jdbcType="CHAR" property="type"/>
<result column="state" jdbcType="INTEGER" property="state"/>
<result column="order_num" jdbcType="INTEGER" property="orderNum"/>
<result column="description" jdbcType="VARCHAR" property="description"/>
<result column="crt_time" jdbcType="DATE" property="crtTime"/>
<result column="crt_user" jdbcType="VARCHAR" property="crtUser"/>
......
......@@ -168,4 +168,12 @@ public class CampsiteShopAdminDTO {
@ApiModelProperty("seo*html标签优化")
private String alt;
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
}
......@@ -79,5 +79,13 @@ public class CampsiteShopDetailDTO {
@ApiModelProperty("seo*html标签优化")
private String alt;
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
}
......@@ -17,4 +17,6 @@ public class CampsiteShopFindDTO extends PageParam {
private Integer addrCity;
private Integer type;
private String name;
}
......@@ -101,6 +101,18 @@ public class CampsiteShopPageDTO implements Serializable {
@ApiModelProperty("联系人")
private String concat;
@ApiModelProperty("seo*html标签优化")
private String alt;
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
@Override
public boolean equals(Object o) {
if (this == o) {
......
......@@ -216,4 +216,16 @@ public class CampsiteShop implements Serializable {
@ApiModelProperty("seo*html标签优化")
private String alt;
@Column(name = "img_title")
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@Column(name = "img_keyword")
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@Column(name = "img_desc")
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
}
......@@ -4,11 +4,15 @@ package com.xxfc.platform.campsite.feign;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.GoodDataVO;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.sun.org.apache.regexp.internal.RE;
import com.xxfc.platform.campsite.dto.CampsiteShopFindDTO;
import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo;
import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
......@@ -30,9 +34,10 @@ public interface CampsiteFeign {
@ApiOperation("分页查询营地列表")
@GetMapping("/app/unauth/shops")
ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByType(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize);
ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByTypeAndName(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize,
@RequestParam(value = "name",required = false) String name);
/**
* @param longitude 经度
......@@ -44,4 +49,7 @@ public interface CampsiteFeign {
ObjectRestResponse<CampsiteShopDetailVo> findCampsiteShopDetailById(@RequestParam(value = "id") Integer id,
@RequestParam(value = "longitude", required = false) Double longitude,
@RequestParam(value = "latitude", required = false) Double latitude);
@PostMapping(value = "/app/unauth/campsites")
ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageForUncc(@RequestBody CampsiteShopFindDTO campsiteShopFindDTO);
}
......@@ -175,4 +175,13 @@ public class CampsiteShopAdminVO {
@ApiModelProperty("seo*html标签优化")
private String alt;
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
}
......@@ -99,4 +99,16 @@ public class CampsiteShopPageVo implements Serializable {
@ApiModelProperty("地址")
private String address;
@ApiModelProperty("seo*html标签优化")
private String alt;
@ApiModelProperty("seo*html标签优化")
private String imgTitle;
@ApiModelProperty("seo*html标签优化")
private String imgKeyword;
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
}
......@@ -91,9 +91,17 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
return JSONObject.parseObject(result, new TypeReference<PageDataVO<CampsiteShopPageVo>>() {
});
}
PageDataVO<CampsiteShopPageVo> campsiteShopPageDataVO = new PageDataVO<>();
PageDataVO<CampsiteShopPageVo> campsiteShopPageDataVO = findCampsiteShopPageByTypeAndName(campsiteShopFindDTO);
campHashOperations.put(CAMPSITE_LIST_CACHE_PREKEY,campsite_cache_key,JSONObject.toJSONString(campsiteShopPageDataVO));
return campsiteShopPageDataVO;
}
PageDataVO<CampsiteShopPageDTO> pageDataVO = PageDataVO.pageInfo(campsiteShopFindDTO.getPage(), campsiteShopFindDTO.getLimit(), () -> mapper.findAllCampsiteShopsByTypeOrCode(campsiteShopFindDTO.getType(),campsiteShopFindDTO.getAddrProvince(),campsiteShopFindDTO.getAddrCity()));
public PageDataVO<CampsiteShopPageVo> findCampsiteShopPageByTypeAndName(CampsiteShopFindDTO campsiteShopFindDTO){
PageDataVO<CampsiteShopPageVo> campsiteShopPageDataVO = new PageDataVO<>();
PageDataVO<CampsiteShopPageDTO> pageDataVO = PageDataVO.pageInfo(campsiteShopFindDTO.getPage(), campsiteShopFindDTO.getLimit(),
() -> mapper.findAllCampsiteShopsByTypeOrCodeOrName(campsiteShopFindDTO.getType(),campsiteShopFindDTO.getAddrProvince(),
campsiteShopFindDTO.getAddrCity(),campsiteShopFindDTO.getName()));
List<CampsiteShopPageDTO> campsiteShopPageDTOS = pageDataVO.getData();
if (CollectionUtils.isEmpty(campsiteShopPageDTOS)) {
campsiteShopPageDataVO.setPageNum(campsiteShopFindDTO.getPage());
......@@ -106,7 +114,6 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
if (log.isDebugEnabled()) {
log.debug("根据type=【{}】查询到的店铺数据:【{}】", campsiteShopFindDTO.getType(), campsiteShopPageDTOS);
}
List<CampsiteShopPageVo> campsiteShopPageVoList = new ArrayList<>();
campsiteShopPageDTOS = campsiteShopPageDTOS.stream().distinct().collect(Collectors.toList());
for (CampsiteShopPageDTO campsiteShopPageDTO : campsiteShopPageDTOS) {
......@@ -115,14 +122,11 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
campsiteShopPageVoList.add(campsiteShopPageVo);
}
campsiteShopPageVoList.sort(Comparator.comparing(CampsiteShopPageVo::getHot).reversed().thenComparing(CampsiteShopPageVo::getCrtTime).reversed());
campsiteShopPageDataVO.setTotalPage(pageDataVO.getTotalPage());
campsiteShopPageDataVO.setTotalCount(pageDataVO.getTotalCount());
campsiteShopPageDataVO.setPageSize(pageDataVO.getPageSize());
campsiteShopPageDataVO.setPageNum(pageDataVO.getPageNum());
campsiteShopPageDataVO.setData(campsiteShopPageVoList);
campHashOperations.put(CAMPSITE_LIST_CACHE_PREKEY,campsite_cache_key,JSONObject.toJSONString(campsiteShopPageDataVO));
return campsiteShopPageDataVO;
}
......@@ -329,6 +333,11 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
return true;
}
public PageDataVO<CampsiteShopPageVo> findCampsiteShopPageForUncc(CampsiteShopFindDTO campsiteShopFindDTO) {
return findCampsiteShopPageByTypeAndName(campsiteShopFindDTO);
}
private long transformStartTime(Long startTime) {
return LocalDateTime.ofInstant(new Date(startTime).toInstant(), ZoneOffset.ofHours(+8))
.withHour(0)
......@@ -399,4 +408,5 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
s = s * EARTH_RADIUS;
return s;
}
}
\ No newline at end of file
......@@ -26,9 +26,10 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
*
* @param typeId
*/
List<CampsiteShopPageDTO> findAllCampsiteShopsByTypeOrCode(@Param("typeId") Integer typeId,
@Param("proviceCode") Integer proviceCode,
@Param("cityCode") Integer cityCode);
List<CampsiteShopPageDTO> findAllCampsiteShopsByTypeOrCodeOrName(@Param("typeId") Integer typeId,
@Param("proviceCode") Integer proviceCode,
@Param("cityCode") Integer cityCode,
@Param("name") String name);
/**
* 首页营地列表
......@@ -82,7 +83,7 @@ public interface CampsiteShopMapper extends Mapper<CampsiteShop> {
* @param name
* @return
*/
int checkNameExist(@Param("id") Integer id,@Param("name") String name);
int checkNameExist(@Param("id") Integer id, @Param("name") String name);
}
......@@ -29,17 +29,22 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
@ApiOperation("分页查询营地列表")
@GetMapping("/app/unauth/shops")
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByType(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize) {
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByTypeAndName(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize) {
CampsiteShopFindDTO campsiteShopFindDTO = new CampsiteShopFindDTO();
campsiteShopFindDTO.setType(type);
campsiteShopFindDTO.setPage(pageNo);
campsiteShopFindDTO.setLimit(pageSize);
PageDataVO<CampsiteShopPageVo> pageDataVO = getBaseBiz().findCampsiteShopPageByType(campsiteShopFindDTO);
return ObjectRestResponse.succ(pageDataVO);
}
}
@PostMapping(value = "/app/unauth/campsites")
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageForUncc(@RequestBody CampsiteShopFindDTO campsiteShopFindDTO) {
PageDataVO<CampsiteShopPageVo> campsiteShops = baseBiz.findCampsiteShopPageForUncc(campsiteShopFindDTO);
return ObjectRestResponse.succ(campsiteShops);
}
/**
* @param longitude 经度
......@@ -49,8 +54,8 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
@ApiOperation("查询营地详情")
@GetMapping("/app/unauth/shop")
public ObjectRestResponse<CampsiteShopDetailVo> findCampsiteShopDetailById(@RequestParam(value = "id") Integer id,
@RequestParam(value = "longitude",required = false) Double longitude,
@RequestParam(value = "latitude",required = false) Double latitude) {
@RequestParam(value = "longitude", required = false) Double longitude,
@RequestParam(value = "latitude", required = false) Double latitude) {
CampsiteShopDetailVo campsiteShopDetailVo = getBaseBiz().findCampsiteShopDetailById(id, longitude, latitude);
return ObjectRestResponse.succ(campsiteShopDetailVo);
}
......@@ -58,8 +63,8 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
@ApiOperation("首页营地列表")
@GetMapping(value = "/app/shopList")
public List<GoodDataVO> goodList(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "limit",defaultValue = "4") Integer limit) {
return getBaseBiz().getAllByHome(page,limit);
@RequestParam(value = "limit", defaultValue = "4") Integer limit) {
return getBaseBiz().getAllByHome(page, limit);
}
@ApiOperation("随机获取营地")
......@@ -67,8 +72,9 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
public ObjectRestResponse findRandomVehicle(Integer number) {
return baseBiz.findRandomVehicle(number);
}
@PostMapping(value = "/app/unauth/webchat_official/campsites")
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsitesForPublicNumber(@RequestBody CampsiteShopFindDTO campsiteShopFindDTO){
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsitesForPublicNumber(@RequestBody CampsiteShopFindDTO campsiteShopFindDTO) {
PageDataVO<CampsiteShopPageVo> campsiteShops = baseBiz.findCampsiteShopPageByType(campsiteShopFindDTO);
return ObjectRestResponse.succ(campsiteShops);
......
......@@ -3,7 +3,7 @@
<mapper namespace="com.xxfc.platform.campsite.mapper.CampsiteShopMapper">
<!-- 可根据自己的需求,是否要使用 -->
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.campsite.entity.CampsiteShop" id="campsiteShopMap">
<result property="id" column="id"/>
<result property="name" column="name"/>
......@@ -33,10 +33,13 @@
<result property="hot" column="hot"/>
<result property="saleState" column="sale_state"/>
<result property="alt" column="alt"/>
<result property="imgTitle" column="img_title"/>
<result property="imgKeyword" column="img_keyword"/>
<result property="imgDesc" column="img_desc"/>
</resultMap>
<!--根据类型查询全部-->
<select id="findAllCampsiteShopsByTypeOrCode" resultType="com.xxfc.platform.campsite.dto.CampsiteShopPageDTO">
<select id="findAllCampsiteShopsByTypeOrCodeOrName" resultType="com.xxfc.platform.campsite.dto.CampsiteShopPageDTO">
SELECT
cs.id AS `id`,
cs. NAME AS `name`,
......@@ -51,6 +54,10 @@
cs.hot AS `hot`,
cs.crt_time AS `crtTime`,
cs.concat AS `concat`,
cs.alt AS `alt`,
cs.img_title AS `imgTitle`,
cs.img_keyword AS `imgKeyword`,
cs.img_desc AS `imgDesc`,
REPLACE(GROUP_CONCAT( DISTINCT ct.`name` ),',','|') AS `storeTypeName`
FROM campsite_shop cs
LEFT JOIN campsite_shop_tag cst ON cs.id = cst.shop_id
......@@ -63,10 +70,13 @@
and cst.tag_id=#{typeId}
</if>
<if test="proviceCode != null">
and `province`=#{proviceCode}
and cs.`province`=#{proviceCode}
</if>
<if test="cityCode != null">
and `city`=#{cityCode}
and cs.`city`=#{cityCode}
</if>
<if test="name!=null and name!=''">
and cs.`name` like concat('%',#{name},'%')
</if>
GROUP BY cs.id
order by cs.hot DESC,cs.crt_time DESC
......@@ -74,7 +84,7 @@
<!--首页查询全部-->
<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,cs.alt
select cs.id as `id`,cs.name as `name`,cs.logo as `imgUrl`,cs.province_name as `name1`,cs.longitude,cs.latitude,cs.alt,cs.img_title as `imgTitle`,cs.img_keyword as `imgKeyword`,cs.img_desc as `imgDesc`
FROM `campsite_shop` cs
where cs.sale_state=1 and cs.is_del=0
order by cs.hot desc
......@@ -82,7 +92,7 @@
</select>
<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,cs.alt
select cs.id as `id`,cs.name as `name`,cs.logo as `imgUrl`,cs.province_name as `name1`,cs.longitude,cs.latitude,cs.alt,cs.img_title as `imgTitle`,cs.img_keyword as `imgKeyword`,cs.img_desc as `imgDesc`
FROM `campsite_shop` cs
where cs.sale_state=1 and cs.is_del=0
order by cs.hot desc
......@@ -91,26 +101,27 @@
<!--根据id查询详情-->
<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` ,
`content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude`,`alt` from `campsite_shop` where `id`=#{id}
`content` as `content`,`configure` as `configure`,`longitude` as `longitude`,`latitude` as `latitude`,`alt`,img_title as `imgTitle`,img_keyword as `imgKeyword`,img_desc as `imgDesc` from `campsite_shop` where `id`=#{id}
</select>
<!--根据查询条件分页查询-->
<select id="findAllCampsiteShops" parameterType="com.xxfc.platform.campsite.dto.CampsiteShopAdminFindDTO" resultType="com.xxfc.platform.campsite.dto.CampsiteShopAdminPageDTO">
SELECT `id`,`name`,`hot`,`crt_time` as `crtTime`,`start_time` as `shopStartTime`,`sale_state` as
<select id="findAllCampsiteShops" parameterType="com.xxfc.platform.campsite.dto.CampsiteShopAdminFindDTO"
resultType="com.xxfc.platform.campsite.dto.CampsiteShopAdminPageDTO">
SELECT `id`,`name`,`hot`,`crt_time` as `crtTime`,`start_time` as `shopStartTime`,`sale_state` as
`saleState` FROM `campsite_shop`
where `is_del`=0
<if test="startTime != null and endTime!=null">
and start_time between #{startTime} and #{endTime}
</if>
where `is_del`=0
<if test="startTime != null and endTime!=null">
and start_time between #{startTime} and #{endTime}
</if>
<if test="startTime != null and endTime==null">
and <![CDATA[ start_time >= #{startTime} ]]>
</if>
<if test="endTime != null and startTime==null">
and <![CDATA[ start_time <= #{endTime} ]]>
</if>
<if test="name != null and name != ''">
and `name` like concat('%',#{name},'%')
</if>
<if test="name != null and name != ''">
and `name` like concat('%',#{name},'%')
</if>
ORDER BY `hot` DESC
</select>
......
......@@ -9,6 +9,7 @@ import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.mongodb.client.result.DeleteResult;
import com.xxfc.platform.im.dto.CommentVo;
import com.xxfc.platform.im.dto.PraiseVo;
import com.xxfc.platform.im.dto.QuestionParamDto;
......@@ -16,7 +17,9 @@ import com.xxfc.platform.im.model.Comment;
import com.xxfc.platform.im.model.Msg;
import com.xxfc.platform.im.model.Praise;
import com.xxfc.platform.im.vo.MsgVo;
import com.xxfc.platform.universal.constant.ResCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
......@@ -27,9 +30,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.*;
@Service
@Slf4j
......@@ -162,6 +163,36 @@ public class MsgBiz {
}
/**
* 删除消息
* @param ids id字符串,用逗号隔开
* @return
*/
public ObjectRestResponse deleteByList(String ids) {
Integer userId = 0;
AppUserDTO appUserDTO = userBiz.getUserInfo();
if(appUserDTO == null) {
return ObjectRestResponse.createFailedResult(ResultCode.RSTOKEN_EXPIRED_CODE, ResultCode.getMsg(ResultCode.RSTOKEN_EXPIRED_CODE));
}
if (StringUtils.isBlank(ids)) {
return ObjectRestResponse.paramIsEmpty();
}
userId = appUserDTO.getImUserid();
List<String> list = Arrays.asList(ids.split(","));
Set<String> set = new HashSet<>();
set.addAll(list);
Query query = new Query(Criteria.where("id").in(set));
query.addCriteria(Criteria.where("userId").is(userId));
List<Msg> msgList = mongoTemplate.find(query, Msg.class, "s_msg");
if(msgList.size() != set.size()) { //查询到的消息条数不等于查询的Id数
return ObjectRestResponse.createFailedResult(ResultCode.IM_DELETE_FAIL_CODE, ResultCode.getMsg(ResultCode.IM_DELETE_FAIL_CODE));
}
DeleteResult deleteResult = mongoTemplate.remove(query, Msg.class, "s_msg");
if (deleteResult != null && deleteResult.getDeletedCount() == set.size()) {
return ObjectRestResponse.succ();
}
return ObjectRestResponse.createFailedResult(ResultCode.IM_DELETE_FAIL_CODE, ResultCode.getMsg(ResultCode.IM_DELETE_FAIL_CODE));
}
/**
......
......@@ -35,4 +35,9 @@ public class MsgController {
public ObjectRestResponse getByUserId(Integer page, Integer limit, Integer type) {
return msgBiz.getMsgListByUserId(page, limit, type);
}
@GetMapping(value = "/delete")
public ObjectRestResponse deleteByIds(String ids) {
return msgBiz.deleteByList(ids);
}
}
package com.xxfc.platform.order.contant.enumerate;
import java.util.HashMap;
import java.util.Map;
public enum AccountTypeEnum {
//账款类型 1*--入账;2*--出账
//账款类型 记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款
IN_ORDER_PAY(101, "订单支付"),
OUT_ORDER_FUND(201, "订单款"),
OUT_DEPOSIT(202, "所有押金"),
OUT_PART_DEPOSIT(203, "部分押金(扣除该扣除的 + 保留违章预备金)"),
OUT_RESIDUE_DEPOSIT(204, "剩余押金(扣除该扣除的)"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(AccountTypeEnum enumE : AccountTypeEnum.values()){
codeAndDesc.put(enumE.getCode(),enumE.getDesc());
}
}
AccountTypeEnum(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
\ No newline at end of file
......@@ -7,6 +7,7 @@ public enum CrosstownTypeEnum {
DEPARTURE(1, "交车"),
ARRIVE(2, "还车"),
FIXED_LOSS(3, "定损"),
FIXED_LOSS_NOW(4, "定损"),
;
/**
* 编码
......
package com.xxfc.platform.order.contant.enumerate;
import java.util.HashMap;
import java.util.Map;
public enum DeductionTypeEnum {
//账款类型 1--违约金;2--消费金额;3--赔偿金(定损);4--违章相关
VIOLATE_CANCEL(101, "提前取消违约金"),
VIOLATE_ADVANCE(102, "提前还车违约金"),
VIOLATE_DELAY(103, "延迟还车违约金"),
CONSUME(201, "消费金额"),
DAMAGES(301, "赔偿金(定损)"),
VIOLATE_TRAFFIC_DEDUCT(401, "违章扣款"),
VIOLATE_TRAFFIC_KEEP(402, "违章扣款保留金"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(DeductionTypeEnum enumE : DeductionTypeEnum.values()){
codeAndDesc.put(enumE.getCode(),enumE.getDesc());
}
}
DeductionTypeEnum(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
\ No newline at end of file
......@@ -4,12 +4,18 @@ import java.util.HashMap;
import java.util.Map;
public enum OrderCostEnum {
RentVehicle(1, "租车费用明细"),
RENT_VEHICLE("01", "租车费用明细"),
TOUR("02", "旅游费用明细"),
CANCEL_NO_START("03", "取消违约金明细"),
CANCEL_STARTED("04", "取消费用明细"),
FINLISH_ADVANCE("05", "租车费用明细"),
FINLISH_DELAY("06", "租车费用明细"),
;
/**
* 编码
*/
private Integer code;
private String code;
/**
* 类型描述
*/
......@@ -17,16 +23,16 @@ public enum OrderCostEnum {
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
OrderCostEnum(Integer code, String desc){
OrderCostEnum(String code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
public String getCode() {
return code;
}
public void setCode(Integer code) {
public void setCode(String code) {
this.code = code;
}
......
......@@ -6,7 +6,8 @@ import java.util.Map;
public enum OrderViolateEnum {
BEFORE(1, "提前"),
AFTER(2, "延期")
AFTER(2, "延期"),
EXCESS(3, "消费超额金")
;
/**
* 编码
......
......@@ -78,10 +78,10 @@ public class BaseOrder implements Serializable {
private BigDecimal goodsAmount;
/**
* 订单价格
* 订单总金额
*/
@Column(name = "order_amount")
@ApiModelProperty(value = "订单价格")
@ApiModelProperty(value = "订单总金额")
private BigDecimal orderAmount;
/**
......
......@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -15,7 +16,9 @@ import java.util.Date;
* @author Administrator
*/
@Data
public class DailyOrderStatistics {
public class DailyOrderStatistics implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
......
......@@ -13,9 +13,15 @@ import java.math.BigDecimal;
@Data
@Table(name = "daily_travel_order_statistics")
public class DailyTravelOrderStatistics extends DailyOrderStatistics {
/**
* 违约总额
*/
@Column(name = "default_money ")
private BigDecimal defaultMoney ;
/**
* 取消订单总
* 退还订单金
*/
@Column(name = "penal_sum")
private BigDecimal penalSum;
@Column(name = "return_gmv")
private BigDecimal returnGmv;
}
......@@ -17,27 +17,28 @@ import java.util.Date;
/**
* 每日租车订单统计
*
* @author Administrator
*/
@Data
@Table(name = "daily_vehicle_order_statistics")
public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
public class DailyVehicleOrderStatistics extends DailyOrderStatistics {
/**
* 预交押金总额
*/
@Column(name = "security_deposit")
private BigDecimal securityDeposit;
private BigDecimal securityDeposit;
/**
* 退还押金总额
*/
@Column(name = "refund_security_deposit")
private BigDecimal refundSecurityDeposit;
private BigDecimal refundSecurityDeposit;
/**
* 赔偿总额
* 损坏赔偿总额
*/
@Column(name = "compensation")
private BigDecimal compensation;
......@@ -46,19 +47,25 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
* 违章总额
*/
@Column(name = "forfeit")
private BigDecimal violationMoney;
private BigDecimal violationMoney;
/**
* 延期总
* 退还订单金
*/
@Column(name = "postpone")
private BigDecimal postpone;
@Column(name = "return_gmv")
private BigDecimal returnGmv;
/**
* 取消订单扣款总额
* 违约总额
*/
@Column(name = "penal_sum")
private BigDecimal penalSum;
@Column(name = "default_money ")
private BigDecimal defaultMoney ;
/**
* 消费金总额
*/
@Column(name = "total_expenditure")
private BigDecimal totalExpenditure;
}
package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 订单帐目
*
* @author zhoujw
* @email 18178966185@163.com
* @date 2019-09-09 15:51:16
*/
@Data
@Table(name = "order_account")
public class OrderAccount implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键")
private Integer id;
/**
* 订单id
*/
@Column(name = "order_id")
@ApiModelProperty(value = "订单id")
private Integer orderId;
/**
* 账款对应的流水号
*/
@Column(name = "trade_no")
@ApiModelProperty(value = "账款对应的流水号")
private String tradeNo;
/**
* 记账时间
*/
@Column(name = "account_time")
@ApiModelProperty(value = "记账时间")
private Long accountTime;
/**
* 记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款
*/
@Column(name = "account_type")
@ApiModelProperty(value = "记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款")
private Integer accountType;
/**
* 账款状态 1--成功;2--失败
*/
@Column(name = "account_status")
@ApiModelProperty(value = "账款状态 1--成功;2--失败")
private Integer accountStatus;
/**
* 账款金额
*/
@Column(name = "account_amount")
@ApiModelProperty(value = "账款金额")
private BigDecimal accountAmount;
/**
* 账款说明
*/
@Column(name = "account_desc")
@ApiModelProperty(value = "账款说明")
private String accountDesc;
/**
* 账款详情
*/
@Column(name = "account_detail")
@ApiModelProperty(value = "账款详情")
private String accountDetail;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 原金额
*/
@Column(name = "original_amount")
@ApiModelProperty(value = "原金额")
private BigDecimal originalAmount;
/**
* 扣除金额
*/
@Column(name = "deduct_amount")
@ApiModelProperty(value = "扣除金额")
private BigDecimal deductAmount;
}
......@@ -146,6 +146,14 @@ public class OrderItem implements Serializable {
return calculateAmount;
}
public BigDecimal getBuyAmount() {
return getUnitPrice().multiply(new BigDecimal(getBuyNum() + ""));
}
public BigDecimal getCutAmount() {
return getUnitPrice().multiply(new BigDecimal(getCutNum() + ""));
}
public BigDecimal handleCouponAmount(BigDecimal couponAmount) {
BigDecimal realAmountResidue = getRealAmount().subtract(couponAmount);
//剩余价格小于0 即优惠价格超出本item的实际价格,返回剩余优惠
......
package com.xxfc.platform.order.entity;
import com.github.wxiaoqi.security.common.util.JsonUtil;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -315,4 +317,20 @@ public class OrderRentVehicleDetail implements Serializable {
// @Column(name = "back_free_days")
// Integer backFreeDays;
@ApiModelProperty(value = "违章金额")
@Column(name = "violate_traffic_amount")
BigDecimal violateTrafficAmount;
@ApiModelProperty(value = "使用天数")
@Column(name = "used_day")
Integer usedDay;
@Column(name = "cost_detail_extend")
@ApiModelProperty(value = "费用其他明细 type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细")
private String costDetailExtend;
public void handelCostDetailExtend(CostDetailExtend costDetailExtend) {
this.costDetailExtend = JsonUtil.objectToJson(((CostDetailExtend)costDetailExtend));
}
}
......@@ -12,48 +12,58 @@ import java.math.BigDecimal;
*/
@Data
@ApiModel(value = "订单统计实体")
@ApiModel(value = "历史订单统计实体")
public class OrderStatistics {
/**
* 月成交总金额
* 历史交总金额
*/
@ApiModelProperty(value = "月成交总金额")
@ApiModelProperty(value = "历史交总金额")
private BigDecimal totalGmv;
/**
* 押金总额
* 历史押金总额
*/
@ApiModelProperty(value = "押金总额")
@ApiModelProperty(value = "历史押金总额")
private BigDecimal totalSecurityDeposit;
/**
* 退还押金总额
* 历史退还押金总额
*/
@ApiModelProperty(value = "退还押金总额")
@ApiModelProperty(value = "历史退还押金总额")
private BigDecimal totalRefundSecurityDeposit;
/**
* 赔偿总额
* 历史赔偿总额
*/
@ApiModelProperty(value = "赔偿总额")
@ApiModelProperty(value = "历史赔偿总额")
private BigDecimal totalCompensation;
/**
* 违章总额
* 历史违章总额
*/
@ApiModelProperty(value = "违章总额")
@ApiModelProperty(value = "历史违章总额")
private BigDecimal totalForfeit;
/**
* 历史订单退款
*/
@ApiModelProperty(value = "历史订单退款")
private BigDecimal totalReturnGmv;
/**
* 月取消订单扣款总额
* 历史延期扣款总额
*/
@ApiModelProperty(value = "月取消订单扣款总额")
private BigDecimal totalPenalSum;
@ApiModelProperty(value = "历史延期扣款总额")
private BigDecimal totalDefaultMoney;
/**
* 月延期扣款总额
* 历史实际消费总额
*/
@ApiModelProperty(value = "月延期扣款总额")
private BigDecimal totalPostpone;
@ApiModelProperty(value = "历史实际消费总额")
private BigDecimal totalExpenditure;
}
package com.xxfc.platform.order.entity;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.util.JsonUtil;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import com.xxfc.platform.tour.entity.TourUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -245,6 +247,14 @@ public class OrderTourDetail implements Serializable {
@ApiModelProperty(value = "是否省外 1--省外;0--省内")
private Integer isOutside;
@Column(name = "cost_detail_extend")
@ApiModelProperty(value = "费用其他明细 type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细")
private String costDetailExtend;
@Transient
private List<TourUser> userVoList;
public void handelCostDetailExtend(CostDetailExtend costDetailExtend) {
this.costDetailExtend = JsonUtil.objectToJson(((CostDetailExtend)costDetailExtend));
}
}
......@@ -134,4 +134,6 @@ public class OrderVehicleCrosstown {
//操作人ID
private Integer orperaterId;
private String userLicenseImg;
}
\ No newline at end of file
......@@ -7,6 +7,9 @@ import java.util.List;
@Data
public class DedDetailDTO {
//public static final int TYPE_VIOLATE_ADVANCE = 1;
/**
* : 扣除项名称
*/
......@@ -17,13 +20,19 @@ public class DedDetailDTO {
*/
BigDecimal cost;
/**
* 订单超额费用
*/
BigDecimal excessCost;
/**
* 编号(用于顺序)
*/
Integer id;
//1、延期, 2、车辆损坏 3、其他
//作为:DedDetail :2、车辆损坏 3、其他
//作为:violate_amount_detail 1--提前还车 2--延期还车 3--消费超额
Integer type;
//小雨都不知道什么东西
......
package com.xxfc.platform.order.pojo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class HomePageOrderData {
/**
* 订单总额
*/
private BigDecimal totalOrders;
/**
* 为退还押金总额
*/
private BigDecimal totalOutstandingDeposit;
/**
* 额外赔款
*/
private BigDecimal additionalIndemnity;
}
package com.xxfc.platform.order.pojo.account;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxfc.platform.order.entity.OrderAccount;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
@Data
public class OrderAccountDTO extends OrderAccount {
@Column(name = "companyId")
private Integer companyId;
@Column(name = "oneDay")
private String oneDay;
}
package com.xxfc.platform.order.pojo.account;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class OrderAccountDeduction {
public static final int ORIGIN_ORDER = 1;
public static final int ORIGIN_DEPOSIT = 2;
public static final int ORIGIN_ORDER_DEPOSIT = 3;
public static final int ORIGIN_DEPOSIT_ORDER = 4;
/**
* 名称
*/
String name;
/**
* 类型
*/
Integer type;
/**
* 来源 1--订单款 2--押金
*/
Integer origin;
/**
* 金额
*/
BigDecimal amount;
}
package com.xxfc.platform.order.pojo.account;
import lombok.Data;
import org.assertj.core.util.Lists;
import java.math.BigDecimal;
import java.util.List;
@Data
public class OrderAccountDetail {
/**
* 实际返回订单款 账单的的orderAmount 对应的是 订单的商品金额
*/
BigDecimal orderAmount = BigDecimal.ZERO;
/**
* 实际返回押金款
*/
BigDecimal depositAmount = BigDecimal.ZERO;
/**
* 原来要返回的订单款 账单的的orderAmount 对应的是 订单的商品金额
*/
BigDecimal originOrderAmount = BigDecimal.ZERO;
/**
* 原来要返回的押金款
*/
BigDecimal originDepositAmount = BigDecimal.ZERO;
/**
* 扣款列表
*/
List<OrderAccountDeduction> deductions = Lists.newArrayList();
}
......@@ -23,6 +23,36 @@ public class InProgressVO {
*/
BigDecimal extraAmount = BigDecimal.ZERO;
/**
* 实际主要消费金额
*/
BigDecimal consumeAmount = BigDecimal.ZERO;
/**
* 已使用天数
*/
Integer usedDays = 0;
/**
* 已使用的金额
*/
BigDecimal usedAmount = BigDecimal.ZERO;
/**
* 已使用免费天数
*/
Integer usedfreeDays = 0;
/**
* 已使用的免费天数对应的费用
*/
BigDecimal usedFreeDaysAmount = BigDecimal.ZERO;
/**
* 返回订单款金额
*/
BigDecimal refundOrderAmount = BigDecimal.ZERO;
/**
* 返还的优惠券
*/
......@@ -32,4 +62,9 @@ public class InProgressVO {
* 返还的免费天数
*/
Integer backFreeDays = 0;
String cancelCostDetail = "";
String advanceDelayCostDetail = "";
}
package com.xxfc.platform.order.pojo.order;
import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
import lombok.Data;
......@@ -33,6 +34,8 @@ public class OrderPageVO extends BaseOrder {
private String telephone;
//订单违约金
private String dedDetailDTO;
/**
* 車輛編碼
*/
......
package com.xxfc.platform.order.pojo.price;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class CancelNoStartVO extends CostDetailExtend{
/**
* 违约金描述
*/
private String violateDesc = "";
/**
* 违约金额
*/
private BigDecimal violateAmount = BigDecimal.ZERO;
public CancelNoStartVO() {
this.type = CANCEL_NO_START;
}
}
package com.xxfc.platform.order.pojo.price;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class CancelStartedVO extends CostDetailExtend {
/**
* 消费金额(实际计费)
*/
private BigDecimal consumeAmount = BigDecimal.ZERO;
/**
* 租车单价
*/
private BigDecimal modelAmount = BigDecimal.ZERO;
/**
* 使用天数
*/
private Integer usedDayNum = 0;
/**
* 使用金额
*/
private BigDecimal usedAmount = BigDecimal.ZERO;
/**
* 使用免费天数
*/
private Integer usedfreeDayNum = 0;
/**
* 使用免费金额
*/
private BigDecimal usedFreeAmount = BigDecimal.ZERO;
/**
* 违约金描述
*/
private String violateDesc;
/**
* 违约金金额
*/
private BigDecimal violateAmount = BigDecimal.ZERO;
/**
* 优惠金额
*/
private BigDecimal couponAmount = BigDecimal.ZERO;
/**
* 优惠描述
*/
private String couponDesc;
/**
* 原订单是否包含优惠券
*/
private Boolean hadConpon = Boolean.FALSE;
/**
* 赔偿金
*/
private BigDecimal damagesAmount = BigDecimal.ZERO;
}
package com.xxfc.platform.order.pojo.price;
import cn.hutool.json.JSONUtil;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class CostDetailExtend {
public static final int CANCEL_NO_START = 1;
public static final int CANCEL_STARTED = 2;
public static final int FINLISH_ADVANCE = 3;
public static final int FINLISH_DELAY = 4;
public static final int FINLISH_ONTIME = 5;
private String costDetail = "";
/**
* type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细 5--订单按时还车
*/
protected Integer type;
/**
* 违约金描述
*/
private String violateDesc;
/**
* 违约金金额
*/
private BigDecimal violateAmount = BigDecimal.ZERO;
/**
* 参数json
*/
public String paramJson = "";
public void initParamJson() {
paramJson = JSONUtil.toJsonStr(this);
}
}
package com.xxfc.platform.order.pojo.price;
import cn.hutool.json.JSONUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -7,12 +8,21 @@ import java.math.BigDecimal;
@Data
public class OrderPriceVO {
@ApiModelProperty(value = "订单价格")
public BigDecimal orderAmount;
@ApiModelProperty(value = "订单总金额")
public BigDecimal orderAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "商品价格")
public BigDecimal goodsAmount;
public BigDecimal goodsAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "实际价格")
public BigDecimal realAmount;
public BigDecimal realAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "优惠券扣除的费用")
public BigDecimal couponAmount;
public BigDecimal couponAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "优惠券扣除的费用")
public String couponDesc = "";
@ApiModelProperty(value = "参数json")
public String paramJson = "";
public void initParamJson() {
paramJson = JSONUtil.toJsonStr(this);
}
}
......@@ -8,29 +8,55 @@ import java.math.BigDecimal;
@Data
public class RentVehiclePriceVO extends OrderPriceVO{
@ApiModelProperty(value = "车辆价格")
BigDecimal vehicleAmount;
BigDecimal vehicleAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "司机价格")
BigDecimal driverAmount;
BigDecimal driverAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "免赔付价格")
BigDecimal damageSafeAmount;
BigDecimal damageSafeAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "押金价格")
BigDecimal deposit;
BigDecimal deposit = BigDecimal.ZERO;
@ApiModelProperty(value = "天数")
Integer dayNum;
Integer dayNum = 0;
@ApiModelProperty(value = "车辆天数")
Integer vehicleDayNum;
Integer vehicleDayNum = 0;
@ApiModelProperty(value = "车辆个数")
Integer vehicleNum;
Integer vehicleNum = 0;
@ApiModelProperty(value = "司机个数")
Integer driverNum;
Integer driverNum = 0;
@ApiModelProperty(value = "车型名称")
String modelName;
String modelName = "";
@ApiModelProperty(value = "车型价格")
BigDecimal modelAmount;
BigDecimal modelAmount = BigDecimal.ZERO;
@ApiModelProperty(value = "司机单价")
BigDecimal driverPrice;
BigDecimal driverPrice = BigDecimal.ZERO;
@ApiModelProperty(value = "免赔付单价")
BigDecimal damageSafePrice;
BigDecimal damageSafePrice = BigDecimal.ZERO;
@ApiModelProperty(value = "费用详情")
private String costDetail;
private String costDetail = "";
// /**
// * 原租车天数
// */
// private Integer originDayNum;
/**
* 免费天数
*/
private Integer freeDayNum = 0;
/**
* 免费价格
*/
private BigDecimal freeAmount = BigDecimal.ZERO;
/**
* 购买的租车金额
*/
private BigDecimal buyVehicleAmount = BigDecimal.ZERO;
/**
* 优惠描述
*/
private String couponDesc = "";
}
......@@ -8,49 +8,49 @@ import java.math.BigDecimal;
@Data
public class TourPriceVO extends OrderPriceVO{
@ApiModelProperty(value = "费用详情")
private String costDetail;
private String costDetail = "";
@ApiModelProperty(value = "成人人数")
private Integer number;
private Integer number = 0;
@ApiModelProperty(value = "儿童人数")
private Integer childNumber;
private Integer childNumber = 0;
//大人单价"
@ApiModelProperty(value = "大人单价")
private BigDecimal price;
private BigDecimal price = BigDecimal.ZERO;
//大人总价
@ApiModelProperty(value = "大人总价")
private BigDecimal totalPrice;
private BigDecimal totalPrice = BigDecimal.ZERO;
//大人真实总价(优惠后的价格)
@ApiModelProperty(value = "大人真实总价(优惠后的价格)")
private BigDecimal realPrice;
private BigDecimal realPrice = BigDecimal.ZERO;
//儿童单价
@ApiModelProperty(value = "儿童单价")
private BigDecimal childPrice;
private BigDecimal childPrice = BigDecimal.ZERO;
//儿童总价
@ApiModelProperty(value = "儿童总价")
private BigDecimal totalChildPrice;
private BigDecimal totalChildPrice = BigDecimal.ZERO;
//儿童真实总价(优惠后的价格)
@ApiModelProperty(value = "儿童真实总价(优惠后的价格)")
private BigDecimal realChildPrice;
private BigDecimal realChildPrice = BigDecimal.ZERO;
//保险费用
@ApiModelProperty(value = "保险费用")
private BigDecimal insureAmount;
private BigDecimal insureAmount = BigDecimal.ZERO;
//保险单价
@ApiModelProperty(value = "保险单价")
private BigDecimal insurePrice;
private BigDecimal insurePrice = BigDecimal.ZERO;
//天数
@ApiModelProperty(value = "天数")
private Integer dayNum;
private Integer dayNum = 0;
//总人数
@ApiModelProperty(value = "总人数")
private Integer totalNumber;
private Integer totalNumber = 0;
}
package com.xxfc.platform.order.biz;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.google.common.collect.Lists;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.DailyMembersOrderStatistics;
import com.xxfc.platform.order.entity.OrderAccount;
import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -33,31 +42,31 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
@Value("${order.day}")
private Integer day;
/**
* 总公司id默认为1
*/
private final Integer OMPANY_ID=1;
@Autowired
private OrderAccountBiz accountBiz;
@Transactional(rollbackFor = Exception.class)
public boolean memberOrderStatistics() {
public boolean saveDailyMembersOrderRecord() {
try {
List<OrderAccountDTO> accountList = accountBiz.getOrderAccountByOrderType(OrderTypeEnum.MEMBER.getCode(), day);
Map<String, Object> travelGmv = mapper.getTravelGmv(day);
if (travelGmv.isEmpty()) {
return true;
}
DailyMembersOrderStatistics MembersStatistics = new DailyMembersOrderStatistics();
BeanUtils.copyProperties(MembersStatistics, travelGmv);
String oneDay = MembersStatistics.getOneDay();
if (StringUtils.isBlank(oneDay)) {
throw new BaseException();
if (CollectionUtils.isNotEmpty(accountList)) {
DailyMembersOrderStatistics orderStatistics = new DailyMembersOrderStatistics();
ArrayList<OrderAccountDetail> orderAccountDetails = getOrderAccountDetail(accountList);
if (CollectionUtils.isNotEmpty(orderAccountDetails)) {
//获取订单总额
BigDecimal gmv = getOrderAmountTotal(orderAccountDetails);
orderStatistics.setGmv(gmv);
orderStatistics.setBranchCompanyId(OMPANY_ID);
orderStatistics.setOneDay(accountList.get(0).getOneDay());
}
insertSelectiveRe(orderStatistics);
}
Example exa = new Example(DailyMembersOrderStatistics.class);
exa.createCriteria().andEqualTo("oneDay", oneDay);
List<DailyMembersOrderStatistics> statistics = selectByExample(exa);
if (CollectionUtils.isEmpty(statistics)) {
insertSelective(MembersStatistics);
}
return true;
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
......@@ -66,6 +75,37 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
}
}
/**
* 获取押金和
*
* @param orderAccountDetails
* @return
*/
private BigDecimal getOrderAmountTotal(ArrayList<OrderAccountDetail> orderAccountDetails) {
return orderAccountDetails.stream()
.map(OrderAccountDetail::getOrderAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
/**
* 获取所有订单详情数据
*
* @param orderAccountDTOS
* @return
*/
private ArrayList<OrderAccountDetail> getOrderAccountDetail(List<OrderAccountDTO> orderAccountDTOS) {
ArrayList<OrderAccountDetail> arrayList = Lists.newArrayList();
orderAccountDTOS.parallelStream()
.map(OrderAccount::getAccountDetail)
.forEach(detail -> {
if (StringUtils.isNotBlank(detail)) {
arrayList.add(JSONUtil.toBean(detail, OrderAccountDetail.class));
}
});
return arrayList;
}
@Override
public int insertSelectiveRe(DailyMembersOrderStatistics entity) {
Date date = new Date();
......
......@@ -27,9 +27,9 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Scheduled(cron = "0 0 2 * * ?")
public boolean statisticalOrder(){
boolean vehicleFlag = vehicleStatisticsBiz.StatisticsOfCarRentalOrders();
boolean travelFlag = travelStatisticsBiz.StatisticsOfTravelOrders();
boolean membersFlag= membersStatisticsBiz.memberOrderStatistics();
boolean vehicleFlag = vehicleStatisticsBiz.saveDailyVehicleOrderRecord();
boolean travelFlag = travelStatisticsBiz.saveDailyTravelOrderRecord();
boolean membersFlag= membersStatisticsBiz.saveDailyMembersOrderRecord();
if (vehicleFlag&&travelFlag&&membersFlag){
log.info("----statisticalOrder:成功-----");
return true;
......
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.OrderStatistics;
import com.xxfc.platform.order.mapper.OrderStatisticsMapper;
import com.xxfc.platform.order.pojo.HomePageOrderData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -26,37 +28,48 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
@Autowired
private DailyMembersOrderStatisticsBiz membersBiz;
public OrderStatistics getTotalOrder(Integer companyId) {
OrderStatistics result = new OrderStatistics();
ArrayList<OrderStatistics> orderStatistics = new ArrayList<>();
public HomePageOrderData getTotalOrder(Integer companyId) {
HomePageOrderData result = new HomePageOrderData();
ArrayList<HomePageOrderData> orderStatistics = new ArrayList<>();
OrderStatistics vehicle = vehicleBiz.findAll(companyId);
if (vehicle != null) {
orderStatistics.add(vehicle);
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv()));
setAdditionalIndemnity(vehicle.getTotalCompensation()
.add(vehicle.getTotalForfeit())
.add(vehicle.getTotalDefaultMoney())
.add(vehicle.getTotalExpenditure().subtract(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv())))
);
}};
orderStatistics.add(data);
}
OrderStatistics tour = TravelBiz.findAll(companyId);
if (vehicle != null) {
orderStatistics.add(tour);
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(tour.getTotalGmv().subtract(tour.getTotalReturnGmv()));
setAdditionalIndemnity(tour.getTotalDefaultMoney());
}};
orderStatistics.add(data);
}
OrderStatistics member = membersBiz.findAll(companyId);
if (vehicle != null) {
orderStatistics.add(member);
}
HomePageOrderData data = new HomePageOrderData() {{
setTotalOrders(member.getTotalGmv());
result.setTotalGmv(orderStatistics.stream().map(OrderStatistics::getTotalGmv).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
}};
orderStatistics.add(data);
}
result.setTotalForfeit(orderStatistics.stream().map(OrderStatistics::getTotalForfeit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalCompensation(orderStatistics.stream().map(OrderStatistics::getTotalCompensation).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalRefundSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalRefundSecurityDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalSecurityDeposit(orderStatistics.stream().map(OrderStatistics::getTotalSecurityDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalOrders(orderStatistics.stream().map(HomePageOrderData::getTotalOrders).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalPenalSum(orderStatistics.stream().map(OrderStatistics::getTotalPenalSum).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalOutstandingDeposit(orderStatistics.stream().map(HomePageOrderData::getTotalOutstandingDeposit).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setTotalPostpone(orderStatistics.stream().map(OrderStatistics::getTotalPostpone).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
result.setAdditionalIndemnity(orderStatistics.stream().map(HomePageOrderData::getAdditionalIndemnity).filter(o-> Objects.nonNull(o)).reduce(BigDecimal.ZERO, BigDecimal::add));
return result;
}
......
......@@ -5,11 +5,18 @@ import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.google.common.collect.Maps;
import com.xxfc.platform.order.contant.enumerate.OrderCostEnum;
import com.xxfc.platform.order.entity.OrderTemplate;
import com.xxfc.platform.order.mapper.OrderTemplateMapper;
import com.xxfc.platform.order.pojo.price.CancelNoStartVO;
import com.xxfc.platform.order.pojo.price.CancelStartedVO;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -57,4 +64,75 @@ public class OrderTemplateBiz extends BaseBiz<OrderTemplateMapper,OrderTemplate>
return template.render(map);
}
public OrderTemplate selectByCode(String code) {
return selectOne(new OrderTemplate(){{
setCode(code);
}});
}
public <T extends CostDetailExtend> void handleCostDetailExtend(T costDetailExtend) {
OrderTemplate template = new OrderTemplate();
switch (costDetailExtend.getType()) {
case CostDetailExtend.CANCEL_NO_START :
template = selectByCode(OrderCostEnum.RENT_VEHICLE.getCode());
template.setTemplate(result(template.getTemplate(), new HashMap(){{
put("paramJson", costDetailExtend.getParamJson());
}}));
break;
case CostDetailExtend.CANCEL_STARTED :
template = selectByCode(OrderCostEnum.RENT_VEHICLE.getCode());
template.setTemplate(result(template.getTemplate(), new HashMap(){{
put("paramJson", costDetailExtend.getParamJson());
put("children", handleChildren(costDetailExtend));
put("consumeAmount", ((CancelStartedVO)costDetailExtend).getConsumeAmount());
}}));
break;
case CostDetailExtend.FINLISH_ADVANCE :
break;
case CostDetailExtend.FINLISH_DELAY :
break;
default:
break;
}
costDetailExtend.setCostDetail(result(template.getTemplate(), Dict.parse(costDetailExtend)));
}
public <T extends CostDetailExtend> String handleChildren(T costDetailExtend) {
StringBuffer childrenStr = new StringBuffer("");
if(costDetailExtend instanceof CancelStartedVO) {
CancelStartedVO cancelStartedVO = (CancelStartedVO)costDetailExtend;
childrenStr.append(",${tem_0401}");
if(cancelStartedVO.getUsedfreeDayNum() > 0 ) {
childrenStr.append(",${tem_0402}");
}
if(cancelStartedVO.getHadConpon()) {
if(cancelStartedVO.getCouponAmount().compareTo(BigDecimal.ZERO) > 0) {
childrenStr.append(",${tem_0901}");
}else {
childrenStr.append(",${tem_0902}");
}
}
if(cancelStartedVO.getViolateAmount().compareTo(BigDecimal.ZERO) > 0) {
childrenStr.append(",${tem_0903}");
}
}
if(childrenStr.length() > 0){
childrenStr.deleteCharAt(0);
}
return childrenStr.toString();
}
public static void main(String[] args) {
String tempStr = "{\"key\":\"费用明细\", \"val\":\"\", \"consumeAmount\":\"${consumeAmount}\",\"children\":[${children}]}";
Map map = Maps.newHashMap();
map.put("consumeAmount", "");
map.put("children", "{\"test\" : \"1111\" }");
//匹配参数 填充参数
TemplateEngine engine = TemplateUtil.createEngine();
Template template = engine.getTemplate(tempStr);
String result = template.render(new Dict(map));
System.out.println(result);
}
}
\ No newline at end of file
......@@ -68,9 +68,12 @@ public class OrderTourVerificationBiz{
if(baseOrder==null){
return ObjectRestResponse.createFailedResult(ResCode.ORDER_IS_NOT_EXIST.getCode(), ResCode.ORDER_IS_NOT_EXIST.getDesc());
}
if(baseOrder.getStatus()!=OrderStatusEnum.ORDER_TOSTART.getCode()){
if(baseOrder.getHasPay()==0){
return ObjectRestResponse.createFailedResult(ResCode.ORDER_IS_NOT_PAY.getCode(), ResCode.ORDER_IS_NOT_PAY.getDesc());
}
if (baseOrder.getStatus()==6){
return ObjectRestResponse.createFailedResult(ResCode.ORDER_HAS_FINISH.getCode(),"二维码不能重复使用");
}
Integer orderId=baseOrder.getId();
Integer version=baseOrder.getVersion();
OrderTourDetail tourDetail=new OrderTourDetail();
......@@ -94,9 +97,7 @@ public class OrderTourVerificationBiz{
// 出发时间 是否已经发车
Date departureDate = tourFeign.selectDepartureDataBySpeId(tourDetail.getSpePriceId());
//Long departureTime = tourFeign.selectDepartureTimeByStartCompanyIdAndRouteId(tourDetail.getStartCompanyId(), tourDetail.getGoodId());
Integer departureStatus = tourFeign.selectDepartureStatusByVerificationId(verificationId);
//LocalTime localDepartureTime = LocalTime.ofSecondOfDay(departureTime);
departureDate.setHours(0);
departureDate.setMinutes(0);
departureDate.setSeconds(0);
......@@ -117,6 +118,7 @@ public class OrderTourVerificationBiz{
}
baseOrder=new BaseOrder();
baseOrder.setId(orderId);
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
......@@ -128,7 +130,7 @@ public class OrderTourVerificationBiz{
tourDetail = tourDetailBiz.updateSelectiveByIdReT(tourDetail);
tourFeign.updateTourGoodPersonNum(verificationId,"verification_person",total_number);
baseOrderBiz.sendOrderMq(null,tourDetail,null, baseOrder, OrderMQDTO.ORDER_FINISH);
return ObjectRestResponse.succ();
return ObjectRestResponse.succ(tourDetail.getVerificationId());
}
//确定上车
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderAccount;
import com.xxfc.platform.order.pojo.account.OrderAccountDTO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* 订单帐目
*
* @author zhoujw
* @email 18178966185@163.com
* @date 2019-09-09 15:51:16
*/
public interface OrderAccountMapper extends Mapper<OrderAccount> {
List<OrderAccountDTO> getOrderAccountByOrderType(@Param("type") Integer type, @Param("day") Integer day);
}
package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.order.biz.OrderAccountBiz;
import com.xxfc.platform.order.entity.OrderAccount;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("orderAccount")
public class OrderAccountController extends BaseController<OrderAccountBiz,OrderAccount> {
}
\ No newline at end of file
This diff is collapsed.
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