Browse Source

优化商品查询列表

master
xyiege 4 years ago
parent
commit
29a7615a48
  1. 77
      src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java
  2. 7
      src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java
  3. 8
      src/main/java/cn/chjyj/szwh/service/GoodsService.java
  4. 24
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java
  5. 18
      src/main/resources/mapper/szwh/GoodsMapper.xml
  6. 12
      src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

77
src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java

@ -9,6 +9,7 @@ import cn.chjyj.szwh.service.GoodsDetailService;
import cn.chjyj.szwh.service.GoodsService;
import cn.chjyj.szwh.service.UserService;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -33,14 +34,80 @@ public class AdminGoodsController extends BaseController {
* @return
*/
@RequestMapping("/list")
public JSONObject list(@RequestParam(name = "page",defaultValue = "1") String page){
public JSONObject list(HttpServletRequest request){
// 查询条件
Map qmap = new HashMap();
//分页
String page = request.getParameter("page");
if(StringUtils.isBlank(page)){
page="1";
}
int ipage=Integer.parseInt(page);
List<Goods> goodsList = goodsService.getGoodsList(ipage);
// convert to json
JSONObject jsonObject= new JSONObject();
// 查询
String limit = request.getParameter("limit");
int ilimit=(StringUtils.isBlank(limit))?10:Integer.valueOf(limit);
int start= ipage>1?(ipage-1)*ilimit:0;
qmap.put("id",start);
// 委托编码
String islicode=request.getParameter("islicode");
if(!StringUtils.isBlank(islicode)){
qmap.put("islicode",islicode);
}
// 商品名称
String gname=request.getParameter("goods_name");
if(!StringUtils.isBlank(gname)){
qmap.put("goods_name",gname);
}
//
String entrust_name =request.getParameter("entrust_name");
if(StringUtils.isNotBlank(entrust_name)){
qmap.put("entrust_name",entrust_name);
}
//
String goods_entrust = request.getParameter("goods_entrust");
if(StringUtils.isNotBlank(goods_entrust)){
qmap.put("goods_entrust",goods_entrust);
}
//
String goods_type= request.getParameter("goods_type");
if(StringUtils.isNotBlank(goods_type)){
qmap.put("goods_type",goods_type);
}
//
String data_type= request.getParameter("data_type");
if (StringUtils.isNotBlank(data_type)) {
qmap.put("data_type",data_type);
}
// 创建时间
// String createtime=request.getParameter("createtime");
// if(StringUtils.isNotBlank("createtime")){
// // 拆分
// String[] aa= createtime.split(",");
// qmap.put("createtime","between "+aa[0]+" and "+aa[1]);
// }
// 委托状态
String entrust_status = request.getParameter("entrust_status");
if(StringUtils.isNotBlank(entrust_status)){
qmap.put("entrust_status",entrust_status);
}
// 交易
String transaction = request.getParameter("transaction");
if(StringUtils.isNotBlank(transaction)){
qmap.put("transaction",transaction);
}
// 查询返回的结果
Map retmap = goodsService.getGoodsByMap(qmap,ilimit);
retmap.put("start",start);
retmap.put("curr_page",page);
retmap.put("per_page",limit);
// 结果
jsonObject.put("code",200);
jsonObject.put("msg","成功");
jsonObject.put("data",goodsList);
jsonObject.put("data",retmap);
return jsonObject;
}

7
src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java

@ -56,4 +56,11 @@ public interface GoodsMapper {
@Param("limit") int limit,
@Param("order") String order,
@Param("orderway") String orderway);
/**
* 根据map对象组装查询条件
* @param gmap
* @return
*/
List<Goods> getGoodsListByMap(@Param("map")Map gmap,@Param("limit") int limit);
}

8
src/main/java/cn/chjyj/szwh/service/GoodsService.java

@ -34,4 +34,12 @@ public interface GoodsService {
* @return
*/
List getMapDataByTyep(int type);
/**
* 按照对象查询指定数量的记录
* @param gmap 查询对象
* @param limit 条目
* @return
*/
Map<String,Object> getGoodsByMap(Map gmap,int limit);
}

24
src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

@ -122,4 +122,28 @@ public class GoodsServiceImpl implements GoodsService {
}
return nglist;
}
/**
* map 对象查询
* @param gmap 查询对象
* @param limit 条目
* @return
*/
@Override
public Map<String,Object> getGoodsByMap(Map gmap, int limit) {
Map retmap =new HashMap();
// 符合条件的记录总数
List<Goods> glist = goodsMapper.getGoodsListByMap(gmap,limit);
retmap.put("data",glist);
// 总的记录
int total = goodsMapper.goodsCount(gmap);
retmap.put("total",total);
// 总的页
int totalpage = (int)Math.ceil(total/limit);
retmap.put("last_page",totalpage);
return retmap;
}
}

18
src/main/resources/mapper/szwh/GoodsMapper.xml

@ -24,6 +24,24 @@
</where>
</select>
<!--根据map组装条件进行查询-->
<select id="getGoodsListByMap" parameterType="java.util.Map" resultType="cn.chjyj.szwh.bean.Goods">
SELECT <include refid="column"/>
FROM <include refid="tbName"/>
<where>
<foreach collection="map" item="v" index="k" separator="and">
<if test="v != null and v != ''">
${k} = #{v}
</if>
<if test="k=='id'">
${k}>#{v}
</if>
</foreach>
</where>
limit #{limit}
</select>
<!--查询记录列表-->
<select id="getGoodsList" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.Goods">
select * from (

12
src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

@ -64,4 +64,16 @@ public class GoodsMapperTest {
}
// System.out.println(glist.size());
}
@Test
public void getGoodsListByMap(){
Map xmap = new HashMap();
xmap.put("islicode","010007-00000000005300000101-6");
xmap.put("id",0);
List<Goods> goodsList= goodsMapper.getGoodsListByMap(xmap,10);
for(Goods g:goodsList){
System.out.println(g.getUsername());
}
}
}
Loading…
Cancel
Save